Visual Studio CodeでPlane Text(.txt)で自分独自記法のハイライト表示

Sublime Text – Plain Text(.txt)で自分独自記法のハイライト表示 – Qiita

と同じく、僕もメモ帳ベースで自分独自記法のTodoリストを使ってます。

サクラエディタだとこんな感じ。

f:id:teraco:20161015121318p:plain

VSCodeでの独自シンタックスハイライト方法を調べてみました。

マニュアルなど

Visual Studio Code Colorizers

に載っています。簡単にまとめると

  1. tmLanguageファイルの用意
  2. VSCode用にコンバート
  3. VSCodeにインポート

となります。では1.から行きます。

1. tmLanguageファイルの用意

多分これが一番めんどくさいのですが、自分独自記法のtmLanguageファイルを用意します。サクラエディタだと簡単に書けるのに…。

syntax highlighting – How to create a simple custom language colorization to VS Code – Stack Overflow

tmLanguageの作り方の詳細は別でまとめるとして、今回は

Revision – Stack Overflow

に投稿されているソースを元にコンバートします。

※ メモ:tmLanguageファイルの書式

TextMate Manual » Language Grammars

2. VSCode用にコンバート

用意したtmLanguageファイルを使用してコンバートをします。手法は最初のVisual Studio Code Colorizersに載っています。作業の前に”Yeoman and the VS Code Extension generator”というものをインストールしなければいけないです。

The Yo Code Visual Studio Code Extension Generator

さらに、”Yeoman and the VS Code Extension generator”をインストールするために、npmというNode.jsのパッケージ管理システムをインストールしなければいけないようです。

How to Install Node.js® and NPM on Windows – Treehouse Blog

これらの準備が整った後、

yo code

でコンバートを開始します。参考までに画面ショットを載せておきます。

f:id:teraco:20161015121326p:plain

ここでの設定なのですが、tmLanguageファイル中のfileTypesに準拠しないと、コンバートは成功するもののVSCode起動時に正常にパッケージを読み込んでくれずシンタックスハイライトが効かない状態となります。

        <key>fileTypes</key>
<array>
<string>log</string>
</array>

おそらく、生成されるpackage.jsonとsyntaxes配下のファイル紐づけの問題かと思いますが、詳しいことは分かりませんでした。

3. VSCodeにインポート

実行したフォルダ直下に以下のような言語パッケージが生成されるので、

f:id:teraco:20161015121328p:plain

それを

%USERPROFILE%\.vscode\extensions

に配置してVSCodeを再起動します。

結果

f:id:teraco:20161015121539p:plain

ひとまず、シンタックスハイライトが効いていることを確認できました。この状態になれば

%USERPROFILE%\.vscode\extensions

配下のtmLanguageファイルを直接いじって色を変える・ワードを追加するのもOKかと思います。おかしくなったら言語パックをアンインストールして本手順を1から実施します。

サクラエディタ使いがVisual Studio Codeを使い始めた

理由はいろいろありますが使い始めました。

ダンなエディタを触りたい

2000年代前半のテキストエディア全盛時代よりサクラエディタでメモ書き~スクリプト開発してきました。2000年代後半にIDEが流行り始めた時も、開発者ではない・インストールに手間がかかる・重いなどの理由でテキストエディタを使い続けてきました。

そして2016年。Windowsに標準でIDE(Powershell ISE)が装備され、次世代テキストエディタ(sublime text,Atom)が登場し、軽くて無料のIDEが流行り始めた今、さすがにテキストエディタ一択ではいかんでしょということで時代についていく道を選択しました。

選んだもの

Visual Studioが無料ではありましたが、そこまでがっつり開発しない & 全機能を使い倒せる自信がなかったため、テキストエディタベースのものを選択。MSに親和性のある仕事をしているってことで、Visual Studio Codeを使うことにしました。

VSCodeのいい所

軽い

文字を打つのにストレスではない。これが一番大きい。少なくとも触った感触はサクラエディタと同等以上ではないといけなかったので、これは必須条件でした。

マルチプラットフォーム

Windows,Linux,MacOSで同じ操作性。サクラエディタを使ってて一番困ったのは、他のOSで全然動作しない、ということでした。MacOSを使っている時期に、Windowsエミュレーター上でがんばって動かしてたことはあったけど…。無理やり。

ダン

インテリセンス対応、シンタックスハイライト対応、gitへのアップロード対応など。つまりVisual Studio Codeについていけば、自然と最新を追っていける…?

将来性

MSが見てるので、いきなりぽしゃったり明後日の方向に行くことはないかな、と。dropboxEvernoteなどの事例もあり、当初良くても数年後に斜陽になっている製品に乗るのが怖い今日この頃です。

今のところ実施した設定など

公式の方は基本的な文字列操作から書いてあるので覚えるまではここを参照。