# Visual Studio Code配置 Copyright (C) 2022, HITCRT_VISION, all rights reserved. Author:BG2EDG(928330305@qq.com) Time:2022-06-28 ## 简介 Visual Studio Code(以下简称vscode)是MicroSoft出品的一款开源编辑器,具有易上手、体量轻、生态强大等特点。鉴于vscode的众多优点,在竞培营阶段要求大家使用vscode进行编辑,同时也是为了统一规范格式。如果有十分喜爱CLion的同学,需要自行确保IDE配置与规范文档要求一致,且在使用过程中自行解决CLion相关的使用问题。对于vscode的使用,第一周要做到了解页面上常用功能在哪个位置,并把插件和设置改好,熟练度可以在使用过程中提升。 ## 页面分区 vscode中有很多不起眼的小标志都可以点击,下图用框出来了几处可以点按或包含信息的位置。  ## 插件安装 作为一个编辑器,vscode功能终究是有限的,无法像CLion等IDE一样可以开箱即用,需要通过各种插件来实现编辑器以外的功能。使用```Ctrl+Shift+X```打开插件栏,在其中搜索以下几个插件并点击install安装。 ### 必装 **C/C++ Extension Pack**:6个重要的C++开发插件  **Code Runner**:可以实现一键运行代码,初步学习/复习C++语法的前三周会用这个,直到讲完CMake。  **cmake-format**:CMakeList自动格式化,风格统一,防止误修改  **Markdown All in One**:Markdown编辑,语法高亮,预览  **Markdonwlint**:Markdown语法纠正  **Todo Tree**:将代码中的TODO高亮显示,提示未完成的部分  **Path Autocomplete**:文件路径自动补全  **Include Autocomplete**:头文件路径/名称自动补全  **Git History Diff**:查看代码的git历史信息,光标放在代码上就能显示出  ### 选装 **C++ Helper**:自动生成函数实现对应的代码块  **Cpp Reference**:查看www.cppreference.com上的函数说明  **Git History**:查看git历史,指令需要自行配置快捷键  ## settings vscode虽然只是一个编辑器,但是其丰富的插件可以将其打造为一个IDE。而这些插件实际功能的配置,往往是通过修改settings来定制的。settings有三个,分别是默认设置、用户全局设置和当前工作空间设置。默认设置对应defaultSettings.json,是插件的默认设置,不建议对此进行修改,以防错误修改后无法回退。用户全局设置对应settings.json,这个文件中的设置会用于全局,并将默认设置覆盖掉。当前空间设置只决定当前工作空间(workspace)下的设置,设置内其settings.json在打开vscode目录下的.vscode文件夹里。配置settings有两种方式,一种是点击左上角File->Preferences->Settings,然后在搜索框中找要修改的内容修改,此处的修改会添加到用户全局设置settings.json文件中。另一种是直接修改settings.json中对应项目的内容。user的settings通过```Ctrl+Shift+P```,输入```settings.json```打开。为了保持一致,通常不在workspace中单独加settings,只对user的进行修改。修改时要注意json文件的格式,如果报错可能是少逗号(comma)、引号或大括号不对称 造成。 ### 自动格 File->Preferences->Settings->搜索"clang-format",出现如下搜索结果  在图中第一个和第三个结果处粘贴如下内容 ```json { "BasedOnStyle": "Google", "IndentWidth": 4, "TabWidth": 4, "ColumnLimit": 110} ``` clang-format是一个自动格式化代码的工具,能按指定规范要求自动调节空格、换行、大括号位置等。上述设置中的```ColumnLimit```项确定了一行的最大长度,可根据自己的屏幕分辨率和字号大小调整(我的屏幕比较小,字号大,110个字符一行比较合理,如果设置成0则一行长度无限制),其他设置不要变动。 打开settings.json,将如下内容粘贴到最后一项后 ```json "[markdown]": { // "editor.defaultFormatter": "yzhang.markdown-all-in-one" "editor.defaultFormatter": "DavidAnson.vscode-markdownlint" }, ``` 上述内容配置了Markdown的自动格式化插件,此处使用的是markdownlint的,也可使用markdown-all-in-one的. 最后搜索```format on save```,勾选该项  设置完成后打开任意C++或Markdown文件,使用快捷键```Ctrl+Shift+I```完成自动格式调整。 ### Doxygen风格注释 将下面几行粘贴到settings.json中,如果原来有就把原来的删掉. ```json // Doxygen documentation generator set "doxdocgen.file.copyrightTag": [ "@copyright Copyright (C) {year}, HITCRT_VISION, all rights reserved." ], "doxdocgen.file.customTag": [ "@par 修改日志:", "
| Date | Author | Description", " |
|---|---|---|
| {date} | {author} | ", " |