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 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-commit および git-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