前言
在实习的过程中,我发现很多资深的开发者都习惯自己敲空格,按照公司的代码规范使用标尺来提示自己什么时候该换行。也许这样做可以增加代码编辑时的灵活性,但对于新入职场(用惯了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