web-dev-qa-db-ja.com

他のファイル拡張子を特定の言語として扱うようにVS Codeを作成する方法?

それとも、構文ハイライト機能を使用するように現在のファイルの言語を切り替える方法はありますか?

たとえば、*.jsxは実際にはJavaScriptを使用しますが、VS Codeはそれを認識しません。

233
John Deev

Visual Studio Code では、言語ハイライト用の永続的なファイルの関連付けをsettings.jsonファイルに次のように追加できます。

// Place your settings in this file to overwrite the default settings
{
  "some_setting": custom_value,
  ...
  "files.associations": {
        "*.thor": "Ruby",
        "*.jsx": "javascript"
    }
}

あなたが使用することができます Ctrl+Shift+p 次にsettings JSONと入力します。 settings.jsonを開くには、設定:設定を開く(JSON)を選択します。

Files: Associations機能は、Visual Studio Codeバージョン1.0(2016年3月)で最初に導入されました。リリースノートで利用可能な ワイルドカードパターン とドキュメントで 既知の言語文字列 を確認してください。

361
Josien

Ctrl + Shift + P(またはMacの場合はcmd)を押しながら、[言語モードの変更]を選択します。

しかし、VS Codeに特定の拡張子を持つファイルを特定の言語として認識させる方法はまだ見つかりません。

83
John Deev

グローバルな関連付けで私が見つけた最も簡単な方法は、関連付けている種類のファイルを開いてctrl + k m(またはctrl + shift + pで「言語モードの変更」と入力)することです。

最初の選択は "xのファイルの関連付けを設定する"(どんなファイルの種類 - 添付の画像を参照)になります。これを選択すると、ファイルの種類の関連付けが永続的になります。

enter image description here

これは(おそらく?)元の質問/回答以来変わったかもしれませんし、私はいつ知りません)しかしそれは前に与えられた手動の編集ステップより簡単で、明白でないかもしれないIDを曖昧にする必要性を避けます。

34
JoelAZ

例えば:

// .vscode/settings.json in workspace

{
  "files.associations": {
    "*Container.js": "javascriptreact",
    "**/components/*/*.js": "javascriptreact",
    "**/config/routes.js": "javascriptreact"
  }
}
18
B.Ma

これは私のために働きます。

enter image description here

{
"files.associations": {"*.bitesize": "yaml"}
 }
12

私はここで解決策を見つけました: https://code.visualstudio.com/docs/customization/colorizer

VS_CODE_FOLDER/resources/app/extensions/に行き、そこでpackage.jsonを更新してください。

11
tonda13

これにより、例えば、.variables.overridesで終わるファイルは、他のLESSファイルと同じように扱われます。コードの色付けに関して、(自動)フォーマットに関して。好きなように、ユーザー設定またはプロジェクト設定で定義します。

(セマンティックUIはあなたが不思議に思うのに備えてこれらの奇妙な拡張子を使います)

11
Frank Nocke

https://code.visualstudio.com/docs/customization/colorizer#_common-questions の手順に従うと、うまくいきました。

既存のカラーライザーを拡張するには、.vscode/extensionsの下の新しいフォルダーに単純なpackage.jsonを作成し、追加したいカスタマイズを指定するextensionDependencies属性を指定します。以下の例では、拡張子.mmdがマークダウンカラーライザーに追加されています。 extensionDependency名がカスタマイズと一致する必要があるだけでなく、言語IDも拡張するカラーライザーの言語IDと一致する必要があります。

{
    "name": "MyMarkdown",
    "version": "0.0.1",
    "engines": {
        "vscode": "0.10.x"
    },
    "publisher": "none",
    "extensionDependencies": [
        "markdown"
    ],
    "contributes": {
        "languages": [{
            "id": "markdown",
            "aliases": ["mmd"],
            "extensions": [".mmd"]
        }]
    }
}
7
MicMro

こんにちは私はほとんど同じ問題を解決するために別のアプローチを取りました、私の場合私はPHP構文強調表示サポートをDrupal特有のファイル(.moduleや.incなど)に追加する新しい拡張子を作りました: https://github.com/mastazi/VS-code-drupal

コードからわかるように、既存のPHP拡張子を変更するのではなく、新しい拡張子を作成しました。私は、Drupal拡張モジュールのPHP拡張モジュールへの依存を宣言しています。

このようにすることの利点は、PHP拡張子への更新があっても、私のDrupalのカスタムサポートが更新プロセスで失われないことです。

3
mastazi