2019年6月 (バージョン 1.36)
アップデート 1.36.1: このアップデートでは、これらの問題に対処しています。
ダウンロード: Windows: x64 | Mac: Intel | Linux: deb rpm tarball snap
Visual Studio Code の 2019 年 6 月リリースへようこそ。このバージョンでは、いくつかの更新が行われており、皆様に気に入っていただけることを願っています。主なハイライトは以下の通りです。
- ステータスバー項目の非表示/表示 - お好みのステータスバー項目のみ表示します。
- エクスプローラーのインデントガイド - プロジェクトのフォルダー構造を明確に強調表示します。
- より優れたターミナルシェルセレクター - 統合ターミナルで使用するデフォルトシェルを簡単に選択できます。
- タスクの順次実行 - タスクとサブタスクの実行順序を制御します。
- カーソルへのジャンプデバッグ - 新しい場所にジャンプする際にコード実行をスキップします。
- デバッグコンソールの折り返しを無効にする - デバッグ出力を1行に保つことができます。
- JavaScript/TypeScript Nightly ビルド - 新しい拡張機能が JS/TS Nightly ビルドを統合します。
- 新しい Java インストーラー - VS Code、Java 拡張機能パック、および必要な Java 依存関係をインストールします。
- リモート開発 (プレビュー) の改善 - ローカルファイルシステムへの保存、リモートへのファイルのドラッグアンドドロップなど。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
Insiders: 新しい機能をできるだけ早く見たいですか?毎日のInsidersビルドをダウンロードして、利用可能になり次第最新のアップデートを試すことができます。Visual Studio Codeの最新ニュース、アップデート、コンテンツについては、Twitterで@codeをフォローしてください!
Workbench
個々のステータスバー項目を非表示にする
ステータスバーに、個々のエントリを非表示にしたり表示したりするためのコンテキストメニューが追加されました。

設定はすべてのワークスペースでグローバルに保持されます。
注: 設定 workbench.statusBar.feedback.visible はこの新しいアプローチのために削除されました。ステータスバーのコンテキストメニューを使用してフィードバックの絵文字を非表示にできます。
ツリーのインデントガイド
ツリーウィジェットがインデントガイドをサポートするようになりました。これにより、ファイルエクスプローラー、検索ビュー、デバッグビューなどでインデントガイドが利用できるようになりました。

以前と同様に、workbench.tree.indent 設定を使用してツリーのインデントレベルを制御できます。また、workbench.tree.renderIndentGuides 設定を使用してインデントガイドの動作を制御できるようになりました。
workbench.tree.renderIndentGuides の可能な値は次のとおりです。
onHover- ツリーにホバーしたときにインデントガイドラインを表示します。デフォルトの動作です。always- ツリーに常にインデントガイドラインを表示します。none- インデントガイドを表示しません。
フォルダーをドラッグアンドドロップしてコピーする
VS Code の外部からファイルエクスプローラーにフォルダーをドラッグアンドドロップしてコピーできるようになりました。以前は、VS Code エクスプローラーにフォルダーをドロップすると、そのフォルダーを含むワークスペースが常に開かれていました。これで、フォルダーの内容だけをコピーすることが可能になりました。

ファイル名増分器のコピー貼り付けの変更
VS Code エクスプローラー内で重複するファイルやフォルダーをコピーして貼り付けると、VS Code は貼り付けられたファイルの名前を増分します。以前の増分命名の方法は、予期しない結果につながる場合がありました。
命名を簡素化するために、ファイル名を次のように増分するようになりました。
"hello.txt" -> "hello copy.txt" -> "hello copy 2.txt" -> "hello copy 3.txt"
カスタムメニューバーのAltキーによるフォーカスを無効にする
多くのユーザーから、Altキーを押したときにカスタムメニューバーにフォーカスが当たる動作を無効にしたいという要望がありました。この動作を防ぐには、新しい設定 window.customMenuBarAltFocus を false に設定してください。
ミニマップの検索装飾
ファイル内で検索すると、結果の検索一致がファイル内とミニマップの両方で強調表示されるようになりました。

警告色の更新
list.warningForeground と editorWarning.foreground を更新し、エディターの他の警告色とより一致するようにしました。この更新された色は、ファイルエクスプローラー、Peek エラービュー、およびエディターの波線で表示されます。

また、ルーラーの更新された警告色とより目立つように editorOverviewRuler.findMatchForeground を更新しました。

