SourceChord

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

Visual Studio Code 0.8.0が出ました

VSCode v0.8.0が出ました。
例のごとく、更新内容を一通りメモしときます。

https://code.visualstudio.com/updates
http://blogs.msdn.com/b/vscode/archive/2015/09/10/visual-studio-code-september-update-0-8-0.aspx

まず最初に

バージョン番号のつけ方について

今までは、v1.0.0, v3.0.0などの奇数バージョンが正式リリース版。 v2.0.0, v4.0.0などの偶数バージョンをInsider向けリリースという扱いでした。(v0.12.7までのNode.jsみたいなバージョニングのスタイルですね)
これからは、プレビューのバージョンは"0.8.0-preview"というような形で表記し、最終的なリリース時には"0.8.0"という形でリリースするそうです。

Win用のインストーラ

Win用のインストーラInno Setupを使って作り直したそうです。
※このため、今回のアップデートでは、以前のバージョン⇒0.7.20⇒0.8.0という風に、2段階でアップデートがかかります。

更新内容

.vscode settingsフォルダ

各種設定ファイルなどを、今までは「.settings」というという名前のフォルダに格納していました。
今回のバージョンからは、「.vscode」というフォルダに変更したそうです。
.settingsだと名前が汎用的過ぎて、ほかのIDEの設定フォルダ名との衝突を避けるためだそうです。
(Eclipseとかがそんな感じだったらしい。)
あとフォルダ名を見て、VSCode用のものだと、すぐわかるようにしたかったとのこと。

既存の.settingsが存在するフォルダを開くと、こんな確認ダイアログが表示され、.settingsから.vscodeに自動でリネームされます。
f:id:minami_SC:20150912232443p:plain


テーマが増えた

Abyss, Monokaiなどなど、色々なテーマが増えました。
テーマの変更は、メニューのFile⇒Preferences⇒Color Themeをクリックするか、コマンドパレットにThemeと入力。
今までは、Light/Dark/High Contrastの3つだけでしたが、いろいろ増えました。
f:id:minami_SC:20150912232453p:plain

テーマ自体の作成・追加は今後のアップデートで対応するようです。
ちなみに、テーマはTextMateの.tmThemeというフォーマットのものが読み込めるとのこと。
はやくテーマ自体を作れるアップデート来ないかなぁ。

(Mac/Linux版)デバッガのMono依存がなくなった

今まで、Node.js用のデバッガは、C#/Monoで動くように作られていました。
これを、TypeScript/Node.jsでの実装に変更し、Monoがなくてもデバッガが動作するようになったそうです。


Debugging Console

デバッグ用のコンソールが追加されました。
Visual Studioのイミディエイト ウィンドウ的な感じかな。
デバッグ中に、デバッガのタブの「Open Console」ボタンを押すか、コマンドパレットで、「Debug: Open Console」と打つと、デバッグ用のコンソールが表示されます。
変数の値を確認したり式の評価をしたり、と便利に使えます。
f:id:minami_SC:20150912232511p:plain
f:id:minami_SC:20150912232521p:plain

ESHint, JSHintとの連携

ESLintやJSHintでの警告を、リアルタイムにエディタ上で繁栄してくれるようになりました。
ESLintが使える状態にして、settings.jsonに以下のような設定を追加すると、エディタ上でのチェックが走るようになります。

settings.json
{
	"eslint.enable": true,
	// VSCodeのデフォルトのJavaScriptコードチェックを外すときはこのプロパティをfalseにする。
	"javascript.validate.enable": false
}

まずは、↓のコマンドでESLintをインストールします。

npm install eslint --save-dev

次にESLintの設定として、.eslintrcというファイルを作ります。
ここでは、シンプルに以下のような設定をいれました。

.eslintrc
{
  "env": {
    "node": true
  },
  "rules": {
    "no-multi-spaces": 1,
    "strict" : 1
    }
}

ここまでやってIDEを見てみると、以下のようにESLintの警告が表示されることが確認できます。
f:id:minami_SC:20150912232530p:plain
こうやって常にコーディングのチェックが走ってくれると、綺麗なコードを書くように心がけるいいキッカケになりそうですねw


その他

TS1.6の実験的なサポート

これはまだ実験的な機能なので、使う場合は自己責任で。
settings.jsonに「typescript.tsdk」というプロパティを追加していろいろやると、VSCodeが使うTypeScriptのモジュールを指定できるみたい。
どっかに自分でTS1.6をインストールして、その場所をこのプロパティで設定すればいいのかな。
この辺はまだ使ってないのでよくわかんない。。またそのうち使ってみようかな。

OmniSharp

OmniSharpを1.1.1にアップデートしたそうです。

TSX/JSXのサポート

TSX/JSXのへの対応などがあるみたい。
この辺は使ったことないので省略。

GitでのUndo Last Commit

ワーキングディレクトリの変更をそのままにして、直前のコミットを取り消す操作を追加したとのこと。

TasksにechoCommandプロパティ追加

tasks.jsonで定義するタスクに「"echoCommand": true」という設定を追加すると、タスク実行時のコンソール出力をOutputウィンドウに出力するようになります。
タスク定義をいろいろ編集するときに便利そうです。