VSCode 1.7.1がリリースされました。
http://code.visualstudio.com/updates/v1_7
1.7ではpackage.jsonを見て、依存するライブラリの型定義ファイルを、npmの@typesスコープから自動でダウンロードする機能を導入していたそうです。
しかし、この機能がnpmに大量のトラフィックを送って大きな負荷をかけてしまうという問題があったようで、この機能を無効にして速攻で1.7.1としてリリースし直したようです。
この辺の詳細は、以下のブログで事細かな経緯が書かれていました。
http://code.visualstudio.com/blogs/2016/11/3/rollback
エディタ
縦方向に並べた表示
今まで、エディタは垂直にしか分割できませんでした。
今回のバージョンからは、水平方向に分割し、縦にエディタを並べられるようになりました。
Shift+Alt+1
というショートカットか、Toggle Editor Group Vertical/Horizontal Layout
というコマンド、またはGUI上の以下のボタンから、表示の切り替えができます。
settings.jsonへ移動した設定項目
以下のような項目が、setting.jsonで設定できるようになりました。
- workbench.sideBar.location
- サイドバーをウィンドウの左右どちらに配置するか。
- workbench.statusBar.visible
- ステータスバーを表示するか否か
Quick Openから、連続して複数ファイルを開く
Ctrl+P
のショートカットで開かれる、QuickOpenの以下のUIですが、
ここで、カーソルの「→」キーを押すと、QuickOpenのUIを閉じずに、複数のファイルを連続して開くことができるようになりました。
ドキュメントのフォーマットについて
選択範囲のテキストだけをフォーマットできるようになりました。
そういえば、今まではファイル全体のフォーマットしかできませんでしたね。
それぞれ以下のショートカットで実行できます。
- Shift+Alt+F
- ファイル全体のフォーマット
- Ctrl+K Ctrl+F
- 選択範囲のフォーマット
拡張機能
拡張機能の無効化
こんな風に、インストール済みの拡張機能を無効にできるようになりました。
ワークスペース単位、アプリ全体のどちらかのレベルで有効/無効の切り替えができます。
Extension Packs
複数の拡張機能がセットになったExtension Packsというものができました。
カテゴリの追加
拡張機能のカテゴリに、Keymasp、Formattersというカテゴリが追加されました。
Keymaps Extensions - Visual Studio Marketplace
Formatters Extensions - Visual Studio Marketplace
デバッガ
launch.jsonの簡略化
F5キーを押したときなどに、自動で生成されるlaunch.jsonの内容がシンプルになりました。
デフォルトでは、以下のような内容のファイルが作られます。
{// Use IntelliSense to learn about possible Node.js debug attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0", "configurations": [{"type": "node", "request": "launch", "name": "プログラムの起動", "program": "${workspaceRoot}\\index.js", "cwd": "${workspaceRoot}"}, {"type": "node", "request": "attach", "name": "プロセスに添付", "port": 5858 }]}
また、頻繁に書き換えたりしないような項目は、以下のようにグレー表示されるようになりました。
重要な箇所に目が行きやすくなってイイですね!!
ブレークポイントのヒットカウント対応
条件付きブレークポイントで、ヒットカウントの条件指定ができるようになったとのこと。
以下のような、ヒットカウント設定用のUIが追加されました。
しかし、この機能、自分の環境ではうまく動きませんでした。。。
ヒットカウントの条件で指定した回数だけ実行しても、ブレークしません。
コンボボックスをヒットカウントにしたときに、条件入力エリアの説明文などが切り替わっていないので、おそらく「式」と「ヒットカウント」の条件の切り替えが正しくできていないっぽい・・・
マルチターゲット デバッグ
これはメッチャ助かる!!
launch.jsonで定義しているデバッグ設定を、複数同時にデバッガで開始できるようになりました。
Node.jsで作ったサーバー側のコードと、ブラウザ側のスクリプトを同時にデバッグするなどの用途で活用できそうです。
こんな風に、"type": "composite"
というタイプのデバッガの設定を追加し、configurationNamesに同時にデバッグしたい項目のnameの値を列挙します。
launch.json
{// Use IntelliSense to learn about possible Node.js debug attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0", "configurations": [{"type": "node", "request": "launch", "name": "プログラムの起動", "program": "${workspaceRoot}/bin/www", "cwd": "${workspaceRoot}", "sourceMaps": true}, {"name": "Launch localhost with sourcemaps", "type": "chrome", "request": "launch", "url": "http://localhost:3000/", "webRoot": "${workspaceRoot}/public", "sourceMaps": true}, {"type": "composite", "request": "launch", "name": "Launch Both", "cwd": "${workspaceRoot}", "configurationNames": ["プログラムの起動", "Launch localhost with sourcemaps"]}]}
この例では、Node.jsで作ったサーバー側と、Debugger for Chrome拡張機能を用いてChromeで開いたブラウザ側スクリプトを、VSCodeから同時にデバッグできるようにしています。
その他
- キーボードショートカットのチートシート
- ショートカット一覧のpdfができました。
- http://code.visualstudio.com/updates#_keyboard-shortcuts-reference
- CSS
- HTML中のStyleタグ内でcssを書いている場合にも、インテリセンスのコード補間が出るようになりました。