オンラインサービス設定
VS Code は、製品アップデートのダウンロード、拡張機能の検索、インストール、更新、設定エディター内での自然言語検索など、さまざまな目的でオンラインサービスを利用しています。これらのサービスを使用する機能は、ユーザー設定でオン/オフを切り替えることができます。これは @tag:usesOnlineServices タグでフィルターできます。設定エディターでタグを適用するコマンド ファイル > 基本設定 > オンラインサービス設定 が追加されました。

詳細については、テレメトリドキュメントをご覧ください。
統合ターミナル
より良いデフォルトのシェルセレクター
Windows には以前からデフォルトのシェルを選択コマンドがあり、前回のリリースで統合ターミナルのドロップダウンメニューに追加されました。このコマンドは macOS および Linux でも利用可能になり、/etc/shells ファイルを読み込むことでシステムに登録されているシェルを公開します。

クリーンな環境でターミナルを起動する
VS Code の統合ターミナルは、特に Linux と macOS で、通常のターミナルとは少し異なる動作をしてきました。その理由は、環境が常に VS Code のウィンドウ (インスタンス) から継承され、VS Code/Electron 関連の環境変数が削除されていたのに対し、通常のターミナルは通常 Dock/スタートメニューから起動され、システム環境を使用するためでした。これは、特定のシナリオで問題を引き起こす可能性がありました。例えば、Python 仮想環境は $PATH 変数の使用方法のために壊れていました。
新しいプレビューオプション terminal.integrated.inheritEnv が追加されました。これを false に設定すると、ターミナルは VS Code の環境を使用しなくなります。
代わりに、プラットフォームに応じて、次のようになります。
- Linux: VS Code の「メインプロセス」の親プロセスの環境を取得して使用します。
- macOS: 現在の環境から少数の重要な環境変数を取得し、それらのみを含めます。最終的には macOS も Linux と同じように動作させたいと考えていますが、現時点では環境の取得に問題があります。
- Windows: 現在、この設定は Windows に影響しません。
inheritEnv を false に設定した場合の主な目に見える結果は、$SHLVL (シェルレベル) が 1 になり、起動スクリプトが意図的に重複したパスを含んでいない限り、$PATH に重複したパスが含まれなくなることです。
terminal.integrated.inheritEnv のデフォルト値は true で、これは以前の動作ですが、将来的には値を false に切り替える可能性があります。
Ctrl+\ の変更
以前は、Linux および Windows で Ctrl+\ はターミナルを分割するコマンドにマッピングされていましたが、これはほとんどの人がターミナルに期待するように、SIGQUIT をシェルに渡すように変更されました。以前の動作が必要な場合は、このキーボードショートカットを keybindings.json ファイルに追加できます。
{
"key": "ctrl+\\",
"command": "workbench.action.terminal.split",
"when": "terminalFocus"
}
タスク
依存関係の順次実行
dependsOn タスク属性は引き続きデフォルトで並行してすべての依存関係を実行しますが、"dependsOrder": "sequence" を指定して、dependsOn にリストされている順序でタスクの依存関係を実行できるようになりました。dependsOn で使用されるバックグラウンド/ウォッチタスクには、「完了」したときに追跡する問題マッチャーが必要です。
以下のタスクの例では、タスク Two、タスク Three、次にタスク One を実行します。
{
"label": "One",
"type": "shell",
"command": "echo Hello ",
"dependsOrder": "sequence",
"dependsOn": ["Two", "Three"]
}
問題マッチャーのパス検出
タスク出力が問題のためにスキャンされるとき、パスに関する情報は fileLocation 問題マッチャー属性を使用して提供されます。既存の relative および absolute オプションに加えて、autoDetect を指定できるようになりました。autoDetect を使用すると、タスクシステムは、問題のパスが相対パスか絶対パスかを自動的に判断しようとします。
言語
TypeScript 3.5.2
このリリースには TypeScript 3.5.2 が含まれています。これはいくつかの重要なバグを修正する小さなアップデートです。
JavaScriptとTypeScriptの構文のみの機能をより迅速に使用する
VS Code の JavaScript および TypeScript 言語機能は、TypeScript サーバーによって提供されています。このサーバーは、IntelliSense やエラー報告といった複雑な機能に加え、コード折りたたみやドキュメントのアウトラインといったシンプルな機能も提供します。
IntelliSense のような機能は、TypeScript サーバーが結果を返す前に JavaScript または TypeScript プロジェクト全体を評価する必要があり、これは大規模なプロジェクトでは時間がかかることがあります。この処理中に、サーバーは他の要求、例えば現在のファイルの基本的な意味理解のみを必要とするコード折りたたみのような単純な機能の要求を処理できません。コード折りたたみやドキュメントアウトラインが利用可能になるまでに遅延を感じたことがある場合は、この問題に遭遇した可能性があります。
コードをより早く作業できるようにするため、VS Code が2つの TypeScript サーバーを使用する新しい実験的オプションを追加しました。1つは単純な構文ベースの操作のみを処理し、もう1つはプロジェクト処理、IntelliSense、エラー報告、その他の高度な言語機能を処理する完全なサーバーです。この動作を有効にするには、"typescript.experimental.useSeparateSyntaxServer": true を設定します。この設定には、ワークスペースで TypeScript 3.4 以降を使用する必要があります。
デバッグ
カーソルへジャンプ
新しいデバッグコマンドカーソルへジャンプが追加されました。これにより、途中のコードを実行することなく、プログラムの実行を新しい場所に移動できます。デバッガーがカーソルへジャンプをサポートしている場合、デバッグ中に新しいコマンドがエディターのコンテキストメニューとコマンドパレットに表示されます。現在、このコマンドは C# 拡張機能からのみ利用できますが、他のデバッグ拡張機能もすぐに追随するはずです。

