vscode设置

原创
04/29 16:54
阅读数 76

vscode设置

vscode可以通过各种设置项来很容易的进行设置,编辑器、界面、功能行为等等都可以通过设置修改。

vscode提供了两个设置级别:

  • 用户级别:这个级别的设置是全局生效的
  • 工程级别:这个设置是保存在本工程里,并且只对工程生效

工程设置会覆盖掉用户设置。工程设置只针对本工程,可以在同一个工程的多个开发者之间共享。

小提示:一个vscode的工程只是这个工程的根目录。工程级别的配置还包含debugging和task配置,保存在根目录的.vscode目录里面。一个vscode也可以包含多个文件夹,详细使用方法请看文档

创建用户和工程设置

要打开设置,请点击菜单栏: File(macOS系统是Code) > Preferences > Settings。也可以执行命令 Preferences: Open Settings,也可以使用快捷键 ctrl+,

下面的例子,修改了颜色主题和文件图标主题

修改设置后,vscode会重新载入设置。修改后的设置项会显示条蓝色的细线。点击齿轮可以重置为默认值,或者复制当前的修改项。

设置编辑器

打开设置编辑器后,可以搜索和查找需要的设置项。输入搜索内容后,界面只会显示匹配的设置项。

提示:vscode的插件也有自己的设置项,这些设置项会显示在设置界面的 Extension 里面

编辑设置

每个设置项都可以通过复选框、输入框或下拉选择框来进行修改。

设置组

设置项都是分组的,可以很容易的找到。经常使用的设置项组都在上面,会显示流行的自定义设置。

设置文件的位置

默认情况下,vscode显示的是设置编辑器,但是也可以编辑settings.json文件,使用命令 Open Settings (JSON) 可以打开settings.json文件,或者修改设置项 workbench.settings.editor 使默认打开的就是settings.json文件。

不同的系统,settings.json文件的位置不同:

  • Window: %APPDATA%\Code\User\settings.json
  • macOS: $HOME/Library/Application Support/Code/User/settings.json
  • Linux: $HOME/.config/Code/User/settings.json

工程级别的设置文件在工程根目录的.vscode目录下面

请注意:多目录工程的设置文件在工程配置文件里。

修改编程语言的设置

运行命令 Preferences: Configure Language Specific Settings 可以打开设置来修改指定编程语言的设置 指定打开的文件的类型,可以点击右下角的切换编程语言的按钮,会弹出选择编程语言的选择框,这个框上面有一个选项 Configure 'language_name' language based settings 可以用来修改指定语言的设置。

语言编辑器的设置,用户级别的设置会覆盖工程级别的。

可以像设置其他的设置一样,把编程语言的设置放在工程设置里进行观察。如果编程语言的设置在用户级别和工程级别里面都有,会根据优先级来将设置合并到工程里。

下面的例子自定义了typescript和markdown的编辑器设置

{
  "[typescript]": {
    "editor.formatOnSave": true,
    "editor.formatOnPaste": true
  },
  "[markdown]": {
    "editor.formatOnSave": true,
    "editor.wordWrap": "on",
    "editor.renderWhitespace": "all",
    "editor.acceptSuggestionOnEnter": "off"
  }
}

可以在setting.json里面使用智能提示来帮助你查找允许的语言设置项。支持所有的编辑器设置和一些非编辑器的设置。一些语言已经有了一些默认的设置,可以通过命令 Preferences: Open Default Settings 来打开defaultSettings.json来重写这些配置。

设置的优先级

配置会根据不同的区域进行覆盖:

  • 用户设置:全局设置
  • 工作区设置:覆盖全局设置
  • 工作区里面的文件夹设置:这个说的是多根目录的工作去,会覆盖工作去根目录和用户设置

设置的值可以是以下几种类型:

  • String - "files.autoSave": "afterDelay"
  • Boolean - "editor.minimap.enabled": true
  • Number - "files.autoSave.delay": 1000
  • Array - "editor.rulers": []
  • Object - "search.exclude": { "**/node_modules": true, "**/bower_components": true }

基本类型的值会被数组类型的值覆盖,但是会合并对象类型。如:workbench.colorCustomizations需要一个对象来指定一组界面的颜色。

如果用户级的设置里面,设置了编辑器的背景颜色为蓝色和绿色:

  "workbench.colorCustomizations": {
    "editor.background": "#000088",
    "editor.selectionBackground": "#008800"
  }

而工程级别的设置里设置了前景的颜色为红色

  "workbench.colorCustomizations": {
    "editor.foreground": "#880000",
    "editor.selectionBackground": "#00FF00"
  }

他们则会合并为下面的配置颜色

"workbench.colorCustomizations": {
    "editor.background": "#000088",
    "editor.selectionBackground": "#00FF00",
    "editor.foreground": "#880000"
  }

如果上面有冲突的地方,如上面两个都有editor.selectionBackground,通常情况下,工程的值会覆盖用户的值

设置和安全

一些设置项允许指定一个可执行的命令用来执行指定的操作。比如,可以选择集成的终端来运行shell。为了增强安全,一些命令只能设置到用户级别,不能设置到工程级别。

以下是不能设置在工程级别的命令

  • git.path
  • terminal.external.windowExec
  • terminal.external.osxExec
  • terminal.external.linuxExec

当第一次在工程设置里面设置这些的时候,会进行警告,并且这些设置会失效。

默认设置

可以通过命令 open default settings 来打开默认设置值的界面。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部