📝
[VSCode]txt の色付けを C# と同じにしたい

非常にニッチな要件ですが、業務で必要だったので作成してみました。お手製拡張機能です。
拡張機能のフォルダ
作業前に実行中の VSCode を閉じておいてください。
C:\Users\[ユーザー名]\.vscode\extensions がデフォルトの保管場所です。
(Mac であれば ~/.vscode/extensions/)
事前確認
ms-dotnettools.csharp-X.XXX.XX-win32-x64/ フォルダがあること。
(拡張機能 C# がインストールされていること)
csharp-txt-highlight-0.0.1 を作成
以下の構成でファイルを配置してください。json の中身は下記をコピペ。
extensions/csharp-txt-highlight-0.0.1
├ language-configuration.json
├ package.json
└ syntaxes/
└ csharp-txt.tmLanguage.json
language-configuration.json
{
"comments": {
"lineComment": "//",
"blockComment": ["/*", "*/"]
},
"brackets": [
["{", "}"],
["[", "]"],
["(", ")"]
],
"autoClosingPairs": [
{ "open": "{", "close": "}" },
{ "open": "[", "close": "]" },
{ "open": "(", "close": ")" },
{ "open": "\"", "close": "\"", "notIn": ["string"] },
{ "open": "'", "close": "'", "notIn": ["string", "comment"] }
],
"surroundingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""],
["'", "'"]
]
}
package.json
{
"name": "csharp-txt-highlight",
"displayName": "C# style highlight for .txt (no diagnostics)",
"description": "C# 風のシンタックスハイライトだけを .txt に適用し、C# のエラーチェックは行わないための簡易言語拡張。",
"publisher": "local-user",
"version": "0.0.1",
"engines": {
"vscode": "^1.80.0"
},
"categories": [
"Programming Languages"
],
"contributes": {
"languages": [
{
"id": "csharp-txt",
"aliases": ["C# Text", "csharp-txt"],
"extensions": [
".cs.txt"
],
"configuration": "./language-configuration.json"
}
],
"grammars": [
{
"language": "csharp-txt",
"scopeName": "source.csharp-txt",
"path": "./syntaxes/csharp-txt.tmLanguage.json"
}
]
}
}
csharp-txt.tmLanguage.json
{
"scopeName": "source.csharp-txt",
"patterns": [
{
"include": "source.cs"
}
]
}
VSCode 再起動
再起動し、拡張機能を確認すると次のような拡張機能がインストールされています。

settings.json
最後に、settings.json にて拡張子 txt と拡張機能をリンクさせます。
"files.associations": {
"*.txt": "csharp-txt"
},
Discussion