コンソールの折り返しを無効にする
新しい設定 debug.console.wordWrap は、デバッグコンソールでワードラップを有効にするかどうかを制御します。デフォルトでは、すべての行がワードラップされます。設定をオフにすると、デバッグコンソールで行が改行されなくなり、水平スクロールバーが表示されます。
Node.jsデバッグ設定属性 useWSL は非推奨
WSL 拡張機能により、ユニバーサルな Windows Subsystem for Linux (WSL) のサポートが VS Code に導入されました。これで、すべての拡張機能を WSL でシームレスに利用できるようになりました。
その結果、2年前に VS Code の Node.js デバッガーに追加された、現在では廃止された WSL サポートを削除する予定です。この目標に向けた最初のステップとして、useWSL デバッグ設定属性を非推奨にします。このマイルストーン以降、エディターで launch.json ファイルを開くと、この属性に波線が表示されます。さらに、useWSL を含むデバッグセッションが起動されると通知が表示されます。
useWSL フラグを使用している既存のプロジェクトを WSL 拡張機能でのデバッグに移行する手順は次のとおりです。
- WSL 拡張機能がインストールされていることを確認します。
- VS Code でプロジェクトのフォルダーを開きます。
- WSL: WSL でフォルダーを再度開くコマンドを使用して、WSL でプロジェクトを再度開きます。
- F5を押します。
- デバッグ設定から
useWSLフラグを削除します。
詳細については、WSL での開発ドキュメントをご覧ください。
拡張機能への貢献
JavaScriptとTypeScriptのNightly拡張機能
新しいJavaScript and TypeScript nightly extensionは、VS Code の組み込み TypeScript バージョン (JavaScript および TypeScript IntelliSense を提供) に TypeScript の nightly ビルド (typescript@next) を使用します。これにより、最新の TypeScript 機能を簡単にテストし、それらに関するフィードバックを提供できます!
TSLint 1.2
TSLint 拡張機能の新しいバージョンを公開しました。これにより、いくつかの重要なバグが修正されています。このリリースでは、ワークスペースに tslint.json ファイルがあるにもかかわらず、TSLint 自体が適切にインストールされていない場合に、VS Code のステータスバーに警告インジケーターも追加されます。
Java開発者向けインストーラー
初めて Java 開発を行う開発者が Java 環境をセットアップするのに役立つ、新しい Visual Studio Code Installer for Java が登場しました。Java Pack Installer を実行すると、JDK (Java Development Kit)、Visual Studio Code、および必要な拡張機能が既にインストールされているかどうかを自動的に検出します。インストールされていない場合は、インストーラーが不足している依存関係をダウンロードして構成できます。また、既存の Visual Studio Code インストールに Java 関連のコンポーネントを追加するためにインストーラーを使用することもできます。

