VScode「配置自动代码格式化C/C++」

前言

        在实习的过程中,我发现很多资深的开发者都习惯自己敲空格,按照公司的代码规范使用标尺来提示自己什么时候该换行。也许这样做可以增加代码编辑时的灵活性,但对于新入职场(用惯了VS)的小白来说,无疑大大降低了工作效率。本文分享了如何使用VScode配置自动的代码格式化,以及在配置代码格式化的过程中可能会踩的一些坑。

ps:需要用到C/C++扩展,不需要安装任何格式化插件,感兴趣可自行搜索 Prettier。

自动格式化配置

  • 进入VScode左下角设置

  • 找到文本编辑器-格式化,可以根据需要勾选,第一个是cv的时候自动格式化,第二个是保存的时候自动格式化,第三个是输入分号就可以格式化,就像VS那样,我一般习惯全都勾上。Save Mode选file就可以,配合第二个勾就会在保存的时候格式化整个文件。
  • (也已在其他位置修改)是我其他扩展修改的,如果你也有,可以通过将鼠标悬停在该提示上,它会显示是在哪里改的。

  • 如果第二个不勾会出现类似这种,少一个空格。这里VS做的比较好,大括号内换行会格式化一次:

  • 如果懒得保存或者经常忘记保存,建议设置一下自动保存,我习惯设置为onFocusChange,这样我在进入其它文件编辑时这个文件就会自动保存。

  • 编译之前不需要主动保存一下,VScode一般默认是save before run的,没有的话可以检查一下这里是不是always。

格式配置

  • 配置完了自动格式化,现在来配置具体想要什么样的格式。如果只是自己使用,没有公司代码规范限制的话,可以在设置里面搜索“格式化”,在第一条Default Formatter下选择一个格式化程序,有的扩展会提供一些格式化程序,可以自己尝试一下。

  • 如果需要针对性地做调整,这里以C/C++为例,在格式设置下找到Clang_format_fallback Style,选择一个样式作为预定义打个底,作为找不到格式文件时使用的格式。我这里使用了Visual Studio。

  • 往下翻,找到Formatting,这里比较关键,相当于设置一个默认的格式,默认是default,这个是需要一个格式文件的,感兴趣可以去了解怎么编写 clang-format 格式文件,这里设置成vcFormat,就可以直接在UI里操作一些配置项调整格式了。

  • 其它设置都默认就好,然后接着往下翻,或者直接搜索vcformat,有非常多的配置项可以自定义。这里举个例子,默认设置下可能会格式化成左图这样,如果想要代码紧凑一点如右图这样——

  • 可以在vcformat中找到如下配置项,并按图中配置。你可以根据喜好或规范勾选。其它的配置项感兴趣可以自行查看、尝试,基本上是够用了的。

  • 另外如果需要设置一行代码字符的最大长度,可以在设置里搜索“wordWrapColumn”,默认是80个字符。如果默认格式使用clang-format,可以在局部代码前后加注释// clang-format off和// clang-format on临时禁用自动格式化,注意//后的一个空格不能丢。

VScode的魅力在于扩展,没事可以多看看扩展的特性介绍和配置项,也许会有新的收获。

VS和VScode体验对比

        最后再聊聊我自己使用VS和VScode的体验对比吧,VS给我一种很臃肿的感觉,毕竟一个是编辑器一个是IDE,包括下载啊,启动啊,调试啊,所以也没用多久,可能我的感受会有失偏颇,仅作分享,就当也是顺便分享一些VScode的使用技巧吧。 

  • VScode界面更简洁
  • VS打开速度慢,VScode快
  • VS只能写C系列语言,VScode都能写
  • VScode按Ctrl+/就能大段注释,比VS方便
  • VS调试看内存不够直观,VScode的debug显示变量的值更直观
  • VScode文件结构清晰,搜索快,可以全局搜索文件、内容,也可以查看函数调用关系
  • VScode可以按Ctrl+[ ]整段移动,也可以按Alt+shift编辑整列,以及配置自动保存、自动格式化
  • VScode可以集成git的功能,并提供可视化,也可以集成ai辅助编程的功能,还能连接WSL跨(子)系统编程
  • 想了解更多,就去扩展的海洋里遨游吧

事实上,使用VScode的过程中会碰到无数的问题,学习的过程也是在锻炼解决问题的能力。

简洁的往往不自由,自由的往往更强大,而强大往往需要付出代价。

所以,你愿意为追求强大而付出代价吗?


The End

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值