しばたテックブログ

気分で書いている技術ブログです。

Visual Studio Codeで新規作成したファイルの言語モードを設定する方法

なんとなく試したら上手くいってしまったので。
現在のバージョン(Ver.1.9)では上手くいきましたが、今後新しいバージョンではできなくなるかもしれません...

【2017/04/06追記】Ver.1.11以降の方法

本日更新されたVer.1.11でsettings.jsonに新たにfiles.defaultLanguageというパラメーターが追加されデフォルトの言語を設定できる様になりました。

例えばデフォルトをPowerShellにしたい場合は、

// settings.json
{
    // ※すべて小文字で powershell とすること
    "files.defaultLanguage": "powershell"
}

とすればファイルを新規作成した時点の言語モードがPowerShellになってくれます。
わかりやすい設定が増えてくれて嬉しい限りです。

以降の内容についてはVer.1.11以前のやり方ということで残しておきます。

動機

私はVisual Studio CodeをほぼPowerShellを書くのに使っているため、ファイルを新規作成した時点で言語モードがPowerShellになってくれていると便利なんだけどだなぁというのが動機です。

公式な手順

公式に新規作成したファイルの言語モードを設定する方法はない様で(あれば教えてください)、最初は必ずプレーンテキストになっています。

f:id:stknohg:20170203181741p:plain

この状態から、

  • 右下の言語モードの表示欄をクリック
  • Ctrl + K → M

のどちらかの手順で言語モードを変更する必要があります。

f:id:stknohg:20170203181801p:plain


f:id:stknohg:20170203181807p:plain

新規作成したファイルの言語モードを設定する

都度言語モードを変更するのは面倒だったので、ダメ元でユーザー設定(settings.json)に以下の設定を入れてみたところ、新規作成したファイルの言語モードをPowerShellにすることができてしまいました。

// settings.json
"files.associations": {
    "Untitled-*": "powershell"
}

本来files.associationsは拡張子に応じた言語モードを設定する場所なのですが、ファイル名自体も判定の対象になっている様でUntitled-*の様な設定も許されます。
新規作成した時点のファイル名はUntitled-1,Untitled-2,Untitled-3...といった名称なので、これに合わせた設定にすることで言語モードを変えることができました。

このおかげでファイルを新規作成した時点で直ちにPowerShell拡張の機能(インテリセンスなど)を利用できる様になり、非常に便利になりました。

f:id:stknohg:20170203182229p:plain