Java 拡張機能がインストールされている Visual Studio Code は、スマートなコード補完、リファクタリング、デバッグ、テスト、プロジェクト管理、アプリケーションサーバー統合など、包括的な Java 開発機能を提供します。
リモート開発 (プレビュー)
コンテナ、リモートマシン、またはWindows Subsystem for Linux (WSL) をフル機能の開発環境として使用できるリモート開発拡張機能の開発が継続されています。リモート開発リリースノートで新しい拡張機能とバグ修正について学ぶことができます。
Windows で Linux アプリケーションを開発する方法の詳細については、Windows Developer Platform チームのこのブログ記事をご覧ください: WSL と Visual Studio Code Remote を使用して Windows での Linux 開発エクスペリエンスを次のレベルへ。
Chrome のデバッガーをリモート UI 拡張機能として
リモートウィンドウで Web プロジェクトに取り組んでいる場合、Debugger for Chrome 拡張機能を使用して、ローカルの Chrome ウィンドウでデバッグできます。拡張機能をインストールし、リモートで開発サーバーを起動し、サーバーのポートを転送して、起動構成を開始するだけです。詳細については、拡張機能の README を参照してください。
拡張機能作成
vscode パッケージを @types/vscode と vscode-test に分割する
昨年発生した event-stream 事件の際、vscode パッケージは 223 個の推移的依存関係に event-stream が含まれていたため、影響を受けていることが判明しました。これらの依存関係は、多くの VS Code 拡張機能に対して GitHub セキュリティアラートを時々引き起こします。依存関係の複雑さに対処するため、vscode パッケージのスリム化を開始しました。
vscode パッケージには2つの目的がありました。
- 拡張機能開発のために
vscode.d.tsを取得する。 - VS Code のローカルコピーをダウンロードして起動することで、統合テストを実行する。
現在、vscode を @types/vscode と vscode-test の2つのパッケージに分割しています。これらはより特化した機能を持っています。
@types/vscodeには、各リリースごとのvscode.d.tsが含まれています。たとえば、npm i @types/vscode@1.34.0は VS Code 1.34 拡張機能 API をインストールします。postinstallスクリプトを通じてvscode.d.tsをプルダウンするvscodeとは異なり、このパッケージはパッケージマネージャーによって完全にキャッシュできます。vscode-testは、VS Code で統合テストを実行するための一連の API を提供します。古いvscodeパッケージは引き続き機能しますが、新機能はvscode-testにのみ追加されます。依存関係グラフがスリム化され、より柔軟で明示的に文書化された API を備えたvscode-testに切り替えることをお勧めします。vscode-testの使用方法については、拡張機能のテストの記事で詳細を確認できます。
さらに
vscode-dtsを使用すると、CLI を介して任意のバージョンの VS Code API をすばやくダウンロードできます。vsceは、engines.vscodeに対して@types/vscodeのバージョンをチェックし、古い VS Code バージョンと互換性のない新しい API の使用を防ぐようになりました。helloworld-test-sample、拡張機能のテストページ、および継続的インテグレーションページは、vscode-testを使用するように更新されました。- 拡張機能のテストページには、
vscodeから@types/vscodeとvscode-testへの移行に役立つ移行ガイドが含まれています。 - すべての VS Code のサンプル拡張機能が
@types/vscodeを使用するようになりました。 - VS Code の拡張機能ジェネレーターは、
@types/vscodeおよびvscode-testパッケージを使用して拡張機能をスケルトン化します。
Node.jsの更新
VS Code が動作する Electron のバージョンが更新され、Node.js が 10.2.0 から 10.11.0 に更新されました。これにより、すべての拡張機能がこの新しいバージョンの Node.js で実行されるようになります。
リモート用API
リモート拡張機能ホストが実行されている場合は常に定義される新しいプロパティ vscode.env.remoteName が追加されました。その値はリモート拡張機能ホストをブートストラップする拡張機能によって定義され、ローカルとリモートの両方の拡張機能ホストで利用可能です。
拡張機能がリモートまたはローカルの拡張機能ホストのどちらで実行されているかを知る必要がある場合は、Extension#extensionKind を使用できます。これは ExtensionKind.UI または ExtensionKind.Workspace のいずれかです。この値は、拡張機能の package.json ファイルで定義されているか、ユーザーによってオーバーライドされたものを表します。リモート拡張機能ホストが存在しない場合、値は常に ExtensionKind.UI です。
DocumentLink.tooltip
新しい DocumentLink.tooltip プロパティを使用すると、DocumentLinkProvider がユーザーがドキュメントリンクにカーソルを合わせたときに表示されるテキストをカスタマイズできます。

