如何屏蔽不需要的文件和文件夹,以更好地帮助我们开发。在一个开发的过程中,相关文件在此工程中不需要,在编辑和分析代码时减轻阅读量,且不是删除源文件。为了满足这个要求,我们需要在工程顶层目录中新建.vscode 文件夹,在该文件夹下面新建 settings.json 文件 。
settings.json 文件
有几个 settings.json 文件,事实上有两种类型的 settings.json 文件,一种是用户设置 User Settings ,一种是工作区设置 Workspace Settings。
用户设置会创建一个 settings.json 文件,关联于用户区,即 Windows 的某个用户下,打开任意 VS Code 界面都会用此配置,或者说应用于该用户打开的所有工程。
工作区设置则是使用 VSCode 打开某个文件夹或者工作区,在该文件夹下创建一个名为 .vscode 的隐藏文件夹,文档位置为 根目录 /.vscode/settings.json(可自行决定是否创建),里面的设置仅适用于当前目录下的 VS Code,且工作区设置会覆盖用户设置。
怎么打开他们呢?
其实无外乎就是 vscode 的界面配置,或者直接更改配置文件。
- 通过界面找到 用户设置:使用 Ctrl+, 或者点击左下角齿轮图标并选择设置。然后在用户的文本编辑器中找到 settings.json 。她在我的电脑存在的位置:C:\Users\me\AppData\Roaming\Code\User\settings.json
- 通过界面找到工作区配置:使用 Ctrl+, 或者点击左下角齿轮图标并选择设置。然后在工作区的文本编辑器中找到 settings.json 。她在我的电脑存在的位置:该工作区的根目录下面。
- 另外还有个 defaultsettings.json 是只读的,没有办法修改。因为前者是 VScode 给的配置项,供程序员进行参考,如果有需要修改的,就把对应的配置项写在 settings.json,settings.json 会覆盖 defaultsettings.json。可以理解为 defaultsettings.json 为官方的配置项文档,文档肯定是做参考的,而不是修改,要修改也有地方–settings.json。
当然,也可以通过使用 Ctrl+Shift+P 或者点击左下角齿轮图标,选择命令面板。然后输入 settings.json 来搜索。
怎么配置 setting.json 呢?
打开 vscode,添加文件后,文件列表会出现大量与代码无关的文件,看着很不爽,这时要如何设置? 在工程顶层目录中新建 .vscode 文件夹,在该文件夹下面新建 settings.json 文件 。主要通过两个配置来实现搜索时排除的目录,和在文件列表中隐藏的文件类型,分别是:“search.exclude” 和 “files.exclude”。在该文件中输入代码 (其中 ** 表示在任意目录下的文件夹):
{
"files.associations": {
"os_task.h": "c",
"arch_exception.h": "c",
"arch_task.h": "c",
"os_safety.h": "c",
"arch_interrupt.h": "c"
},
"search.exclude": {
"**/.git" :true,
"**/.gitee" :true,
"demos/" :true,
"docs/" :true,
"projects/" :true,
"templates/[!i]*/" :true,
"components/[!d]*" :true,
"drivers/" :true,
"scripts/" :true,
"user/" :true,
".clang-format*" :true,
".cppcheck-ignore" :true,
".gitignore" :true,
".gitlab-ci.yml" :true,
"**/LICENSE" :true
},
"files.exclude": {
"**/.git" :true,
"**/.gitee" :true,
"demos/" :true,
"docs/" :true,
"projects/" :true,
"templates/[!i]*/" :true,
"components/[!d]*" :true,
"drivers/" :true,
"scripts/" :true,
"user/" :true,
".clang-format*" :true,
".cppcheck-ignore" :true,
".gitignore" :true,
".gitlab-ci.yml" :true,
"**/LICENSE" :true
}
}
使用