VS Codeのエージェントモードを拡張するには、を試してください!

言語識別子

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
BibTeX bibtex
Clojure clojure
CoffeeScript coffeescript
C c
C++ cpp
C# csharp
Compose dockercompose
CSS css
CUDA C++ cuda-cpp
D d
Dart dart
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 perl および perl6
PHP php
プレーンテキスト plaintext
PowerShell powershell
Pug jade, pug
Python python
R r
Razor (cshtml) razor
Ruby ruby
Rust rust
SCSS scss (波括弧を使用する構文), sass (インデントされた構文)
ShaderLab shaderlab
シェルスクリプト (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