この文章は引用したものです : https://github.com/ayatokura/JP-VSCode-Docs/blob/master/release-notes/v1_10_ja.md
1.10.2 Update
1.10 で予定されていたメッセージの翻訳を追加するとともに、いくつかの問題を修正した 1.10.2 アップデートをリリースしました。
Downloads: Windows | Mac | Linux 64-bit: .tar.gz .deb .rpm | Linux 32-bit: .tar.gz .deb .rpm
1.10.1 Update
重要な拡張機能に影響を与えるいくつかの新しい問題を発見したため、緊急アップデートを公開しました。
February Release Summary
Visual Studio Code の 2017 年 2 月リリースへようこそ。 このリリースではいくつかの重要な更新があり、ハイライトは次のとおりです:
- Preview: Minimap - Minimap によるソースコードの概要を得ることが可能に
- Preview: Drag and Drop in the editor - エディター上でテキストを周囲にドラッグアンドドロップ可能に
- Copy text with formatting - 完全な構文の強調表示を適用したままコードをコピー可能に
- Auto generate JSDoc -
/ **
と入力することにより関数の JSDoc コメントを生成可能に - File Explorer key bindings - エクスプローラやその他のリスト/ツリー UI 操作のショートカットを作成可能に
- Official Linux repositories - Linux 上で VS Code パッケージの自動更新をサポート
- Improved Exception view - デバッガで例外の詳細を簡単に表示可能に
- Column breakpoints - ソースコードの同一行に複数のブレークポイントを設置可能に
- Links in the Terminal - エディタとコマンドの間のワークフローを合理化する統合ターミナルのリンク出力サポート
- Keybinding support for tasks - 一般的に使用されるタスクにキーボードショートカットを割り当て可能に
- HTML DOM navigation - id とクラス名を利用して DOM 要素にすばやく移動可能に
- Language specific default settings - Go, Make, YAML, Markdown の為の適切なデフォルト設定
VS Code の重要な更新に関連するアップデート情報は、リリースノートの次のセクションに配置されています。その他のアップデートは、次のとおりです:
- Editor - 単語折り返し設定の簡素化、ファイル保存の手動アクション、新しいカーソルスタイルのトリガー
- Workbench - 設定可能なウィンドウタイトル、選択されたテキストまたはファイル全体を統合ターミナルから実行
- Languages - TypeScript 2.2, カラープレビューのデコレータを無効化, Markdown でのより良いリンクナビゲーション.
- Debugging - キーボード操作からのデバッガ起動、新しい変数構文、未保存ファイル上のコードのデバッグ
- Tasks - タスクを別々の端末で実行、新しい ${lineNumber} 変数
- Extension Authoring - プラガブルな SCM プロバイダ、モーダルメッセージダイアログ、言語固有の設定
ヒント: できるだけ早く新しい機能を試してみたいですか? それならば、毎晩アップデートされる Insiders build をご利用ください。常に最新のアップデートが利用可能になり、最新の機能をいち早く試してみることが可能です
エディタ (Editor)
実装のプレビュー: Minimap (Preview: Minimap)
Minimap は、ソースコードの概要を表示する機能です。これは、迅速なナビゲーションとコードの理解に非常に役立つ機能です。 Minimap 機能を有効にするには、"editor.minimap.enabled": true
を設定することで、現在、開いているファイルの Minimap レンダリングがオンになります。
このスクリーンショットは、Surface Book (高 DPI ディスプレイ) における Minimap の表示例となりますが、Minimap は デバイスピクセル比 (devicePixelRatio
- 例えば、レギュラーまたは Retina/高 DPI ディスプレイ)に基づき、文字を 4x2 ピクセルまたは 2x1 ピクセルでキャラクタをレンダリングします。
より概略的な表現を望む場合には、editor.minimap.renderCharacters
に false
を設定することで Minimap を文字ではなくブロックでレンダリングすることが可能です。
下記は、レギュラーディスプレイでの表示例です:
VS Code 1.10 の実装では、文字を高速でインクリメンタルにレンダリングすることに焦点を当てています(新しいフレームをレンダリングする際、直前のフレームからできるだけ多くのピクセルを再利用します)。今後は、選択されたテキスト、検索の一致、Git の diff アノテーションなど、さらに有用な情報を Minimap に追加する予定です。
実装のプレビュー: 選択されたテキストのドラッグアンドドロップ (Preview: Drag and Drop selected text)
マウスで選択したテキストをエディタ内にてドラッグ&ドロップができるようになりました。この機能はデフォルトでは無効になっており、editor.dragAndDrop
をtrue
に設定することで有効できます。
現時点では、選択されたテキストのドラッグアンドドロップは、エディタ間やエディタとさまざまなアプリケーション間ではサポートされていません。
シンタックスハイライトのコピー (Copy with syntax highlighting)
選択されたテキストは、シンタックスハイライトが適用された状態でクリップボードにコピーされるようになりました。これは、コンテンツを別のアプリケーション (たとえば、Outlook など) に貼り付けるときに非常に便利です。アプリケーションへ貼り付けられる内容は、正しいフォーマットと色付けを保持しています。
技術的には、HTML コンテンツの新しいエントリをクリップボードに追加することで実現していますが、貼り付けを行うアプリケーション側でリッチテキストの貼り付けをサポートしていない場合には、今までと同様にテキストのみが貼り付けれられます。
プレーンテキストをクリップボードにコピーすること自体は複雑ではなく簡単ですが、シンタックスハイライトを適用したままテキストをコピーするという処理は、使用しているテーマに基づいたレンダリングコストを払わなければなりません。そのため、この機能が VS Code の動作を著しく遅くしないためにも、65,536 を超える文字が含まれた選択のコピーには、この機能は適用されません。
もし、常に正しい書式と色でコピー&ペーストすることを最優先としたいならば、新しいコマンドである editor.action.clipboardCopyWithSyntaxHighlightingAction
を ctrl/cmd+c にバインドし手動で実行することも可能です。このコマンドを利用する場合は、65,536 を超える文字選択の限界は適用されません。
単語の折り返し設定の再設計 (Word wrap settings redesign)
VS Code 1.9 では、Toggle Word Wrap アクションがユーザー設定にて永続的に設定されるよう変更されました。この変更は、コミュニティ上において様々な感情を伴いました。そのため、VS Code 1.10 では、その変更をロールバックするともに、そのアクションは、現在フォーカスされたエディタにのみ一時的に有効になるように変更しました。
この変更により、エディタの折り返し動作の設定の難しさに関する健全な議論も開始されました。それに伴い実装を見直し、editor.wrappingColumn
(-1、0、>0の場合)を非推奨とし、新たに editor.wordWrap
を使用することにしました。
新しい単語の折り返しオプションは次のとおりです:
editor.wordWrap: "off"
- 行は折り返されませんeditor.wordWrap: "on"
- 行はビューポートの幅で折り返されますeditor.wordWrap: "wordWrapColumn"
- 行はeditor.wordWrapColumn
の値で折り返されますeditor.wordWrap: "bounded"
- 行は最小限のビューポート幅とeditor.wordWrapColumn
の値で折り返されます
また、VS Code のデフォルト設定を editor.wordWrap: "off"
に変更しました。
今回のリリースでは、言語固有のデフォルト設定のサポートを追加しており、例えば、Markdown ファイルのデフォルトは、単語の折り返しを有効にしています。
手動で保存アクションをトリガする (Manually trigger save actions)
ファイルがダーティファイルでなくても、保存時にアクションを実行するような拡張機能が起動された場合でも、⌘S (Windows, Linux Ctrl+S) により手動でエディタを保存できるようになりました。これにより、ファイルが保存されている場合でも、保存時のフォーマットをトリガーすることが可能になりました。
新しいカーソルスタイル (New cursor styles)
PR #14237 により、さらに細かい 3 つのカーソルスタイルを用意しました: 'line-thin'
, 'underline-thin'
と'block-outline'
.
ワークベンチ (Workbench)
設定可能なエクスプローラのキーバインディング (Configurable Explorer key bindings)
多くの要望により、ファイルエクスプローラ
と開いているエディタビュー
(OPEN EDITORS ビュー)が提供する、ほとんどのコマンドをキーバインディングに設定できるようになりました。
VS Code 1.10 以前から既にファイルエクスプローラでは、下記のコマンドを割り当てることが可能でした:
explorer.newFile
- 新しいファイルを作成explorer.newFolder
- 新しいフォルダを作成
ファイルエクスプローラ
と開いているエディタビュー
の両方で動作する新しいコマンド:
explorer.openToSide
- 横に並べて開くcopyFilePath
- ファイルまたはフォルダのパスをコピーrevealFileInOS
- OS のエクスプローラ (Windwos) や Finder (macOS) などでファイルを表示
ファイルエクスプローラでのみ動作する新しいコマンド:
filesExplorer.copy
- ファイルエクスプローラ上からファイルをコピーするfilesExplorer.paste
- ファイルエクスプローラ上からコピーされたファイルを貼り付けるrenameFile
- ファイルエクスプローラ上でファイル/フォルダの名前を変更するmoveFileToTrash
- ファイルエクスプローラ上からファイル/フォルダをゴミ箱に移動するdeleteFile
- ゴミ箱を利用せず、ファイルエクスプローラ上からファイル/フォルダを削除するfilesExplorer.findInFolder
- ファイルエクスプローラ上からフォルダを検索する
これらのコマンドに加え、キーバインディングには when
句で利用できる次のコンテキストが導入されています:
filesExplorerFocus
- キーボードのフォーカス、がファイルエクスプローラ上にある場合openEditorsFocus
- キーボードのフォーカスが、開いているエディタビュー上にある場合explorerViewletFocus
- キーボードフォーカスが、ファイルエクスプローラまたは開いているエディタビューのいずれかにある場合
設定可能なツリー/リスト・キーバインディング (Configurable tree/list key bindings)
キーボード操作を中心とするユーザーにとって、VS Code のツリーとリスト UI 要素の操作をより詳細に設定できるように、新しいコマンドを導入しました(以下を参照)
以下は、すべてのツリーとリストで動作する新しいコマンドリストです:
コマンド | キーボード・ショートカット |
---|---|
list.focusUp | Up Arrow (更に macOS で利用できるショートカット: Ctrl+P) |
list.focusDown | Down Arrow (更に macOS で利用できるショートカット: Ctrl+N) |
list.focusFirst | Home |
list.focusLast | End |
list.focusPageDown | PageDown |
list.focusPageUp | PageUp |
list.collapse | Left Arrow (更に macOS で利用できるショートカット: Cmd+Up Arrow) |
list.expand | Right Arrow |
list.clear | Escape |
list.select | Enter (更に macOS で利用できるショートカット: Cmd+Enter) |
list.toggleExpand | Space |
これらの新しいコマンドを使用して、Ctrl+P と Ctrl+N による、macOS 上でのツリーとリストの上下移動にも他のプラットフォームと同じ一貫した操作方法を提供します。
たとえば、ファイルエクスプローラからファイルを開く操作を Enter になるようにコマンドを変更するには、macOS で次のように設定します。(通常はリネームモードになります):
|
設定可能なウィンドウタイトル (Configurable window title)
開かれているアクティブエディタに基づき、ウィンドウタイトルを変更するために使用できる新しい設定 window.title
を導入しました。
次の変数を使用することでタイトルを作成できます(/Users/Development/myProject/myFolder/myFile.txt
を表示する場合):
${activeEditorLong}
- /Users/Development/myProject/myFolder/myFile.txt${activeEditorMedium}
- myFolder/myFile.txt${activeEditorShort}
- myFile.txt${rootName}
- myProject${rootPath}
- /Users/Development/myProject${appName}
- Visual Studio Code${dirty}
- アクティブエディタが未保存のダーティファイルである場合、ダーティ・インジケータを表示${separator}
- 区切り文字 (“ - “)。上記何れかの変数で囲まれたときにのみ表示される
window.title
は、プラットフォームにより以下のデフォルト値を持っています:
- Windows/Linux:
${dirty}${activeEditorName}${separator}${rootName}${separator}${appName}
- macOS:
${activeEditorName}${separator}${rootName}
注: この
window.title
設定の追加によりwindow.showFullPath
設定はサポートされなくなりました。同様の機能として、${activeEditorLong}
変数を指定することにより、フルパスを表示することができます。
Zen モードの復元 (Restore Zen Mode)
ユーザーからのリクエストにより、Zen モード利用時に終了したウィンドウの状態を次回起動時の Zen モードで復元するかを制御する zenMode.restore
設定を新たに追加しました。
テーマ構成の設定 (Theme configurations in settings)
利用中のカラーテーマとファイルアイコンテーマを定義する新しい設定が追加されました:
|
また、上記のオプションをワークスペース設定に配置することで、ワークスペースごとに異なるテーマを作成できるようになり、このリリースからは設定ファイルに保存されるようになりました。
テーマの変更には、 Preferences メニューの Preferences:Color Theme および Preferences:File Icon Theme コマンドで呼び出されるテーマ選択ダイアログを引き続き使用することができます。
統合ターミナルでのリンク (Links in the terminal)
統合ターミナルに出力されるファイルパスや URL テキストがリンクとして生成されるようになりました。作成されたリンクは、ブラウザまたはエディタで開くことができます。
端末で実行コマンド (Run in terminal commands)
以前のリリースでは、テキストを統合ターミナルに送信する workbench.action.terminal.runSelectedText
コマンドを提供していました。このコマンドは、選択されたテキストであれば選択部分を、そうでない場合はファイル全体を送信します。これにより、選択されたテキストがなければ、現在の行を実行することを期待した場合に、誤ってファイル全体を実行することになるため、いくつかの問題を抱えていました。シェルは、全体としてではなく、チャンク内のテキストを解釈するため、ファイルを実行するということは、一部のシェルでは機能しませんでした。これらのシナリオを改善するために、異なる動作を持つ 2 つのコマンドで新たに置き換えました。
workbench.action.terminal.runSelectedText
: 選択されている部分を統合ターミナルに送信し、そうでない場合はカーソルが置かれている現在の行を送信しますworkbench.action.terminal.runActiveFile
: アクティブなファイルの ファイルパス を統合ターミナルに送信します(ほとんどのシェルではファイルを実行することになります)
メニューにコードキーバインディングを表示する (Display chord key bindings in menus)
以前のリリースでは、キーバインディングが割り当てられていても、メニューエントリにキーボードショートカットが表示されない場合がありました。その理由は、いくつかのキーバインディング(例えば、複数のキーコード)をメニューにキーボードショートカットとして表示することができないためです。(コンテキストメニューを含む)
回避策として、これらのキーバインディングをメニューラベルの一部として表示するようにしました。
検索結果の数 (Search results count)
検索ビューにて、検索されたファイルと一致した総数が表示されるようになりました。
今後の検索速度の向上 (Improving search speed going forward)
より高速にファイル検索を行う方法に取り組んでおり、Silver Searcher と ripgrep という 2 つの選択肢を検討しています。検索のパフォーマンスにおける考察に興味を持って頂けたなら、調査結果を見てください。とても興味深い内容になっています。
言語サポート (Languages)
TypeScript
VS Code には、TypeScript 2.2 が同梱されています。このリリースには、いくつかの新しい言語機能、バグ修正、およびその他の機能強化が含まれています。
TypeScript 2.2では、以下を含むいくつかの新しいクイックフィックスもサポートされています。
- 不足している import を追加
- 不足しているプロパティを追加する
- 変数への this 追加忘れ
- 未使用の宣言を削除する
- インターフェイスまたは抽象クラスを実装する
JSDoc コメントの自動生成 (Auto JSDoc comments)
/**
を入力することで、VS Code は JavaScript と TypeScript 関数用の JSDoc コメントテンプレートを生成します:
HTML
ドキュメントシンボルが、HTML でも使用できるようになり、ID およびクラス名で DOM ノードにすばやく移動することが可能になりました。
kb(workbench.action.gotoSymbol)
を押すことでファイル中のシンボルが現れます。
貢献してくれた Cody Hoover に感謝します。
CSS
CSS, LESS, SCSS のカラープレビューデコレータは、以下の設定に false
をセットすることで無効にできます:
|
Jade
過去 Jade と呼ばれていましたが、現在は、Pug として知られています。VS Code では、言語 ID は jade
のままであり、言語ラベルは変更されていません。.jade
ファイル拡張子の取り扱いはは引き続き提供されます。
Vue
Vue.js で利用されるファイルは、HTML ファイル似た構文で書かれていますが、それとは大きく異なります。そのため、.vue
ファイル拡張子を持つファイルは、デフォルトで HTML 言語モードへ関連付けされないようにしました。引き続き、言語サポートを得るためにも vetur 拡張機能を利用し、 Vue.js 固有のファイル拡張子を使用することをお勧めします。
Go, Make, YAML, Markdown
これらの言語では、言語ごとにデフォルトの言語固有のエディタ設定を新たにサポートしました(詳細はデフォルトの言語固有のエディタ設定を参照してください)。Go, Make, YAML のデフォルトの設定では、これらの言語で定義されている Tab の動作を設定します。Markdown の場合は、デフォルトでは単語の折り返しが有効になり、クイック・サジェストが無効になります。
Markdown のフラグメント識別子によるリンクナビゲーション (Fragment link navigation for Markdown)
フラグメント識別子を含む Markdown ファイルへのリンクをサポートしました。対応するヘッダ部分を表示するようにファイルを開こうとします:
|
これにより、VS Code エディタ内でドキュメントをすばやくナビゲートすることが可能になります。
デバッグ (Debugging)
カラムブレークポイント (Column breakpoints)
リクエストにより、エディタ上のカラムにブレークポイントを設定することが可能になりました。これにより、大量の連鎖した promise や minified されたソースなど、1 行に複数のステートメントを含むコードのデバッグに役立ちます。カラムブレークポイントは、⇧F9 (Windows, Linux Shift+F9) または、デバッグセッション中にコンテキストメニューから設定できます。
注意: デバッグ拡張機能のバックエンドは、ブレークポイントの位置を ‘デバッグ可能な’ 位置に調整します。これにより、デバッグセッションの開始時や、アクティブなセッションでカラムブレークポイントを設定するときなど、ブレークポイントが移動することがあります。
例外発生時のエクスペリエンスを向上 (Improved Exception experience)
デバッグ中に発生する例外の可視性を向上させるために、エディタ上に直接例外を表示する Peek UI を導入しました。
この問題は、例外が発生したことユーザーが気付けない場合がある(特にライブラリコードで)ために発生しました。ピーク UI の導入のもう一つの理由としては、簡単により多くの例外の詳細を表示できるようにするためです。
キーボードを使用したデバッグ設定の選択および実行機能 (Ability to select and start a launch using keyboard)
このリクエストにより、キーボードだけを使用してデバッグ設定を起動するオプション(マウスジェスチャーが不要)が追加されました。
これは、タスクの起動と良く似た動作となり、Command Palette からデバッグセッションを起動することができます。
コマンドパレット へキーワード 'debug '
を入力するか、Debug:Select and Start Debugging コマンドを使用して、launch.json
に設定されたデバッグ設定を選択し起動することが可能です。
新しい変数構文 (New variable syntax)
今回のリリースから、変数名のプレフィックスセパレータとして使用できる文字としてコロン ‘:’ をサポートしました(そして、 ‘.’ は廃止されました)。 この変更により、’env’、’command’、’config’ 変数の新しい(そして推奨される)構文は ${prefix:id}
となります。
この変更により、コマンド変数がより読みやすくなります:
|
保存されていないファイルのデバッグ (Unsaved file debugging)
作成されたばかりで保存されていない単一ファイルに書かれたコードのデバッグが可能になりました。これは、VS Code でコマンドラインから新しいファイルを開き、F5を押してデバッグを開始する場合などに役立ちます。
デバッガタイプに基づく前提条件 (Precondition based on debugger type)
現在のデバッグタイプに基づいて前提条件を設定できるようになりました。キーボードショートカットを定義するときや、新しいコマンドを拡張機能として登録するときに、この前提条件を使うことができます。
type
‘node’でデバッグしている間だけ有効になるショートカットキーの例です:
|
デバッグビューのサイズ (Debug views sizes)
We have fine-tuned the default sizes of Debug views. Also once the size is changed by the user, we preserve it across different VS Code sessions.
デバッグビューのデフォルトサイズを微調整しました。 また、ユーザーがサイズを変更した後は、さまざまな VS Code セッションでそのサイズが保持されます。
Node のデバッグ (Node Debugging)
Node 2 への移行について (Node2 transitioning_
このマイルストーンでは、2 つの Node デバッガ (‘node’と ‘node2’) を一つの Node デバッガとして提供できるよう(デバッグタイプ ‘node’ として)組み合わせることに着手しました。対象の Node.js ランタイムでサポートされているデバッグプロトコルを自動的に検出し、そのプロトコルに基づいて最適なデバッガ実装を選択できることを目的とし、新しいプロトコル ‘inspector’ と(今は時代遅れとなってしまった) v8 デバッガプロトコル ‘legacy’ を呼び出します。
そのため、このリリースからは、デバッグタイプとして ‘node’ を使用することをお勧めします。’node2’ タイプは廃止されました (‘node2’ は引き続き使用できますが、起動設定での使用には廃止予定である警告が表示されます)。
使用するデバッガ実装を制御できるようにするために、次の値を持つ新しい属性 protocol
を導入しました:
auto
: ターゲットとなる Node.js ランタイムが使用するプロトコルを自動的に検出しようとします。リクエストタイプlaunch
の設定で、runtimeExecutable
が指定されていなければ、PATH 上から--version
引数を指定して Node.js を実行し、ランタイムのバージョンを判断します。バージョンが >= 6.9 の場合は、新しい ‘inspector’ プロトコルが使用されます。リクエストタイプ ‘attach’ の設定では、新しいプロトコルに接続しようとします。それが可能であるならば、’inspector’ プロトコルを使用します。これより以前のバージョンの ‘inspector’ プロトコルは問題を抱えていたため、バージョン >= 6.9 では、新しい ‘inspector’ プロトコルに切り替えるだけです。inspector
: Node デバッガにインスペクタ・プロトコル・ベースの実装 (別名 ‘node2’) を強制的に使用させます。これは、Node.jsバージョン >= 6.3 でサポートされていますが、Electron では、未だサポートされていません。legacy
: Node デバッガに ‘legacy’ プロトコルベースの実装を使用させます。これは Node.js バージョン < v8.0 でサポートされています
将来は auto
がデフォルトになる予定ですが、現時点では、新しい Node デバッグ環境への移行は、まだ完了していないため(そしてデフォルトで有効にするには準備不足のため)、引き続き legacy
を使用します。
しかし、より良い実装の為にも、私たちは 'protocol': 'auto'
を使用することを推奨し、問題が発生した場合は、フィードバックを提供してくれることを望みます。
タスクのサポート (Task support)
タスクをキーバインドに割り当てる (Key bindings per task)
任意のタスクにキーボードショートカットを割り当てることが可能になりました。
設定はとても簡単で、次のようなキーバインディングを追加するだけです:
|
この例は、tsc
という名前のタスクを ctrl+h
に割り当てます。
ターミナルランナーに関するその他の変更 (More work on Terminal Runner)
以前のリリースで発表されているように、出力パネルの代わりに統合端末でタスクを実行するように取り組んでいます。今回のリリースでは、より単純なタスク同士を組み合わせ、一つのタスクを作成するためのサポートを追加しました。
たとえば、client と server という名前のフォルダを持つワークスペースがあり、両方にビルドスクリプトが含まれている場合は、別々の端末で両方のビルドスクリプトを開始する 1 つのタスクを作成できるようになりました。
このようなタスクの tasks.json
ファイルは、次のようになります:
|
しかしながら、以下のことに注意してください:
- このサポートは暫定的なものであり、変更される可能性があります。
- ターミナルタスクランナーを利用する場合には、
"version": "2.0.0"
プロパティを使用することで有効にできます
自動化の為の ${lineNumber}
変数 (Facilitating automation with ${lineNumber}
)
${lineNumber}
による自動化の促進
コミュニティ からの要求に応じて、tasks.json
と launch.json
に新しい変数 ${lineNumber}
を追加しました。現在、開いているファイルの選択されている行番号を取得することができます。この新しい変数は、カーソル選択の下での自動化(例えば、テストの実行)を容易にするための手助けとなります。
拡張機能のオーサリング (Extension Authoring)
Contributable SCM providers
VS Code 1.10.0 では、VS Code 用のプラガブルなソース管理機能について進展させ、すべての Git 機能は Git 拡張機能 に移植されました。
すべての VS Code Insiders が、この新しいインターフェースを入手し、3月のマイルストーンを使って調整して行きます。この新しいソース管理機能は SCM: Enable Preview SCM
コマンドで試してみることができます。このコマンドは、従来の Git 機能を SCM プロバイダで実装された実験的な Git 機能に置き換えます (SCM: Disable Preview SCM
を実行することで元に戻すことが可能です)。
モーダルメッセージ (Modal messages)
window.showInformationMessage
や同様の機能を提供する API コールが更新され、モーダルメッセージダイアログが使用できるようになりました。
下記は、modal
パラメータを使った例です:
|
コマンドパレットメニュー項目のコンテキスト固有の表示 (Context specific visibility of Command Palette menu items)
コマンドを package.json
に登録することで、自動的に コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P))に表示されます。コマンドの可視性をより詳細に制御できるように、commandPalette
メニュー項目を追加しました。 これにより、コマンドパレット でコマンドを表示するかどうかを制御する when
条件を定義することができます。
以下のスニペットでは、エディタで何かが選択されている場合にだけ、コマンドパレット 上に ‘Hello World’ コマンドが表示されます:
|
言語固有のエディタ設定 (Language specific editor settings)
言語固有のエディタ設定にて、下記の設定項目のサポートを追加しました:
|
デフォルトの言語固有のエディタ設定: 拡張機能の作成者は、package.json
に新しく導入された、拡張ポイント configurationDefaults
を使用して、デフォルトの言語固有のエディタ設定を提供できるようになりました。
次の例では、 markdown
モードに適用されるデフォルトのエディタ設定を package.json
に定義します:
|
デバッグアダプタプロトコル (Debug Adapter Protocol)
新しいオプションの属性 clientID
が InitializeRequestArguments
に追加されました。この追加により、デバッグアダプタはクライアント(フロントエンド)を識別することができます。ここでクライアント ID のリストを提供しています。
thrown 例外の詳細を得るために、新しい ExceptionInfoRequest
とそれに対応する ExceptionDetails
型を導入しました。
その他 (Miscellaneous)
Linux の公式署名リポジトリ (Official signed repositories for Linux)
Debian ベースのディストリビューションでは、Stable と Insider の両ビルドを署名された apt
リポジトリから提供し、.deb パッケージの自動インストールとプラットフォームの更新メカニズムを使用した自動更新が可能になります。
Red Hat ベースのディストリビューションのために、署名された yum
リポジトリから Stable 版を提供します。 こちらの手順 に従うことで、リポジトリを追加できます。
起動パフォーマンスの監視 (Monitoring startup performance)
VS Code 起動時のパフォーマンスは重要であり、継続的に改善を試みています。時には、起動時のパフォーマンスが低下することがありますが、主に、意図しない影響の変化や依存関係の変化によるものです。これを早期に確認し、パフォーマンスの低下を修正するために、我々が用意した専用マシンにおける起動パフォーマンスの監視を始めました。若干古くて埃の多いラップトップを取り出し、ビルドマシンとしてセットアップしました。 その ‘ビルド結果’ には、VS Code を数回起動し、スタートアップタイミングをテレメトリストアに送信することが含まれています。 また、そのデータを視覚化したダッシュボード(PowerBI)と、数字が何であるかを 1 日に 1 回、私たちに知らせる slack bot (Azure Functions) も作成しました。
注目すべき変更 (Notable Changes)
- 1426: macOS: file events are not reported when using workspace path with different casing
- 12000: Terminals created in the background by the API will not display/retain any output until the terminal panel is initialized
- 15364: Make tabs smaller when workbench.editor.showTabCloseButton: false
- 16820: Hot Exit: Opens the same file twice in two separate windows
- 19625: API doesn’t update settings if there are trailing commas in settings.json.
- 19526: Filter installed extensions.
- 10610: When I hit a breakpoint VS Code opens a new readonly version of the file, breakpoints not shown in gutter.
- 19840: IntelliSense freezes at random instances
- 19993: Search perf regression in 1.9
クローズされたバグ一覧と、1.10 アップデートにてクローズされた機能のリクエスト一覧です。
既知の問題 (Known Issues)
- 重複エラーと警告 - この問題は、Preview SCM 機能が有効になっている場合に発生する可能性があります
拡張機能への貢献 (Contributions to Extensions)
私たちのチームは、いくつかの VS Code 拡張機能の提供とメンテナンスに貢献しています。注目すべき拡張機能は:
また、PHP parser の開発も継続しています。拡張機能の開発者が PHP のためのより優れたツールサポートを提供できるようにデザインされています。この、新たなデザインを検証し、具体的な最初のステップとして PHP コミュニティを支援するために、まずは、PHP language server でこのパーサを採用しました。
Thank You
最後になりましたが、VS Code をより良いものにするために協力してくれた次の方々に多大なる感謝を込めて:
vscode
への貢献::
- Chirag Bhatia (@chirag64)
- Collin Grimm (@collinsnji): Fix #20897 PR #20899
- Dan Silver (@dan-silver): Callback parameter for TestEditorService() is optional PR #20967
- Dustin Campbell (@DustinCampbell): Update to latest C# TextMate grammar PR #20831
- Joshua Wester (@elemeht): Jenkinsfile are groovy too PR #16339
- Fred Bricon (@fbricon): Auto-close javadoc PR #19076
- Gama11 (@Gama11): Some typo fixes PR #19928
- Anton Vildyaev (@hun1ahpu)
- Fix for issue 12040 PR #18279
- Ong Heng Le (@initialshl)
- Kai Wood (@kaiwood)
- katainaka (@katainaka0503): Fix colorization of nested list. PR #19596
- Krzysztof Cieślak (@Krzysztof-Cieslak): Fix #15343 - Add
git commit --amend
PR #17755 - Matheus Cruz Rocha (@matheusrocha89): Terminal encoding problem related to issue #14586 PR #20932
- Marek Lewandowski (@mlewand): Hotkey for Windows shell context menu PR #17710
- Marcel Miranda Ackerman (@reaktivo): Resizes the tab size when dirty file state changes, fixes #15364 PR #19976
- Ryan Fitzgerald (@rf-): Remove dependency on window.event in ListView PR #20966
- Kazuyuki Sato (@satokaz): markdown-it-named-header custom slugify for non-latin characters PR #20628
- Alex (@soncodi): Add syntax highlighting for JS/TS template string interpolation (Monokai built-in theme) PR #17841
- Hugo Duthil (@Swiiip): Add new cursor styles PR #14237
- Tim Jones (@tgjones): HLSL syntax highlighting, use HLSL grammar to highlight Cg blocks in ShaderLab files PR #20129
- Treri Liu (@Treri): git clone nvm with –depth 1, to make clone faster PR #19967
- @typicode: Update ghooks (deprecated) devDependency PR #19434
vscode-eslint
への貢献::
- darkred (@darkred): Move the ‘Release Notes’ from inside ‘eslint/README.md’ to a separate ‘eslint/CHANGELOG.md’ PR #205
language-server-protocol
への貢献::
- Anton Kosyakov (@akosyakov): Remove notion of the next tag of the node implementation PR #171
- bolinfest (@bolinfest): Contributions to
vscode-languageserver-node
: Introduce DocumentUri concept PR #170 - Olivier Thomann (@othomann): Fix typos PR #159
vscode-languageserver-node
への貢献::
- Tobias Bieniek (@Turbo87): Cleanup “installServerIntoExtension” script PR #150
- David Greisen (@dgreisen): MessageBuffer.append: length of string in bytes PR #163
vscode-languageserver-node-example
への貢献:
- Leo (@clinyong): fix typo PR #30
vscode-html-languageservice
への貢献:
- Cody Hoover (@hoovercj): Add findDocumentSymbols PR #7