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"という形でリリースするそうです。
更新内容
.vscode settingsフォルダ
各種設定ファイルなどを、今までは「.settings」というという名前のフォルダに格納していました。
今回のバージョンからは、「.vscode」というフォルダに変更したそうです。
.settingsだと名前が汎用的過ぎて、ほかのIDEの設定フォルダ名との衝突を避けるためだそうです。
(Eclipseとかがそんな感じだったらしい。)
あとフォルダ名を見て、VSCode用のものだと、すぐわかるようにしたかったとのこと。
既存の.settingsが存在するフォルダを開くと、こんな確認ダイアログが表示され、.settingsから.vscodeに自動でリネームされます。
テーマが増えた
Abyss, Monokaiなどなど、色々なテーマが増えました。
テーマの変更は、メニューのFile⇒Preferences⇒Color Themeをクリックするか、コマンドパレットにThemeと入力。
今までは、Light/Dark/High Contrastの3つだけでしたが、いろいろ増えました。
テーマ自体の作成・追加は今後のアップデートで対応するようです。
ちなみに、テーマはTextMateの.tmThemeというフォーマットのものが読み込めるとのこと。
はやくテーマ自体を作れるアップデート来ないかなぁ。
(Mac/Linux版)デバッガのMono依存がなくなった
今まで、Node.js用のデバッガは、C#/Monoで動くように作られていました。
これを、TypeScript/Node.jsでの実装に変更し、Monoがなくてもデバッガが動作するようになったそうです。
Debugging Console
デバッグ用のコンソールが追加されました。
Visual Studioのイミディエイト ウィンドウ的な感じかな。
デバッグ中に、デバッガのタブの「Open Console」ボタンを押すか、コマンドパレットで、「Debug: Open Console」と打つと、デバッグ用のコンソールが表示されます。
変数の値を確認したり式の評価をしたり、と便利に使えます。
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の警告が表示されることが確認できます。
こうやって常にコーディングのチェックが走ってくれると、綺麗なコードを書くように心がけるいいキッカケになりそうですねw
その他
TS1.6の実験的なサポート
これはまだ実験的な機能なので、使う場合は自己責任で。
settings.jsonに「typescript.tsdk」というプロパティを追加していろいろやると、VSCodeが使うTypeScriptのモジュールを指定できるみたい。
どっかに自分でTS1.6をインストールして、その場所をこのプロパティで設定すればいいのかな。
この辺はまだ使ってないのでよくわかんない。。またそのうち使ってみようかな。
OmniSharp
OmniSharpを1.1.1にアップデートしたそうです。
GitでのUndo Last Commit
ワーキングディレクトリの変更をそのままにして、直前のコミットを取り消す操作を追加したとのこと。
TasksにechoCommandプロパティ追加
tasks.jsonで定義するタスクに「"echoCommand": true」という設定を追加すると、タスク実行時のコンソール出力をOutputウィンドウに出力するようになります。
タスク定義をいろいろ編集するときに便利そうです。