现已推出!阅读 10 月份的新功能和修复。

语言标识符

在 Visual Studio Code 中,每个 语言模式 都有一个唯一的特定语言标识符。该标识符很少被用户看到,除非是在设置中,例如,将文件扩展名与语言关联时。

    "files.associations": {
        "*.myphp": "php"
    }

请注意,大小写对精确标识符匹配很重要('Markdown' != 'markdown')。

语言标识符对于 VS Code 扩展开发人员来说至关重要,因为他们需要添加新的语言功能或替换语言支持。

每种语言都通过扩展的 package.json 文件中的 languages 配置点定义其 id

    "languages": [{
        "id": "java",
        "extensions": [ ".java", ".jav" ],
        "aliases": [ "Java", "java" ]
    }]

使用语言标识符添加语言支持。

    "grammars": [{
        "language": "groovy",
        "scopeName": "source.groovy",
        "path": "./syntaxes/Groovy.tmLanguage.json"
    }],
    "snippets": [{
        "language": "groovy",
        "path": "./snippets/groovy.json"
    }]
languages.registerCompletionItemProvider('php', new PHPCompletionItemProvider(), '.', '$');

新的标识符指南

定义新语言标识符时,请遵循以下指南。

  • 使用小写的编程语言名称。
  • 在市场中搜索其他扩展,以确定语言标识符是否已被使用。

已知语言标识符

下表列出了已知语言标识符。

语言 标识符
ABAP abap
Windows Bat bat
BibTeX bibtex
Clojure clojure
Coffeescript coffeescript
C c
C++ cpp
C# csharp
Compose dockercompose
CSS css
CUDA C++ cuda-cpp
D d
Delphi pascal
Diff diff
Dockerfile dockerfile
Erlang erlang
F# fsharp
Git git-commitgit-rebase
Go go
Groovy groovy
Handlebars handlebars
Haml haml
Haskell haskell
HTML html
Ini ini
Java java
JavaScript javascript
JavaScript JSX javascriptreact
JSON json
带注释的 JSON jsonc
Julia julia
LaTeX latex
Less less
Lua lua
Makefile makefile
Markdown markdown
Objective-C objective-c
Objective-C++ objective-cpp
OCaml ocaml
Pascal pascal
Perl perlperl6
PHP php
纯文本 plaintext
PowerShell powershell
Pug jadepug
Python python
R r
Razor (cshtml) razor
Ruby ruby
Rust rust
SCSS scss(使用大括号的语法)、sass(缩进语法)
ShaderLab shaderlab
Shell 脚本(Bash) shellscript
Slim slim
SQL sql
Stylus stylus
Svelte svelte
Swift swift
TypeScript typescript
TypeScript JSX typescriptreact
TeX tex
Visual Basic vb
Vue vue
Vue HTML vue-html
XML xml
XSL xsl
YAML yaml