VS Code は、tooltip テキストと一緒に、リンクをアクティブにする方法(上記の例では cmd + click)に関する指示を含みます。
ポート転送とポートマッピングが 'localhost' に加えて '127.0.0.1' もサポートするようになりました。
vscode.env.openExternal API は、URI をデフォルトの外部アプリケーションを使用して開きます。リモート拡張機能が https://:8080 のようなローカル URI で openExternal を呼び出すと、VS Code は自動的にローカルマシン上のポートとリモートマシン上の開かれたポートを接続するトンネルを開きます。この自動トンネリングは以前は 'localhost' URI のみで有効でしたが、'127.0.0.1' でも有効になりました。
さらに、webview ポートマッピング API も、'localhost' URI に加えて '127.0.0.1' を処理するようになりました。
より多くのプロパティが readonly または ReadonlyArray としてマークされました。
VS Code API のより多くのプロパティが、拡張機能に対する意図をより明確に表現するために、vscode.d.ts で readonly としてマークされるようになりました。
注目すべき変更点には以下が含まれます。
- イベントインターフェースのすべてのフィールドは読み取り専用になりました。同じオブジェクトが複数のリスナーにディスパッチされる可能性があるため、イベントオブジェクトは変更されるべきではありません。
DiagnosticCollectionのメソッドは、読み取り専用の配列を受け取るようになりました。この変更は、DiagnosticCollectionを更新するにはそのメソッドを介してのみ可能であり、以前に渡された配列を変更することではできないためです。Extensions.allは変更できないため、読み取り専用配列になりました。TextEditor.insertSnippetは、そのパラメータを変更しないため、読み取り専用の配列を受け取るようになりました。
これらの新しい readonly 修飾子は、VS Code API が以前使用していた非読み取り専用型を明示的に型指定した拡張機能コードに対してコンパイルエラーを引き起こす可能性があります。
vscode.window.onDidChangeTextEditorSelection(e => {
// Error: `e.selections` is now a readonly array but
// our `updateForSelections` function takes a mutable array
updateForSelections(e.selections);
});
function updateForSelections(selections: vscode.Selection[]) {
...
}
これを修正するには、拡張機能のソースコード全体に readonly 修飾子を伝播させてください。
vscode.window.onDidChangeTextEditorSelection(e => {
updateForSelections(e.selections);
});
function updateForSelections(selections: readonly vscode.Selection[]) {
...
}
TerminalOptions.hideFromUser
runInBackground ターミナルオプション hideFromUser が安定版 API に追加されました。このオプションを使用して、Terminal.show() が呼び出されるまでターミナルをユーザーから完全に隠すことができます。
const term = window.createTerminal({ hideFromUser: true });
term.sendText('do something');
sendText と onDidWriteData API と組み合わせることで、拡張機能はインタラクティブなターミナルと対話できます。例えば、接続を確立し、何らかの問題が発生した場合にのみ Terminal.show() を呼び出すことができます。
コメントのリアクション
Comments API が、コメントに対するユーザーのリアクションの表示と管理をサポートするようになりました。Comment.reactions が存在する場合、リアクションはコメント本文の下にレンダリングされます。
拡張機能が CommentController.reactionHandler でリアクションハンドラーを登録すると、ユーザーは既存のリアクションに返信したり、リアクションピッカーを使用して新しいリアクションを作成したりできます。

