2018年6月 (バージョン 1.25)
更新 1.25.1: この更新ではこれらの問題に対処しています。
ダウンロード: Windows: x64 | Mac: Intel | Linux 64ビット: deb rpm tarball | 32ビット: deb rpm tarball
Visual Studio Code 2018年6月リリースへようこそ。先月プレビューとして発表されたいくつかの機能が安定版に移行したことを大変嬉しく思います。主なハイライトの一部は次のとおりです。
- グリッドエディターレイアウト - カスタムの水平および垂直エディターレイアウト。
- アウトラインビュー - ドキュメントのシンボルツリーのアウトラインとナビゲーション。
- ポータブルモード - USBメモリやファイル共有からVS Codeのセットアップを実行またはコピー。
- ホバー表示オプション - ホバー情報の外観を制御します。
- サブワードナビゲーション - camelCaseの単語内をすばやく移動します。
- フローティングデバッグツールバー - エディタータブを隠さずにデバッグツールバーを常に表示します。
- 拡張機能ビューの改善 - 有効、無効、推奨の拡張機能を簡単に見ることができます。
- プレビュー: 設定エディター - 設定を整理するための「目次」が追加されました。
- Language Server Protocol Inspector - 拡張機能の作成者はLSPプロトコルのトラフィックを視覚化できます。
- 新しいPython Flaskチュートリアル - VS Codeを使用してPython Flask Webアプリケーションを作成およびデバッグします。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
Cloud Developer AdvocateのBrian Clarkによる、この1.25リリースのハイライトビデオもご覧いただけます。
リリースノートは、VS Codeの重点分野に関連する以下のセクションにまとめられています。さらに詳しい更新は以下の通りです。
- ワークベンチ - 空のエクスプローラーへのファイルやフォルダーのドロップ、統一された履歴ナビゲーション。
- エディター - スマートな候補選択、スニペットのプレースホルダ変換。
- 言語 - フォルダー名変更時のJS/TSインポートの更新、CSSの疑似セレクターと疑似要素。
- プレビュー機能 - Windowsでのユーザーセットアップ、WindowsとLinux用のカスタムツールとメニューバー。
- 拡張機能の作成 - グリッドエディターレイアウトへの貢献、補完項目の事前選択。
- 新しいコマンド - 新しいグリッドエディターレイアウトコマンドとキーボードショートカット。
Insiders: 新機能をいち早く見たいですか?夜間ビルドのInsidersをダウンロードして、最新の更新が利用可能になり次第試すことができます。そして、最新のVisual Studio Codeニュース、更新、コンテンツについては、Twitterの@codeをフォローしてください!
ワークベンチ
グリッドエディターレイアウト
エディターを垂直方向と水平方向の両方に配置できるようになり、3つ以上のエディターを並べて表示できるようになりました。
柔軟なレイアウトをサポートするために、空のエディターグループを作成できます。デフォルトでは、エディターグループの最後のエディターを閉じるとグループ自体も閉じられますが、新しい設定 workbench.editor.closeEmptyGroups: false
でこの動作を変更できます。
新しい表示 > エディターのレイアウトメニューには、あらかじめ定義されたエディターレイアウトのセットがあります。
横に開くエディター (例えば、エディターツールバーのエディターの分割アクションをクリックするなど) は、デフォルトでアクティブなエディターの右側に開きます。アクティブなエディターの下にエディターを開きたい場合は、新しい設定 workbench.editor.openSideBySideDirection: down
を構成してください。
キーボードだけでエディターレイアウトを調整するための新しいコマンドがたくさんありますが、マウスを使用したい場合は、ドラッグアンドドロップが任意方向にエディターを分割する速い方法です。
エディターグループは無制限になり、様々な方法で配置できるようになったため、開いているエディタービューではエディターグループを左、中央、右とラベル付けしなくなりました。代わりに、エディターグループは作成時間に応じて番号でラベル付けされるようになりました。最後に作成されたエディターグループは常に開いているエディターリストの最後に表示されます。これにより、レイアウト内でエディターグループを移動させてもリストの変更が最小限に抑えられる良いモデルであることがわかりました。
拡張機能やテーマへの影響については拡張機能の作成セクションを参照し、新しいグリッドエディターレイアウトコマンドのリストについては新しいコマンドを参照してください。
プロのヒント:
Alt
キーを押しながらエディターを分割するツールバーアクションにカーソルを合わせると、別の向きに分割するオプションが表示されます。これは、右または下に素早く分割する方法です。
グリッドレイアウトの作業により、中央揃えエディターレイアウトの動作を変更しました。
- 中央揃えエディターレイアウト内で任意のエディターレイアウトを開くことができるようになりました。これにより、ユーザーにとってより柔軟性が高まります。
- 中央揃えエディターレイアウトは、レイアウトに基づいて自動的に有効/無効にならなくなりました。これは時々混乱を招き、予期しない動作につながることがあったためです。
アウトラインビュー
アウトラインビューはプレビューを終了し、デフォルトで有効になりました。ファイルエクスプローラーの下部に別のセクションとして表示されます。展開すると、現在アクティブなエディターのシンボルツリーが表示されます。
アウトラインビューには、さまざまな並べ替えモード、オプションのカーソル追跡があり、通常のオープンジェスチャをサポートしています。また、入力するとシンボルを検索またはフィルターする入力ボックスも含まれています。エラーと警告もアウトラインビューに表示され、問題の場所が一目でわかります。
アウトラインビューにはいくつかの設定があり、アイコンの有効/無効を切り替えたり、エラーや警告の表示を制御したりできます (すべてデフォルトで有効)。
outline.icons
- アイコン付きでアウトライン要素をレンダリングするかどうかを切り替えます。outline.problems.enabled
- アウトライン要素にエラーと警告を表示します。outline.problems.badges
- エラーと警告にバッジを使用するかどうかを切り替えます。outline.problems.colors
- エラーと警告に色を使用するかどうかを切り替えます。
拡張機能作成者向けの新しいAPIもあります。
ポータブルモード
VS Codeはポータブルモードをサポートするようになりました。これにより、VS Codeによって作成・維持されるすべてのデータがインストールの近くに配置されます。これにより、USBドライブやファイル共有などを介して、環境間でVS Codeのセットアップを簡単に移動できます。ポータブルモードは、WindowsとLinuxのZIPダウンロード、およびmacOSの通常のアプリケーションダウンロードでサポートされています。詳細はこちらをクリックしてください。
空のファイルエクスプローラーにファイルやフォルダーをドロップする
空のエクスプローラーにファイル、フォルダー、VS Codeのワークスペースファイルをドロップして開くことができるようになりました。
履歴ナビゲーション
入力履歴のナビゲーションが、VS Code全体でより自然で一貫性のあるものになりました。UpArrow (history.showPrevious
) と DownArrow (history.showNext
) キーを使用して、検索ビューと問題ビューの入力ボックス、およびエディター、ターミナル、Webビューの検索ウィジェットをナビゲートできます。
単純さと一貫性のため、入力ボックス間のナビゲーションのデフォルトのキーバインディングを、UpArrowとDownArrowから、それぞれCtrl+UpArrow (macOSではCmd+UpArrow)とCtrl+DownArrow (macOSではCmd+DownArrow)に変更しました。いつでも⌘↑ (Windows, Linux Ctrl+Up)、⌘↓ (Windows, Linux Ctrl+Down)、⌘↑ (Windows, Linux Ctrl+Up)のキーバインディングを更新することで、以前の動作に戻すことができます。
注意: 既存の18個の履歴ナビゲーションコマンドをすべて削除し、history.showPrevious
とhistory.showNext
の2つのコマンドに統一しました。
エディター
ホバー表示オプション
一部のユーザーは、エディター内のテキストを覆うホバーの提案がないことを好むため、エディターのホバーは3つの追加設定でカスタマイズできるようになりました。editor.hover.enabled
を使用してエディターのホバーを切り替え、editor.hover.delay
を使用してホバーが表示されるまでの時間をカスタマイズし、editor.hover.sticky
を使用してマウスをその上に移動したときにホバーが表示されたままになるかどうかを変更します。
サブワードのサポート
サブワードナビゲーションとサブワード削除のための新しいコマンドがあります。これらのコマンドは、キャメルケースの位置とアンダースコア (_
) で停止します。
以下は、それらをバインドする方法の例です。
{ "key": "ctrl+alt+right", "command": "cursorWordPartRight",
"when": "textInputFocus" },
{ "key": "ctrl+shift+alt+right", "command": "cursorWordPartRightSelect",
"when": "textInputFocus" },
{ "key": "ctrl+alt+left", "command": "cursorWordPartStartLeft",
"when": "textInputFocus" },
{ "key": "ctrl+shift+alt+left", "command": "cursorWordPartStartLeftSelect",
"when": "textInputFocus" },
{ "key": "ctrl+alt+backspace", "command": "deleteWordPartLeft",
"when": "textInputFocus && !editorReadonly" },
{ "key": "ctrl+shift+alt+backspace", "command": "deleteWordPartRight",
"when": "textInputFocus && !editorReadonly" },
候補の選択
言語IntelliSenseプロバイダーは、どの提案が最適かをしばしば知っており、このバージョンのVS Codeでは、提案を事前に選択できるようになりました。事前選択された提案のための新しいAPIがあり、利用可能な場合、エディターはリストの最初の提案ではなく、その提案を選択します。
スニペットのプレースホルダ変換
スニペットはついにプレースホルダ変換をサポートしました。プレースホルダ変換は変数変換に似ていますが、より動的です。変換は、あるプレースホルダから次のプレースホルダに切り替えるときに適用され、その文法ルールは次のとおりです: ${int/regex/format_string/opts}。
以下は、「Hello World」をドイツ語の対応するものに置き換えるサンプルです。
"HelloWorld": {
"prefix": "say_hello",
"body": "${1} ${2} -> ${1/Hello/Hallo/} ${2/World/Welt/}"
}
詳細と変換の全潜在能力を解放する方法については、スニペット文法を参照してください。
統合ターミナル
パフォーマンスの向上
統合ターミナルのパーサーは、ANSI準拠性を高め、受信データの処理速度を約30%向上させるために、ゼロから書き直されました。これは、xterm.jsへのアップストリームのコミュニティ貢献として提供されました。
太字テキストの明るい色の設定
ターミナルは現在、すべての太字テキストを明るい色のバリアントを使用するように変換します。これはターミナルエミュレーター間で少し一貫性がなく、主に歴史的な理由によるものです。この自動変換をオフにして、太字テキストに明るくない色を使用できるようになりました。
{
"terminal.integrated.drawBoldTextInBrightColors": false
}
これは、xterm.jsへのアップストリームのコミュニティ貢献として提供されました。
デバッグ
フローティングデバッグツールバー
前のマイルストーンで、デバッグツールバーをデバッグビューにドッキングする新しい設定 ("debug.toolBarLocation": "docked"
) を導入しました。このマイルストーンでは、ユーザーのフィードバックをレビューし、フローティングツールバーの動作 ("debug.toolBarLocation": "floating"
) も改善しようと試みました。
フィードバックからのコンセンサスは、ツールバーが常に表示されるべきであり (どのビューがアクティブかに関わらず)、何も隠すべきではない (例えばエディタータブなど) というものでした。そのため、フローティングツールバーをエディター領域にドラッグできるようにすることで「鎖を解き放ち」ました。これにより、エディタータブを多用しつつもデバッグツールバーを常に表示したいユーザーの助けになるはずです。
既存の debug.hideActionBar
設定は、debug.toolBarLocation
設定の値 hidden
によって処理されるため、debug.hideActionBar
を削除します。
言語
TypeScript 2.9.2
VS CodeにはTypeScript 2.9.2が同梱されるようになりました。このマイナーリリースでは、多数のバグが修正され、安定性が向上しています。変更点の完全なセットはこちらで読むことができます。
フォルダ名変更時のインポートパスの更新
前回のリリースでは、JavaScriptまたはTypeScriptファイルを移動または名前変更した際に、インポートパスが自動的に更新されるようになりました。この機能は、ディレクトリを移動または名前変更した場合にも機能するようになりました。再度、デフォルトではVS Codeはパスを更新できるかどうかを尋ねてきます。このプロンプトの動作は、javascript.updateImportsOnFileMove.enabled
と typescript.updateImportsOnFileMove.enabled
設定で制御できます。
有効な値は以下の通りです。
"prompt"
- デフォルト。パスを更新するかどうかを尋ねます。"always"
- 常にパスを自動的に更新します。"never"
- パスを自動的に更新せず、プロンプトも表示しません。
階層的なMarkdownドキュメントシンボル
組み込みのMarkdownサポートは、新しいDocumentSymbol
APIを使用して、Markdownヘッダーがアウトラインビューで適切にネストされるようにします。
MDNからの新しいCSS疑似セレクターと疑似要素
4月のリリースで、最新のCSS/SCSS/LessサポートのためにMozilla Developer Networkからデータを取得し始めました。このリリースでは、以下の疑似セレクター/要素を追加しました。
:defined | :dir | :focus-visible | :focus-within | :placeholder-shown
::-moz-range-progress | ::-moz-range-thumb | ::-moz-range-track | ::-webkit-progress-inner-value | ::grammar-error | ::placeholder
ブラウザ互換性データの精度の向上
mdn/browser-compat-dataのおかげで、MDNのこのセクションをCSS/SCSS/Lessの補完機能に取り込みました。
justify-items
プロパティは、CSS Grid Layoutの他の多くのCSSプロパティと同様に、Edgeのバージョン16からサポートされています。MDNからデータを取得することで、VS CodeはCSS機能のブラウザ互換性データを最新の状態に保ちます。
未知のAt-Rulesの適切な処理
CSSプリプロセッサを使用している人々は、ビルド時に有効なCSSにコンパイルされるカスタムのat-ruleを使用することがあります。以前は、VS Codeはそのようなat-ruleを解析したり処理したりできませんでした。このリリースでは、at-ruleのサポートを改善し、それらが
- CSS構文に従っているため、正しい構文ハイライトを受け取ります。
- 誤った場所でエラーを生成しなくなりました。
css.lint.unknownAtRules
で制御できる正しいエラーを生成します。
拡張機能
拡張機能ビューの新しいデフォルトビュー
これまで、拡張機能ビューのデフォルトビューには、インストール済み拡張機能のセクションと、推奨拡張機能のセクションが含まれていました。有効な拡張機能の中にインストール済みだが無効な拡張機能が存在するため、後者との対話が困難でした。今回、新しいデフォルトを提供します。まず有効な拡張機能が表示され、次に推奨拡張機能のセクションがあり、一番下に無効な拡張機能の折りたたまれたセクションがあります。
拡張機能ビューのコンテキストメニューを使用して、これらのセクションの順序変更、折りたたみ/展開、または非表示をいつでも行うことができます。また、表示メニューのビューを開く...コマンドを使用して、これらのセクションを表示/非表示にすることもできます。
拡張機能の推奨を非表示にする
開いているファイルやワークスペース環境に基づいて拡張機能をお勧めします。すべての推奨があなたのプロジェクトに適しているわけではないことを理解しており、特定の推奨を非表示にできるようになりました。
推奨を非表示にするには、拡張機能の項目をクリックして詳細ペインを開き、推奨を無視ボタンを押します。無視された推奨は今後あなたに推奨されなくなります。
ワークスペースの推奨を管理する
extensions.json
ファイルでワークスペースの推奨を使用して、ワークスペースのユーザーに推奨される拡張機能のセットをすでに構成できました。これらの推奨の管理がはるかに簡単になりました。拡張機能ビューで任意の拡張機能をクリックして詳細ペインを開きます。その後、以下の新しいコマンドを使用して推奨を追加したり、ワークスペースのユーザーに推奨したくない特定の拡張機能を禁止したりできます。
- 拡張機能: 推奨拡張機能に追加 (ワークスペース)
- 拡張機能: 推奨拡張機能に追加 (ワークスペースフォルダー)
- 拡張機能: 推奨拡張機能を無視 (ワークスペース)
- 拡張機能: 推奨拡張機能を無視 (ワークスペースフォルダー)
言語パック
VS Codeは現在、表示言語として英語のみを同梱しており、他の言語はVS Code Marketplaceからインストール可能な言語パックに依存しています。VS Codeの1.23または1.24バージョンでプロンプトが表示されたときに言語パックをインストールした場合、この変更に気づかないはずです。古いバージョンのVS Codeからアップグレードしている場合、または新規インストールの場合、OSのUI言語の言語パックをインストールするように促すプロンプトが表示されます。追加の言語パックは、拡張機能ビュー(⇧⌘X (Windows、Linux Ctrl+Shift+X))を使用してMarketplaceからインストールできます。
要約すると
- VS Codeバージョン1.22以前から1.25にアップデートすると、表示言語は英語になり、Marketplaceで利用可能な場合、OSのUI言語用の言語パックをインストールするように促されます。
- 1.23または1.24から1.25にアップデートした場合、UI言語用の言語パックをインストールするように既に促されているはずです。そうした場合、1.25は通常通り起動し、表示言語は選択されたUI言語として表示されます。言語パックをインストールしなかった場合は、インストールするように促されます。
- VS Codeのバージョン1.25以降の新規インストールでは、Marketplaceで適切な言語パックが利用可能な場合、インストールを促されます。
プレビュー機能
プレビュー機能はリリース準備ができていませんが、使用できる程度には機能しています。開発段階での皆様の早期フィードバックをお待ちしております。
新しい設定エディター
このマイルストーンでは、設定を編集するためのGUIの作業を続けました。まだプレビューですが、試してみたい場合は、基本設定: 設定を開く (プレビュー) コマンドで開くことができます。フィードバックをお待ちしております。ご意見はこちらのGitHub issueにお願いします。
先月と比較した新しい変更点の一部は以下の通りです。
- 設定を新しいカテゴリに整理する「目次」(TOC)。
- 設定行のレイアウトが整理され、リフレッシュされました。
- 「リセット」ボタンが削除されました - 設定をデフォルト値に編集すると、
settings.json
から削除されます。
また、"workbench.settings.settingsSearchTocBehavior"
設定を試して、設定検索中の「目次」の3つの異なるオプション(show
, hide
, filter
)を確認し、どのオプションが好みかお知らせください。
Windows向けユーザーセットアップ
Windowsユーザーは、インストールに管理者権限を必要としない新しいプレビューセットアップパッケージを利用できるようになりました。このセットアップパッケージは、よりスムーズなバックグラウンド更新体験も提供します。この機能は今のところInsidersでのみ利用可能です。7月中にさらにフィードバックをいただき、安定版ユーザーベースに最高の体験を提供できるようにしたいと考えています。
Insidersユーザーセットアップパッケージのダウンロードリンクはこちらです。
Windows/Linux向けのカスタムタイトルバーとメニュー
WindowsとLinuxのユーザーは、window.titleBarStyle
設定値custom
を使用できるようになり、それに合わせて新しいメニューバーを実装しました。この設定はまだデフォルトでは有効になっていませんが、window.titleBarStyle
設定で有効にできます。
WindowsとLinuxでこの設定を有効にすると、古いメニューバーが、ライトまたはダークテーマに合わせた新しいメニューバーに置き換えられます。新しいメニューバーには、矢印キーによるトップレベルのキーボードナビゲーションなどの機能強化も含まれています。最後に、製品全体のメニューも新しいメニューバーに合わせて表示されます。
新しいメニューとタイトルバーの改善を続け、workbench-title
または workbench-menu
ラベルが付けられた問題に対処していきます。
ターミナル: 動的テクスチャアトラス
ターミナルキャンバス用の新しい「動的テクスチャアトラス」を有効にするための実験的な設定が追加されました。これにより、ターミナルが文字グリフを保存するために使用するキャッシュ戦略が変更されます。デフォルトの背景上の固定されたグリフセットではなく、グリフは必要に応じて、また使用される背景に関係なくテクスチャアトラスに追加されるようになりました。これにより、最初のターミナル起動時間が短縮され、デフォルトの背景を使用しない文字のレンダリング時間が短縮され、全体的なレンダリングパフォーマンスが向上するはずです。
これは最終的にデフォルトになりますが、今のところ以下の設定でオプトインできます。
{
"terminal.integrated.experimentalTextureCachingStrategy": "dynamic"
}
これは、xterm.jsへのアップストリームのコミュニティ貢献として提供されました。
拡張機能の作成
グリッドエディターレイアウト: ViewColumn
新しいグリッドエディターレイアウト機能をサポートするためのAPI調整はわずかです。最も注目すべきは、アクティブなエディターの横にエディターを開くために使用できる新しいViewColumn.Beside
アクションがあることです。グリッドエディターレイアウトでは、開かれるエディターの数に制限がなくなったため、このオプションを使用すると、既に横にスペースがない限り、常にアクティブなエディターの横に新しいエディターが作成されます。ユーザー設定workbench.editor.openSideBySideDirection
に応じて、これはエディターの右または下になります。
テキストエディターとWebビューの ViewColumn
の値は、以下に示すように、エディター領域の左から右への出現順に従います。
ViewColumn
列挙型はViewColumn.Nine
まで拡張されましたが、TextEditor
はグリッド内に含まれている限り、常にビュー列として番号が割り当てられます。
エディターグループが移動されたり、エディターグループが閉じられたりすると、以前と同様にonDidChangeTextEditorViewColumn
イベントが発生します。
グリッドエディターレイアウト: 新しいコマンド
新しいグリッドエディターレイアウトをサポートするためのAPIへの変更は最小限ですが、拡張機能は追加された新しいコマンドを活用することで、グリッドエディターレイアウトを利用できます(新しいコマンドセクションで完全な概要を参照してください)。
新しい `vscode.setEditorLayout` は、単一のコマンドと引数でエディター全体のレイアウトを変更できるため、少し説明が必要です。レイアウトは、初期の(オプションの)向き(`0` = 水平、`1` = 垂直)と、その中のエディター `groups` の配列を持つオブジェクトとして記述されます。各エディターグループは、`size` と、向きに対して直交してレイアウトされる別のエディター `groups` の配列を持つことができます。エディターグループのサイズが指定されている場合、行または列ごとに適用されるためには、それらの合計が `1` になる必要があります。
2x2グリッドの例
{
"orientation": 0,
"groups": [
{ "groups": [{}, {}], "size": 0.5 },
{ "groups": [{}, {}], "size": 0.5 }
]
}
デフォルトでアクティブなViewColumnでエディターを開く
テキストエディターやWebビューを開く際にViewColumn
が指定されていない場合、VS Codeはデフォルトで現在アクティブなエディターグループで開くようになりました。以前はViewColumn.One
で開かれていました。以前の動作を維持したい場合は、開く際にViewColumn.One
を渡してください。
事前選択された補完項目
補完項目を提供する拡張機能は、それらを「事前選択済み」としてマークできるようになりました。これは、多くの補完が存在するが、一部がより選択される可能性が高い場合に便利です。この例としては、ユーザーが既知の変数型を割り当てている場合が挙げられます。この機能により、拡張機能は、console.dirxml
よりもconsole.log
を優先するなど、より一般的に使用される補完を選択することもできます。
APIの追加は'CompletionItem#preselect: boolean'
で、多くの事前選択項目が存在する場合、最もランクの高いものが選択されます。
ドキュメントシンボル
新しいアウトラインビューツリーを最大限に活用するために、拡張機能はDocumentSymbolProviders
を修正してDocumentSymbols
を返す必要があります。これは新しく追加された型で、アウトラインツリーのニーズに合わせて調整されています。ドキュメントシンボルの階層表現をサポートし、シンボルを定義する範囲とシンボルを識別する選択範囲を区別できます。
+--/**
| * Some Comment
<range>--| */
| export function fooFunction() {
| +----------+
+--} |
|
<selection range>
読み取り専用ファイルシステムプロバイダー
ファイルシステムプロバイダーを readonly
として登録できるようになりました。VS Code はこのフラグを尊重し、そのファイルシステムプロバイダーから来るリソースに対するすべての変更コマンドを無効にします。エディターもそれらの読み取り専用リソースに対して読み取り専用モードで開かれます。
カスタムビュー
ツリービューの可視性
ツリービューが表示されているかどうかを、TreeView
に新しく追加された以下のプロパティとイベントを使用して確認できるようになりました。
/**
* `true` if the [tree view](#_TreeView) is visible otherwise `false`.
*/
readonly visible: boolean;
/**
* Event that is fired when [visibility](TreeView.visible) has changed
*/
readonly onDidChangeVisibility: Event<TreeViewVisibilityChangeEvent>;
/**
* The event that is fired when there is a change in [tree view's visibility](#_TreeView.visible)
*/
export interface TreeViewVisibilityChangeEvent {
/**
* `true` if the [tree view](#_TreeView) is visible otherwise `false`.
*/
readonly visible: boolean;
}
選択リスナー
ツリービューに新しい選択変更イベントが追加され、選択の変更をリッスンできるようになりました。
/**
* Event that is fired when the [selection](#_TreeView.selection) has changed
*/
readonly onDidChangeSelection: Event<TreeViewSelectionChangeEvent<T>>;
/**
* The event that is fired when there is a change in [tree view's selection](#_TreeView.selection)
*/
export interface TreeViewSelectionChangeEvent<T> {
/**
* Selected elements.
*/
readonly selection: T[];
}
表示とフォーカス
reveal
APIを呼び出す際にフォーカスオプションを true
に設定することで、ツリービュー内の要素を表示してフォーカスできるようになりました。
reveal(element: T, options?: { select?: boolean, focus?: boolean }): Thenable<void>;
新しいテーマの色
グリッドエディターレイアウトのサポート作業から生まれた機能として、空のエディターグループの背景色に2つの新しいテーマカラーが追加されました。
editorGroup.emptyBackground
: 空のエディターグループの背景色。editorGroup.focusedEmptyBorder
: フォーカスされている空のエディターグループの境界線の色。
editorPane.background
: 中央揃えエディターレイアウトの左右に表示されるエディターペインの背景色。
非推奨のテーマカラー
グリッドエディターレイアウト機能の導入に伴い、テーマカラー editorGroup.background
はサポートされなくなりました。
名前変更コマンド
rename-command (editor.action.rename
) は、Uri
と Position
を付けて呼び出すことができるようになり、エディターはそれに応じて名前変更操作を開始します。例:
vscode.commands.executeCommand('editor.action.rename', [
vscode.Uri.file('/my/file.abc'),
new vscode.Position(14, 7)
]);
DiagnosticTag
診断タグを使用すると、拡張機能は診断に関する追加のメタデータを添付できます。VS Codeはこのメタデータを使用して、これらの診断の表示方法を調整します。
const diag = new vscode.Diagnostic(new Range(0, 0, 0, 10), 'Unused');
diag.tags = [vscode.Diagnostic.Unnecessary];
DiagnosticTag.Unnecessary
は、診断が参照されていない、または到達不能なソースコードに対するものであることを示します。DiagnosticTag.Unnecessary
でマークされたソースコードは、フェードアウトして表示されます。フェードアウトの量は"editorUnnecessaryCode.opacity"
テーマカラーで制御されます。例えば、"editorUnnecessaryCode.opacity": "#000000c0"
は、コードを75%の不透明度でレンダリングします。ハイコントラストテーマの場合、"editorUnnecessaryCode.border"
テーマカラーを使用して、フェードアウトする代わりに不要なコードに下線を引きます。
WebviewPanel.active と WebviewPanel.visible
Webviewパネルには2つの新しい読み取り専用プロパティがあります。
active
- パネルがフォーカスされているときを追跡します。visible
- パネルが画面上にあるときを追跡します。
Webviewの永続性
Webview APIは、Webviewの状態を保存および復元するサポートで拡張されました。
Webviewコンテキスト内の `getState` と `setState` APIにより、Webviewは状態を保存し、Webview自体がバックグラウンドタブになっても永続化される状態オブジェクトを取得できます。
// Inside a webview's JavaScript
const vscode = acquireVsCodeApi();
// Look up old state (will be undefined if no state is set)
const oldState = vscode.getState();
// Update the persisted state.
// You can save off any json serializable object.
if (oldState) {
vscode.setState({ count: oldState.count + 1 });
} else {
vscode.setState({ count: 1 });
}
さらに、拡張機能はWebviewPanelSerializer
を登録でき、これにより特定のタイプのWebviewがVS Codeの再起動後も永続化されるようになります。これを有効にするには、拡張機能はアクティベーションメソッドでvscode.window.registerWebviewPanelSerializer
を呼び出す必要があります。
export function activate(context: vscode.ExtensionContext) {
...
vscode.window.registerWebviewPanelSerializer('myWebviewType', {
async deserializeWebviewPanel(webviewPanel: vscode.WebviewPanel, state: any) {
// `state` is the state persisted using `setState` inside the webview
console.log(`Got state: ${state}`);
new MyWebview(webviewPanel);
}
});
}
拡張機能は、`onWebviewPanel` アクティベーションイベントも追加する必要があります。
"activationEvents": [
...,
"onWebviewPanel:catCoding"
]
新しいWebview永続化APIは、Webview拡張機能作成ページに記載されています。Webview拡張機能の例も、これらの新しいAPIの使用方法を示しています。
言語パック: 最小限の翻訳
VS Codeは、利用可能な言語パックをその言語パックの言語でユーザーに提示するようになりました。以下は、簡体字中国語と英語で簡体字中国語の言語パックを推奨する例です。
この表示には、言語パックの作成者が言語パック内で以下の最小限の翻訳文字列を翻訳する必要があります。
{
showLanguagePackExtensions: localize('showLanguagePackExtensions', "Search language packs in the Marketplace to change the display language to {0}."),
searchMarketplace: localize('searchMarketplace', "Search Marketplace"),
installAndRestartMessage: localize('installAndRestartMessage', "Install language pack to change the display language to {0}."),
installAndRestart: localize('installAndRestart', "Install and Restart")
}
Language Server Protocol Inspector
vscode-languageclientを使用する言語サーバーは、ロギングサポートを受けるために[langId].trace.server
設定を指定できます。生成されたログはVS Codeと言語サーバー間のLSP通信を理解する上で貴重ですが、ログは長くなりがちで有用な情報を抽出するのが難しい場合があります。
新しいLSP Inspectorを使えば、LSPログを理解するのに役立つツールが手に入ります: https://microsoft.github.io/language-server-protocol/inspector/
Inspectorでは、以下のことができます。
- 言語クライアントとサーバー間のリクエスト、レスポンス、通知をスキャンします。
- 検索や定義済みのフィルターを使用してログをフィルタリングし、有用な情報を見つけます。
Inspectorは言語拡張機能のデバッグに役立ちます。ユーザーにバグレポートにLSPログを添付してもらい、Inspectorを使用してログを分析することができます。
言語サーバーガイドは、ロギングサポートとLSP Inspectorの機能に関するセクションを含むように更新されました。
言語サーバー: エンドツーエンドテスト
エンドツーエンドテストに関するセクションが言語サーバーガイドに追加されました。
言語サーバーのコンポーネントを単体テストするのと比較して、エンドツーエンドテストはVS Codeでワークスペースを開き、拡張機能ホストで言語拡張機能を起動し、言語拡張機能の実際の動作に対してアサーションを行います。これにより、ワークスペースとVS Codeの状態のモックが容易になり、実際のVS Codeの動作を確認できます。
言語サーバー: ガイドの刷新
言語サーバーガイドがリフレッシュされました。主な改善点は次のとおりです。
- 前述のロギングとテストに関するセクション。
- Language Server Protocol、Language Server、およびそれらの関係についての説明。
- LSPとLanguage Serverの図を更新しました。
- lsp-sampleサンプルコードを更新しました。
- LSPウェブサイトへの参照を増やしました。
提案された拡張API
各マイルストーンには新しい提案APIが付属しており、拡張機能開発者はこれらを試すことができます。いつものように、皆様からのフィードバックをお待ちしております。提案APIを試すには、次の手順を実行します。
- 提案APIは頻繁に変更されるため、Insiders版を使用する必要があります。
- 拡張機能の
package.json
ファイルに次の行が必要です:"enableProposedApi": true
。 - vscode.proposed.d.tsファイルの最新バージョンをプロジェクトにコピーします。
提案APIを使用する拡張機能は公開できないことに注意してください。次回のリリースでは互換性のない変更が行われる可能性があり、既存の拡張機能を壊すことは決して望ましくありません。
WorkspaceEditでファイルの作成/名前変更/削除が可能に
WorkspaceEdit
を拡張し、ファイルやフォルダーの作成、名前変更、削除に使用できるようにする提案APIを追加しました。これは、型の名前変更時にファイルの名前を変更するなど、複雑なリファクタリングに役立ちますが、他のシナリオも可能にするはずです。
ローカル名前変更イベント
名前変更が発生する前後に発生する2つのイベント、onWillRenameFile
とonDidRenameFile
を提案しています。これらは拡張機能が名前変更に反応したり参加したりすることを可能にします。
QuickInput API
新しいQuickPick
およびInputBox
APIは、既存のshowQuickPick
およびshowInputBox
APIよりも柔軟なユーザー入力の収集を可能にします。新しいAPIでは、入力オブジェクトの新しいインスタンスを作成し、その上でイベントハンドラーを登録し、ユースケースに応じてプロパティを設定します。
export namespace window {
export function createQuickPick<T extends QuickPickItem>(): QuickPick<T>;
export function createInputBox(): InputBox;
}
QuickInput APIの使用例はサンプル拡張機能にあります。
複数ステップの入力サンプル
既存の showQuickPick
や showInputBox
API が十分に柔軟でない場合は、新しい QuickPick
や InputBox
API を使用してください。そうでなければ、既存のものの方が早く仕事を終えられるので、そちらを使い続けてください。
フィードバックや議論は、issue #53327 を使用してください。
ターミナルレンダラー
ターミナル「レンダラー」の概念が提案されています。ターミナルレンダラーは基本的にターミナルパネル内のターミナルインスタンスですが、バックエンドプロセスを持たず、代わりに拡張機能がプロセスとして機能します。これは、VS Code内でターミナルマルチプレクサを実装するのに役立ちます。この場合、拡張機能はいくつかのプロセスの入出力パイプにアクセスでき、それらがターミナルレンダラーに接続されます。Live Share拡張機能は、この新しいAPIを使用して共有ターミナルサポートの安定性と保守性を向上させる予定です。
export namespace window {
export function createTerminalRenderer(name: string): TerminalRenderer;
}
export interface TerminalRenderer {
name: string;
dimensions: TerminalDimensions | undefined;
readonly maximumDimensions: TerminalDimensions | undefined;
readonly terminal: Terminal;
readonly onDidAcceptInput: Event<string>;
readonly onDidChangeMaximumDimensions: Event<TerminalDimensions>;
write(text: string): void;
}
export interface TerminalDimensions {
readonly columns: number;
readonly rows: number;
}
別の使用例として、拡張機能が独自のREPLを作成する場合があります。これは、拡張機能がすべての文字入力をリッスンし、Enter
キーが押されたときにアクションを起こすことで機能します。
const shell = vscode.window.createTerminalRenderer('My Extension REPL');
shell.write('Type and press enter to echo the text\r\n\r\n');
shell.terminal.show();
let line = '';
shell.onDidAcceptInput(data => {
if (data === '\r') {
shell.write(`\r\necho: "${line}"\r\n\n`);
line = '';
} else {
line += data;
shell.write(data);
}
});
アクティブなターミナルの追跡
window.activeTextEditor
や window.onDidChangeActiveTextEditor
と同様に、アクティブなターミナルを追跡可能にする統合ターミナル用の新しい拡張APIを提案しています。
export namespace
export const activeTerminal: Terminal | undefined;
export const onDidChangeActiveTerminal: Event<Terminal | undefined>;
}
Terminal.onDataの名前が変更されました
Terminal.onData
は、命名ガイドラインに合わせるため、onDidWriteData
に名前が変更されました。
export interface Terminal {
onDidWriteData: Event<string>;
}
DefinitionLink
定義リンクにより、定義プロバイダーは定義と共に追加のメタデータを返すことができます。
export interface DefinitionLink {
/**
* Span of the symbol being defined in the source file.
*
* Used as the underlined span for mouse definition hover. Defaults to the word range at
* the definition position.
*/
origin?: Range;
/**
* The resource identifier of the definition.
*/
uri: Uri;
/**
* The full range of the definition.
*
* For a class definition for example, this would be the entire body of the class definition.
*/
range: Range;
/**
* The span of the symbol definition.
*
* For a class definition, this would be the class name itself in the class definition.
*/
selectionRange?: Range;
}
この追加情報は、VS Codeによって定義に移動アクションのユーザーエクスペリエンスを向上させるために使用されます。
DefinitionLink
を使用するには、DefinitionProvider
は現在provideDefinition2
メソッドを実装する必要があります。DefinitionLink
APIが安定したら、provideDefinition2
を削除し、通常のDefinitionProvider.provideDefinition
メソッドを更新してDefinitionLink
も返せるようにする予定です。
新コマンド
キー | コマンド | コマンドID |
---|---|---|
⌘K ⌘\ (Windows, Linux Ctrl+K Ctrl+\) | openSideBySideDirection で設定された直交方向にエディターを分割する |
workbench.action.splitEditorOrthogonal |
アクティブなエディターグループで開いているエディターを表示する | workbench.action.showEditorsInActiveGroup |
|
⌃⌘9 (Windows, Linux Shift+Alt+9) | アクティブなエディターを最後のエディターグループに移動する | workbench.action.moveEditorToLastGroup |
⌘K ↑ (Windows, Linux Ctrl+K Up) | アクティブなエディターグループを上に移動する | workbench.action.moveActiveEditorGroupUp |
⌘K ↓ (Windows, Linux Ctrl+K Down) | アクティブなエディターグループを下に移動する | workbench.action.moveActiveEditorGroupDown |
最後のエディターグループにフォーカスする | workbench.action.focusLastEditorGroup |
|
最初のエディターグループにフォーカスする | workbench.action.firstEditorInGroup |
|
⌘W (Windows Ctrl+F4, Linux Ctrl+W) | アクティブなエディターグループを閉じる(開いているエディターは隣のグループにマージされます) | workbench.action.closeGroup |
すべてのエディターグループを閉じる | workbench.action.closeAllEditorGroups |
|
アクティブなエディターグループとそのエディターを閉じる | workbench.action.closeEditorsAndGroup |
|
⌘K ⌘\ (Windows, Linux Ctrl+K Ctrl+\) | アクティブなエディターを上に分割 | workbench.action.splitEditorUp |
⌘K ⌘\ (Windows, Linux Ctrl+K Ctrl+\) | アクティブなエディターを下に分割 | workbench.action.splitEditorDown |
⌘K ⌘\ (Windows, Linux Ctrl+K Ctrl+\) | アクティブなエディターを左に分割 | workbench.action.splitEditorLeft |
⌘K ⌘\ (Windows, Linux Ctrl+K Ctrl+\) | アクティブなエディターを右に分割 | workbench.action.splitEditorRight |
すべてのエディターグループのエディターをアクティブなものに統合する | workbench.action.joinAllGroups |
|
⌘4 (Windows, Linux Ctrl+4) | 4番目のエディターグループにフォーカスする(必要に応じて新しいエディターグループを作成します) | workbench.action.focusFourthEditorGroup |
⌘5 (Windows, Linux Ctrl+5) | 5番目のエディターグループにフォーカスする(必要に応じて新しいエディターグループを作成します) | workbench.action.focusFifthEditorGroup |
⌘6 (Windows, Linux Ctrl+6) | 6番目のエディターグループにフォーカスする(必要に応じて新しいエディターグループを作成します) | workbench.action.focusSixthEditorGroup |
⌘7 (Windows, Linux Ctrl+7) | 7番目のエディターグループにフォーカスする(必要に応じて新しいエディターグループを作成します) | workbench.action.focusSeventhEditorGroup |
⌘8 (Windows, Linux Ctrl+8) | 8番目のエディターグループにフォーカスする(必要に応じて新しいエディターグループを作成します) | workbench.action.focusEighthEditorGroup |
アクティブなエディターを左のエディターグループに移動 | workbench.action.moveEditorToLeftGroup |
|
アクティブなエディターを右のエディターグループに移動 | workbench.action.moveEditorToRightGroup |
|
アクティブなエディターを上のエディターグループに移動 | workbench.action.moveEditorToAboveGroup |
|
アクティブなエディターを下のエディターグループに移動 | workbench.action.moveEditorToBelowGroup |
|
⌘K ⌘← (Windows, Linux Ctrl+K Ctrl+Left) | 左のエディターグループにフォーカスする | workbench.action.focusLeftGroup |
⌘K ⌘→ (Windows, Linux Ctrl+K Ctrl+Right) | 右のエディターグループにフォーカスする | workbench.action.focusRightGroup |
⌘K ⌘↑ (Windows, Linux Ctrl+K Ctrl+Up) | 上のエディターグループにフォーカスする | workbench.action.focusAboveGroup |
⌘K ⌘↓ (Windows, Linux Ctrl+K Ctrl+Down) | 下のエディターグループにフォーカスする | workbench.action.focusBelowGroup |
左に新しいエディターグループを作成 | workbench.action.newEditorGroupLeft |
|
右に新しいエディターグループを作成 | workbench.action.newEditorGroupRight |
|
上に新しいエディターグループを作成 | workbench.action.newEditorGroupAbove |
|
下に新しいエディターグループを作成 | workbench.action.newEditorGroupBelow |
|
エディターレイアウトに切り替え: シングル | workbench.action.editorLayoutSingle |
|
エディターレイアウトに切り替え: 2列 | workbench.action.editorLayoutTwoColumns |
|
エディターレイアウトに切り替え: 3列 | workbench.action.editorLayoutThreeColumns |
|
エディターレイアウトに切り替え: 2行 | workbench.action.editorLayoutTwoRows |
|
エディターレイアウトに切り替え: 3行 | workbench.action.editorLayoutThreeRows |
|
エディターレイアウトに切り替え: 2x2グリッド | workbench.action.editorLayoutTwoByTwoGrid |
|
エディターレイアウトに切り替え: 2列 (下) | workbench.action.editorLayoutTwoColumnsBottom |
|
エディターレイアウトに切り替え: 2列 (右) | workbench.action.editorLayoutTwoColumnsRight |
|
エディターレイアウトに切り替え: 中央揃え | workbench.action.editorLayoutCentered |
新しい `layoutEditorGroups` コマンド
layoutEditorGroups
コマンドを使用すると、エディターグループのレイアウトを作成し、それにキーバインディングを割り当てることができます。レイアウトは、初期(オプション)の向き(0
= 水平、1
= 垂直)と、その中のエディターgroups
の配列を持つオブジェクトとして記述されます。各エディターグループは、size
と、向きに対して直交してレイアウトされる別のエディターgroups
の配列を持つことができます。エディターグループのサイズが指定されている場合、行または列ごとに適用されるには、その合計が1
でなければなりません。例:
{
"key": "Ctrl+0",
"command": "layoutEditorGroups",
"args": {
"orientation": 1,
"groups": [{ "size": 0.2 }, { "size": 0.6 }, { "size": 0.2, "groups": [{}, {}] }]
}
}
これにより、以下のレイアウトが生成されます。
削除されたコマンド
コマンドID | 代替 |
---|---|
workbench.action.showEditorsInFirstGroup |
代わりに showEditorsInActiveGroup を使用してください |
workbench.action.showEditorsInSecondGroup |
代わりに showEditorsInActiveGroup を使用してください |
workbench.action.showEditorsInThirdGroup |
代わりに showEditorsInActiveGroup を使用してください |
workbench.action.moveEditorToSecondGroup |
代わりに workbench.action.moveEditor* コマンドを使用してください |
workbench.action.moveEditorToThirdGroup |
代わりに workbench.action.moveEditor* コマンドを使用してください |
workbench.action.openLastEditorInGroup |
代わりに `lastEditorInGroup` を使用してください |
workbench.action.openFolderAsWorkspaceInNewWindow |
代わりに duplicateWorkspaceInNewWindow を使用してください |
editor.debug.action.toggleColumnBreakpoint |
代わりに `toggleInlineBreakpoint` を使用してください |
履歴ナビゲーションコマンド
コマンドID | 代替 |
---|---|
search.history.showPrevious |
代わりに history.showPrevious を使用してください |
search.history.showNext |
代わりに `history.showNext` を使用してください |
search.replaceHistory.showPrevious |
代わりに history.showPrevious を使用してください |
search.replaceHistory.showNext |
代わりに `history.showNext` を使用してください |
search.history.showPreviousIncludePattern |
代わりに history.showPrevious を使用してください |
search.history.showNextIncludePattern |
代わりに `history.showNext` を使用してください |
search.history.showPreviousExcludePattern |
代わりに history.showPrevious を使用してください |
search.history.showNextExcludePattern |
代わりに `history.showNext` を使用してください |
find.history.showPrevious |
代わりに history.showPrevious を使用してください |
find.history.showNext |
代わりに `history.showNext` を使用してください |
workbench.action.terminal.findWidget.history.showPrevious |
代わりに history.showPrevious を使用してください |
workbench.action.terminal.findWidget.history.showNext |
代わりに `history.showNext` を使用してください |
editor.action.extensioneditor.showPreviousFindTerm |
代わりに history.showPrevious を使用してください |
editor.action.extensioneditor.showNextFindTerm |
代わりに `history.showNext` を使用してください |
editor.action.webvieweditor.showPreviousFindTerm |
代わりに history.showPrevious を使用してください |
editor.action.webvieweditor.showNextFindTerm |
代わりに `history.showNext` を使用してください |
repl.action.historyPrevious |
代わりに history.showPrevious を使用してください |
repl.action.historyNext |
代わりに `history.showNext` を使用してください |
新しいドキュメント
新しいPython Flaskチュートリアル
新しいVisual Studio CodeでのFlaskの使用チュートリアルがあり、VS CodeでPython Flaskウェブアプリケーションを迅速に作成、編集、デバッグする方法を示しています。
更新されたウェブサイトデプロイメントチュートリアル
Azure Storageを使用して静的ウェブサイトを作成しデプロイするための静的ウェブサイトをAzureにデプロイするチュートリアルを更新しました。ウェブサイトのデプロイは、Azure Storage拡張機能が提供する新機能により簡素化されました。
注目すべき変更
- 35361: macOS High Sierraでのネイティブウィンドウタブ機能の制限
- 40158: マルチセッションの場合のブレークポイント検証UIの修正
- 42726: ファイルを開く: 絶対パスが指定されている場合、名前にスペースを含むファイルを開けない
- 49591: ツールバーのエディターアクションとして「すべて閉じる」ボタンを追加
- 51200: Linuxのプロセスモニターが間違ったプロセス負荷を表示する
- 51440: マウスの中ボタンで通知を閉じられるようにする
謝辞
最後に、そしてもちろん最も重要なこととして、Visual Studio Codeをさらに良くするために協力してくれた以下の方々に、心からの感謝を申し上げます!
vscode
への貢献者
- bitshiftza (@bitshiftza): issue #39458 の修正 PR #52506
- @brentwang23: issue #46203 のための単語の一部移動と削除を実装 PR #48023
- Howard Chen (@chenhowa): git.pullFrom と git.pushTo を待機して、エラーが表示されるようにする … PR #49167
- Cherry Wang (@chryw): Markdown と共通ツールバーアイコンの一貫性パス PR #50484
- @CoenraadS: highlightActiveIndentGuide #49148 の設定を追加 PR #49298
- Daniel Frankcom (@danielfrankcom): 背景のANSIカラーコードを追加 PR #49764
- Darius Keeley (@Dari-K): #51533 の修正 PR #52075
- David (@ddruker): [GIT EXTENSION] インデックスに追加されたファイルのカスタム前景色を追加 PR #46066
- EbXpJ6bp (@EbXpJ6bp): 拡張機能エディターの依存関係とコントリビューションUIの改善 PR #52126
- Schuyler Cebulskie (@Gawdl3y): バージョン情報ダイアログにV8バージョンを追加し、見栄えを良くする PR #51511
- 削除されたユーザー (@ghost): [修正] _hue2rgb に欠落していた戻り値の型を追加 PR #51285
- Jing Zhou (@gnijuohz): git commit 入力ボックスに空白のみが含まれている場合に警告を表示 PR #45254
- Christoph Seitz (@go2sh): プレースホルダーに変換を追加 PR #51621
- Jan Pilzer (@Hirse): gitignore 言語を追加 PR #51026
- Ian Sanders (@iansan5653): ドラッグされたアイテムがドロップ可能かどうかを確認して、開いているエディターへのドラッグオーバー時のハイライトを制限 PR #52623
- James (@jwhitmarsh): typeがtext/ng-templateのscriptタグ内でemmetアクションを許可 PR #51849
- Catalin Pirvu (@katakonst): gitに複数のプロジェクトが含まれている場合にメッセージフィールドにフォーカスを復元する。 PR #46068
- Krzysztof Cieślak (@Krzysztof-Cieslak): incrementFileNameで `1.txt` 形式のサポートを追加 PR #50869
- Leonardo Braga (@LeonardoBraga)
- Jon Malmaud (@malmaud): extensions docのタイポを修正。 PR #51509
- 百々瀬治 (@momoto): main.contribution.tsのタイプミスを修正 PR #52104
- Nahom Abi (@NahomAgidew): #43625 の修正: push時に同期アイコンを回転させる PR #52146
- Ori Ashual (@oriash93): ターミナル再利用アラートを表示するかどうかのオプションを追加 PR #44461
- Eugen Cazacu (@oygen87): コメントを削除 PR #50971
- Dániel Tar (@qcz)
- Ronald Rey (@reyronald): 拡張機能ビューレットに「推奨」アクションを追加 PR #50419
- @rianadon: [WIP] Windows用の色付きタイトルバー PR #39972
- ryenus (@ryenus): デフォルトの拡張機能ビューでビューレットのカスタマイズを許可 PR #47766
- Shizeng Zhou (@shizengzhou): ボーダーを削除。#48765 を修正 PR #48825
- Benjamin Smith (@SirHoneyBiscuit): 更新時にリリースノートを非表示/表示するオプションを追加 #44020 PR #44271
- Alfonso Perez (@alfonsoperez): 1列目でdeleteAllLeftをトリガーしたときに、行の削除を継続する PR #28392
- Spencer (@spalger): 1列目から実行された場合のDeleteAllLeftを修正 PR #40876
- Benjamin Crawford (@subylan): 32ビットビルドでmax_old_space_sizeフラグが範囲外。 PR #52792
- Tomáš Hübelbauer (@TomasHubelbauer)
- @vemoo: 「特定のタスクを再起動するためのキーバインディングを作成できない」問題の修正 PR #36474
- Winner Crespo (@wistcc): トークン化がスキップされたときに警告を追加 PR #51265
- @zhuowei: #35361 を修正: macOS 10.13 のネイティブタブを修正 PR #52775
vscode-vsce
へのコントリビューション
- Jimi (Dimitris) Charalampidis (@JimiC): 'npm version' を使って公開する機能を追加 PR #263
- Kevin Cunnane (@kevcunnane): packageコマンドでYarnの使用をサポート PR #260
- Ritwick Dey (@ritwickdey): 拡張機能公開時のuseYarnパラメータ PR #268
language-server-protocol
への貢献者
- Colin Rofls (@cmyr): specification.md のタイポを修正 PR #499
- Samarth Wahal (@LordZamy): specのタイポを修正 PR #508
vscode-node-debug
への貢献
- jramsay (@jramsay): VS Live Shareでロードされたスクリプトを有効化 PR #180
vscode-chrome-debug-core
への貢献
- @digeff: 新規および変更されたスクリプトの競合状態の可能性を修正 PR #336
- Johannes Ewald (@jhnns): internalSourceBreakpointでの安全でない配列アクセスを修正 PR #335
vscode-chrome-debug
への貢献
- Chance An (@changsi-an)
- Michael Crane (@mrcrane)
- すべての起動ケースでchrome PIDを設定 PR #687
localization
への貢献
Transifex の VS Code プロジェクトチームには800人以上のメンバーがおり、毎月約100人のアクティブな貢献者がいます。新しい翻訳の提供、翻訳への投票、またはプロセス改善の提案など、皆様の貢献に感謝します。
このリリースに貢献してくださった方々のスナップショットを以下に示します。貢献者リストを含むプロジェクトの詳細については、プロジェクトサイトhttps://aka.ms/vscodelocをご覧ください。
- フランス語: Antoine Griffard, Quentin BRETON。
- イタリア語: Andrea Dottor, Emilie Rollandin, Aldo Donetti, Luigi Bruno, Piero Azi, Marco Dal Pino, Alessandro Alpi, Emanuele Ricci, Lorthirk, Riccardo Cappello。
- ドイツ語: Ettore Atalan。
- スペイン語: Alejandro Medina, Alberto Poblacion, José M. Aguilar。
- 日本語: 田島 俊哉, 梶浦 諭, 百々瀬 治, yoshioms, 森 博之, 上田 祐貴, 矢野 直樹, 抜山 雄一。
- 中国語(簡体字): Joel Yang, pluwen, Yurui Zhang, Simon Chan, YF, Vicey Wang。
- 中国語(繁体字): Duran Hsieh, Winnie Lin, Alan Liu, Alan Tsai, Will 保哥, Han Lin。
- 韓国語: Kyunghee Ko。
- ロシア語: Ivan Kuzmenko。
- ブルガリア語: Любомир Василев.
- ハンガリー語: Tar Dániel, Dóczi Dominik。
- ポルトガル語(ブラジル): Danilo Dantas, Otacilio Saraiva Maia Neto, Roger Figueiredo, Lucas Miranda, Rafael Oliveira, Yehoshua Oliveira, Bruno Sonnino, Roberto Fonseca。
- トルコ語: Adem Coşkuner, Burak Karahan, Koray Sarıtaş。
- オランダ語: RubenJacobse, Gerald Versluis, Maurits Kammer。
- フィンランド語: Feetu Nyrhinen, Jussi Palo, Petri Niinimäki。
- ギリシャ語: Nickolaos Platides, Theodore Tsirpanis, George M, Christos Koutsiaris。
- インドネシア語: Wildan Mubarok, Laurensius Dede Suhardiman, Joseph Aditya P G, G-RiNe Project, Adiyat Mubarak。
- ラトビア語: kozete。
- ポーランド語: Patryk Brejdak, Iwona Kubowicz, Sebastian Baran, Lukasz Woznicki, Mateusz Przybyłowicz。
- スウェーデン語: Eugen Cazacu。
- ウクライナ語: Fedir Gordiienko, SergZ, Bogdan Surai。
- ベトナム語: Vuong, Hung Nguyen, Thanh Phu, Brian Nguyen。
- クロアチア語: Nikša Mihaica, Bruno Vego。
- 英語(イギリス): Matthew John Cheetham。