您的位置:

深入了解 VSCode 代码高亮

一、语言支持

VSCode 作为一款开源免费的跨平台集成开发环境,可以添加对多种语言的支持。VSCode 默认就已经支持了许多流行的编程语言,如 JavaScript、TypeScript、HTML、CSS、JSON、Python 等。对于更专业的编程语言或框架,VSCode 也提供了插件的方式进行扩展。通过选择适当的插件,可以为不同的项目添加代码高亮、自动补全、语法分析等功能,提高开发效率。

例如,对于 Vue.js 项目,可以添加 Vetur 插件,该插件提供了更为全面的 Vue.js 语法高亮、自动补全、语法分析、错误提示等功能,方便开发者进行 Vue.js 项目的开发。


// VSCode 中使用插件
"dependencies": {
  "vue": "^2.6.12"
  ...
},
"devDependencies": {
  "@vue/cli-plugin-babel": "~4.5.0",
  "@vue/cli-plugin-eslint": "~4.5.0",
  "@vue/cli-plugin-router": "~4.5.0",
  "@vue/cli-plugin-unit-jest": "~4.5.0",
  "vue-cli-plugin-vuetify": "~2.4.0",
  ...
}

二、主题定制

VSCode 提供了很多漂亮的主题供开发者选择,比如常用的 One Dark、Monokai、Material Theme 等。此外,VSCode 的主题也支持自定义,可以根据自己的喜好进行设置。自定义主题需要先安装 Theme Generator 插件,通过该插件可以生成一份主题定制模板,开发者可以根据模板进行自定义。

在 VSCode 设置中,找到 "workbench.colorCustomizations" 选项,可以进行主题定制。例如,在 One Dark 主题的基础上,修改一些配色方案:


// VSCode 中自定义主题
"workbench.colorCustomizations": {
  "editor.foreground": "#F6F7EB",
  "editor.selectionBackground": "#DD6E66",
  "editor.lineHighlightBackground": "#2D2D2D",
  "editorCursor.foreground": "#F6F7EB",
  "editorWhitespace.foreground": "#2D2D2D",
  "editorIndentGuide.background": "#2D2D2D"
}

三、高亮设置

VSCode 可以通过设置文件关联、语言模式等方式进行代码高亮。代码高亮可以提高代码的可读性和易用性,在任何代码的编辑过程中都非常重要。

在 VSCode 的设置中,找到 "files.associations" 选项,可以设置文件类型关联。例如,对于 TypeScript 文件,我们可以将其关联到 .ts 或 .tsx 后缀名的文件中,这样在编辑这些后缀名的文件时,VSCode 就会自动打开 TypeScript 的语言模式进行代码高亮。


// VSCode 中设置文件关联
"files.associations": {
  "*.ts": "typescript",
  "*.tsx": "typescript"
}

此外,VSCode 还提供了一些开箱即用的高亮设置,例如行高亮、当前字符高亮、括号匹配高亮等。在 VSCode 的设置中,找到 "editor" 选项,可以进行高亮设置。


// VSCode 中高亮设置
"editor.lineHighlight": "all",
"editor.matchBrackets": true,
"editor.suggestSelection": "recentlyUsedByPrefix",
"editor.snippetSuggestions": "top"

四、代码片段

VSCode 的代码片段功能可以大大提高开发效率。代码片段是预定义的代码块,可以通过指定的文本快速插入。对于常见的代码片段,VSCode 已经内置了一些,例如 for 循环的快捷输入方式。

同时,VSCode 也支持自定义代码片段,并可以通过插件共享给其他开发者。代码片段以 JSON 格式保存,通过指定特定的前缀、后缀等方式,在编辑器中快速插入代码块,以提高开发效率。


// VSCode 中自定义代码片段
{
  "HTML skeleton": {
    "prefix": "html",
    "body": [
      "",
      "",
      "  ",
      "    
   ",
      "    $1",
      "  ",
      "  ",
      "    $2",
      "  ",
      "