提案された拡張API
各マイルストーンには新しい提案APIが付属しており、拡張機能開発者はこれらを試すことができます。いつものように、皆様からのフィードバックをお待ちしております。提案APIを試すには、次の手順を実行します。
- 提案APIは頻繁に変更されるため、Insiders版を使用する必要があります。
- 拡張機能の
package.jsonファイルに次の行が必要です:"enableProposedApi": true。 - vscode.proposed.d.tsファイルの最新バージョンをプロジェクトにコピーします。
提案APIを使用する拡張機能は公開できないことに注意してください。次回のリリースでは互換性のない変更が行われる可能性があり、既存の拡張機能を壊すことは決して望ましくありません。
vscode.workspace.fs
拡張機能がファイルシステムプロバイダーと連携できるようにする提案中の API があります。この API を使用すると、拡張機能は任意のファイルシステムからファイルやフォルダーを作成、読み取り、書き込み、削除できます。たとえば、言語拡張機能は、ftp サーバーや他のリモートソースから提供されたソースファイルをロードできるようになりました。
この API は、ワークスペースオブジェクトの新しいプロパティ vscode.workspace.fs を介してアクセスできます。ぜひ試して、issue #48034 にフィードバックをお寄せください。
コードインセットの更新された API
コードインセットの提案をリファクタリングして簡素化しました。プロバイダーパターンを使用するのではなく、テキストデコレーション API のようになりました。
export function createWebviewTextEditorInset(
editor: TextEditor,
line: number,
height: number,
options?: WebviewOptions
): WebviewEditorInset;
エディタ、行、および高さが与えられれば、インセットを作成できます。インセットは、WebviewPanel から既に知られているWebviewを使用します。デコレーションと同様に、インセットはそれらを含むエディタが閉じられると破棄されます。
Webview.resourceRoot
提案された webview の resourceRoot 定数は、webview でローカルリソースがロードされるルートを公開します。
const panel = vscode.window.createWebviewPanel(
CatCodingPanel.viewType,
'Cat Coding',
vscode.ViewColumn.One,
{
// Restrict the webview to only loading local content from our extension's `media` directory.
localResourceRoots: [vscode.Uri.file(path.join(extensionPath, 'media'))]
}
);
const resourceRoot = await panel.resourceRoot;
panel.html = `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src ${resourceRoot} https:;">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cat Coding</title>
</head>
<body>
<img src="${resourceRoot}/${path.join(extensionPath, 'media')}/cat.gif" width="300" />
</body>
</html>`;
VS Code がデスクトップで実行されている場合、resourceRoot は vscode-resource: になります。ただし、ブラウザーなどの他の環境で VS Code が実行されている場合、値は異なる場合があります。
デフォルトシェルを取得する API
terminal.integrated.shell.<platform> 設定のデフォルトが null になったため、拡張機能はこの設定を使用してデフォルトシェルを検出できなくなりました。ターミナルのデフォルトシェルを返す提案された API vscode.env.shell が追加されました。
const shell = vscode.env.shell;
if (shell.search(/(powershell|pwsh)/i) !== -1) {
// Do something special that PowerShell needs
}
Language Server Protocol
TypeScript 用の Language Server Index Format ツールの新バージョンが実装されました。新バージョンでは、大規模なダンプをデータベース固有にすることなく、より簡単にデータベースにインポートできるような改良されたフォーマットが採用されています。これらのツールの実行に関する詳細は、lsif-node リポジトリの指示を参照してください。
エンジニアリング
Electron 4.0 の更新と Electron 6.0 の検討
このマイルストーンでは、Electron 4 を VS Code にバンドルする検討を終え、この Electron バージョンが安定版として初めて出荷されます。これは主要な Electron リリースであり、Chrome 69 と Node.js 10.11.0 が含まれています(現在のバージョンである Chrome 66 と Node.js 10.2.0 から大幅な進歩です)。
残念ながら、issue #75054 のため、macOS のシンプルフルスクリーンサポート("window.nativeFullScreen": false)を1リリースだけ無効にする必要がありました。来月初旬には Insiders ビルドに修正を含める予定です。
Electron 6 への更新の検討を開始しており、近いうちに Insiders にプッシュしたいと考えています。
より良いコードの読み込み
Electron 4 により、新しいスクリプトキャッシング API にアクセスできるようになりました。新しいキャッシング API では、キャッシュデータを初回起動に影響を与えることなく作成でき、怠惰に解析された関数をカバーするために繰り返し作成できます。これにより、ローダーの改善と合わせて、コードの読み込みが約 15% 高速化されました。
Linux 32ビット版のサポート終了
VS Code は、Electron フレームワークを使用して複数のプラットフォームで動作しています。このリリースで Electron バージョン 4.x に移行するため、VS Code は Linux 32ビット版では動作しなくなります。64ビット版の VS Code に更新してください。設定や拡張機能はすべて、何も移行することなく以前と同じように機能します。詳細については、Electron の関連ブログ投稿を参照してください。
iframeベースのwebviewの検討
このイテレーションでは、Electron の <webview> タグではなく、通常の iframe を使用して VS Code の webview を実装することを検討しました。この作業は主にブラウザで VS Code を実行することをサポートするために行われていますが、<webview> はかなり複雑で、過去に問題を引き起こしていました。最終的には <webview> の使用を通常の iframe に置き換えられることを願っています。
iframeベースのwebviewについては大きな進歩を遂げ、多くの拡張機能からのwebviewをブラウザで正常に実行できるようになりましたが、まだやるべきことはたくさんあります。7月もこの検討を続けます。
注目すべき修正点
- 41356: 次/前のエラーに移動するホットキーは、NVDA のフォーカスをエディター外に移動しないようにする
- 45515: Uri#parse がパスコンポーネントを壊す可能性がある
- 54084: ステップ実行時にデバッグタッチバーボタンの位置を変更しない
- 70248: cls コマンドがターミナルをクリアしない (Windows 10 1903, ConPTY)
- 74710: 画像プレビューは、画像のサイズに対してのみ「透明な」市松模様の背景を描画するべき
- 75359: デバッグコンソールで値を変更しても変数ペインが更新されない
- 41085: Git: .git が開いているフォルダーの外にある場合、ファイルイベントが機能しない
ありがとうございます
最後に、そしてもちろん最も重要なこととして、Visual Studio Codeをさらに良くするために協力してくれた以下の方々に、心からの感謝を申し上げます!
vscodeへの貢献者
- Abby (@abbychau): Git の初期化またはクローン後に新しいウィンドウで開くオプションを追加 PR #69763
- Andrius (@andrius-pra): Typescript プラグインによって提供される言語を同期 PR #75371
- Aurélien Pupier (@apupier): package.json に License フィールドを追加 #68423 PR #68771
- Jakub Čábera (@Ash258): shellscript: 折りたたみマーカーを追加 PR #75828
- Lee Houghton (@asztal): /tmp/vscode-typescript で複数のユーザーを処理 PR #75547
- Babak K. Shandiz (@babakks): SCM パネルに
cachedScrollTopを追加 PR #74723 - Patrick Burke (@burknator): ステータスズームボタンを IStatusbarEntry にする #74454 PR #75618
- Chase Adams (@chaseadamsio): クイック入力/クイックオープンへのテーマ適用をサポート PR #74041
- Christian Oliff (@coliff): EditorConfig 拡張機能のインストールを推奨 PR #75391
- Hung-Wei Hung (@hwhung0111): コメントのいくつかのタイプミスを修正 PR #75565
- Jean Pierre (@jeanp413)
- Jonas Kemper (@jk21): パッケージ json 情報 PR #72763
- @malingyan2017: ドックの最近のリストに最近のファイル/フォルダーが表示されない問題 #74788 を修正 PR #75108
- Denis Stepanov (@meduzik): 起動コマンドの空の引数が適切にエスケープされるようになりました PR #25098
- Micah Smith (@Olovan): Issue #35245 の修正 PR #75357
- @orange4glace
- Jesse Mazzella (@ozyx): baseFolderName のリポジトリ URL から末尾の '/' を削除 PR #75822
- Alasdair McLeay (@penx): CSS インポートの Node モジュール解決 PR #70693
- Raul Piraces Alastuey (@piraces): ウィザードがサイレントモードで実行されている場合に MsgBox を抑制する PR #76215
- Remco Haszing (@remcohaszing)
- Evgeny Zakharov (@risenforces): window.disableMenuBarAltBehavior オプションを追加 PR #73258
- Samuel Bronson (@SamB): タイプミスを修正: timemout -> timeout PR #75162
- TBK (@TBK): APKBUILD のサポートを追加 PR #75706
- Tomáš Chaloupka (@tchaloupka): チェコ語の LANG 環境変数を修正 PR #75519
- Tony Xia (@tony-xia)
- Waldir Pimenta (@waldyrious): 例の略語 (e.g.) のスペルを修正 PR #74785
問題追跡への貢献者
- John Murray (@gjsjohnmurray)
- Alexander (@usernamehw)
- Eric Amodio (@eamodio)
- Jean Pierre (@jeanp413)
- Danny Tuppeny (@DanTup)
受信した問題の管理にご協力いただける場合は、コミュニティ問題追跡ページをご覧ください。
vscode-css-languageserviceへの貢献者
- Dmitry Parzhitsky (@parzh): 擬似要素の特異性を修正 PR #154
vscode-html-languageserviceへの貢献
- Liam Newman (@bitwiseman): js-beautify を 1.10.0 に更新 PR #61
- Javey (@Javey): uglify-js で圧縮可能にする PR #64
language-server-protocolへの貢献者
- Danny Tuppeny (@DanTup): タイプミスを修正 "must not sent" -> "must not send" PR #747
debug-adapter-protocolへの貢献者
- Joel Day (@joelday): Papyrus 実装を追加 PR #59
vscode-azurecli への貢献
- Matthew Burleigh (@mburleigh): 結果を新しいエディターで開く PR #55
- Matthew Burleigh (@mburleigh): 進捗を示すステータスバー項目を追加 PR #56
vscode-vsceへのコントリビューション
- @atsutton: ログレベルを info に変更 PR #369
- James George (@jamesgeorge007)
- Jonathan Nagy (@nagytech): コミットメッセージの指定を許可 PR #365
vscode-recipesへの貢献
- Mladen Mihajlović (@mika76): Vue - 問題から収集した情報で README を更新 PR #213
- Ephraim Khantsis (@doom777): ng-test 起動設定を更新 PR #212
localizationへの貢献
Cloud + AI Localization コミュニティには 800 人以上のメンバーが Microsoft Localization Community Platform (MLCP) を使用しており、そのうち約 100 人が Visual Studio Code に積極的に貢献しています。新しい翻訳の提供、翻訳への投票、プロセス改善の提案など、皆様のご貢献に感謝いたします。
貢献者の概要はこちらです。貢献者名リストを含むプロジェクトの詳細については、https://aka.ms/vscodeloc のプロジェクトサイトをご覧ください。
- ボスニア語: Ismar Bašanović, Ernad Husremovic.
- ブルガリア語: Иван Иванов, Gheorghi Penkov.
- チェコ語: Tadeáš Cvrček, Michal Franc, Jan Kos, Radim Hampl.
- デンマーク語: René Pape, Lars Vange Jørgensen, Martin Liversage, Lasse Stilvang, Anders Lund, Allan Kimmer Jensen, Anton Ariens.
- オランダ語: Leroy Witteveen, Luc Sieben, Maxim Janssens, Damien van Gageldonk, Tom Meulemans.
- 英語 (イギリス): Martin Littlecott, Alexander Ogilvie, Fabio Zuin, Mohit Nain, Sulkhan Ninidze, alshyab wa3ed, Tejas kale.
- フィンランド語: Lasse Leppänen, Petri Niinimäki, Sebastian de Mel.
- フランス語: Antoine Griffard, Thierry DEMAN-BARCELÒ.
- ドイツ語: Julian Pritzi, Patrick Burke, Ettore Atalan, Meghana Garise.
- ギリシャ語: Θοδωρής Τσιρπάνης, Charalampos Fanoulis, Vassilis Vouvonikos.
- ヘブライ語: חיים לבוב, Eyal Ellenbogen.
- ヒンディー語: Sanyam Jain, Kishan K.
- ハンガリー語: Boldi Kemény.
- 簡体字中国語: 斌 项, paul cheung, 张锐, Yizhi Gu, Yiting Zhu, Justin Liu, Shi Liu, Pluwen, Joel Yang, Jieting Xu, Chen Yang, 涛 罗, 立飞 李, 雨齐 刘, cuibty wong, 建 周, XIANG ZUO.
- 繁体字中国語: LikKee 沥祺 Richie, Winnie Lin, Jeremy.
- インドネシア語: Jakka Prihatna, Arif Fahmi, Septian Adi, Heston Sinuraya, Hendra Widjaja, Don Nisnoni, Eriawan Kusumawardhono, Bervianto Leo Pratama, Laurensius Dede Suhardiman, Rifani, rsyad, Christian Elbrianno.
- イタリア語: andrea falco, Aldo Donetti.
- 日本語: 熊本 倫仁, 尾崎 義久, 戸倉 綾, 天明 正和, 西岡 太郎.
- 韓国語: Hongju, 우현 조, Hoyeon Han, Hong Kwon.
- ラトビア語: Kaspars Bergs, Andris Vilde.
- リトアニア語: Andrius Svylas, Tautvydas Derzinskas, Karolis Kundrotas, Martynas J..
- ノルウェー語: Dag H. Baardsen, Ole Kristian Losvik.
- ポーランド語: Rafał Całka, Marcin Weksznejder, Jakub Żmidziński, Rafał Wolak, Szymon Seliga, Grzegorz Miros.
- ポルトガル語 (ブラジル): Alessandro Trovato, Thiago Dupin Ugeda, Weslei A. de T. Marinho, Rafael Lima Teixeira, Gerardo Magela Machado da Silva, Marcos Albuquerque, Loiane Groner, Alessandro Fragnani, Judson Santiago, Andrei Bosco, Fábio Corrêa, Roberto Fonseca, Fabio Lux, Emmanuel Gomes Brandão, Guilherme Pais, Rodrigo Vieira, André Gama.
- ポルトガル語 (ポルトガル): Nuno Carapito, Pedro Daniel, José Rodrigues, Diogo Barros.
- ルーマニア語: Stefan Gabos.
- ロシア語: Дмитрий Кирьянов, Анатолий Калужин.
- スペイン語: David Fernández Aldana, Ricardo Rubio, Thierry DEMAN, José María Aguilar.
- スウェーデン語: Johan Spånberg, Notetur Nomen.
- タミル語: Merbin J Anselm, Jeyanthinath Muthuram, Boopesh Kumar, Nithun Harikrishnan, Vignesh Rajendran.
- トルコ語: Meryem Aytek, Fıratcan Sucu, Ahmetcan Aksu, Mehmet Yönügül, Ömer Sert, Anıl MISIRLIOĞLU, Misir Jafarov, Bruh Moment.
- ウクライナ語: Arthur Murauskas, Alexander Varchenko, Вадим Шашков, Евгений Коростылёв.
- ベトナム語: Van-Tien Hoang, Vuong Bui, Chủ Tất.