SourceChord

C#とXAML好きなプログラマの備忘録。最近はWPF系の話題が中心です。

Visual Studio Code 0.9.1の新機能・変更点

VSCode 0.9.1での変更点や新規機能をざっとまとめておきます。

https://code.visualstudio.com/updates

f:id:minami_SC:20151015020347p:plain

拡張機能のインストール先フォルダ

VSCodeの拡張機能のインストール用フォルダが作られました。

  • Windows環境
    • %USERPROFILE%.vscode\extensions
  • Mac/Linux環境
    • $HOME/.vscode/extensions

V0.9.1で追加された追加テーマファイルや、シンタックスハイライトの設定ファイルなどはここに置けばよいみたい。

テーマや言語シンタックスの追加

VSCodeのUIのテーマや、言語のシンタックスハイライトなどを追加できるようになりました。

テーマやシンタックスハイライトを、それぞれtmTheme/tmLanguageという形式で追加できるようになってます。
VSCodeに追加するには、このtmTheme/tmLanguageのファイルを所定の形式のフォルダに格納して、ユーザー直下の「/.vscode/extensions」フォルダに入れてVSCodeを再起動すればOKです。

準備

VSCodeに追加するテーマやシンタックス定義は特定の形式でフォルダに格納しておく必要があります。
これを簡単に作れるように、VSCodeの拡張機能用にyoのジェネレータが用意されてます。

ということで、このジェネレータを使えるように、yoとgenerator-codeをグローバルにインストールしておきます。

npm install -g yo
npm install -g generator-code

ここで、yo codeと打つと、VSCode用のジェネレータが起動します。
f:id:minami_SC:20151015020415p:plain

準備はこれで完了

テーマの追加

試しに適当にテーマを追加してみます。 tmTheme形式のテーマファイルは、以下のサイトでたくさん公開されてます。

ここで、テーマを適当に見繕い、DownloadボタンのリンクからtmThemeファイルを取得します。
f:id:minami_SC:20151015020427p:plain

このURIを前述のジェネレータで指定して、いろいろと項目を入力してくと、、、
f:id:minami_SC:20151015020434p:plain

できました。

出来上がったフォルダ一式を「/.vscode/extensions」にコピーしてVSCodeを再起動します。
するとテーマ一覧に追加されます。

f:id:minami_SC:20151015020441p:plain:w450

言語のシンタックス定義を追加

これもテーマ追加と同じようにできるみたい。
tmLaungageファイルを用意して、generator-codeに読み込ませて、所定の形式のフォルダを作成すればOKです。

Markdownプレビューの改善

プレビュー表示の改善

コードブロック領域が色分けされてわかりやすいようになりました。
ほかにもフォントサイズなど色々とプレビュー時の表示を改善してるようです。
f:id:minami_SC:20151015020920p:plain:w400

プレビュー表示用のコマンド追加

「Markdown: Open Preview to the Side」というコマンドが追加されました。
「Ctrl+K,V」というショートカットでもOK。
エディタを分割しつつ、Markdownのプレビューモードで開いてくれます。
f:id:minami_SC:20151015020927p:plain

その他

他にも以下のような変更点がありました。

  • デバッガ関係
    • デバッガのパフォーマンス改善
    • デバッグコンソールのUIデザインが若干カラフルになって視認性がよくなった、など。
  • settings.jsonの新規設定項目
    • VSCodeを新しく開く際の動作を、settings.jsonの以下二つのプロパティでカスタマイズできるようになりました。
      • window.openInNewWindow・・・関連付けしたテキストファイルをダブルクリックした時や、右クリックメニューなどからVSCodeを起動する際に、新しいウィンドウで開くか、最後にアクティブになってたVSCodeのウィンドウを再利用するかを指定できます。
      • window.reopenFolders・・・・・VSCodeを起動したときに、前回開いてたフォルダを開くかどうかを設定します(one, none, allのいずれかを設定)
  • Pre Launch Task
    • launch.jsonでpreLaunchTaskというプロパティを使ってタスクの実行前の動作を定義できるようになりました
    • たとえば、デバッガ開始前には必ずBuildタスクを走らせる、など。
  • TypeScript 1.6.2のサポート
    • tsconfig.jsonでisWatchingなどの設定ができるようになってます。
  • OmniSharpの更新
    • OmniSharpサーバーの状態が、ウィンドウ右下のステータスバーに表示されるようになったとのこと。
  • Unity関係
    • Unity向けのシェーダー言語ファイルでシンタックスハイライトに対応したようです。