2019年10月 (バージョン 1.40)
アップデート 1.40.1: このアップデートでは、以下のissueに対処しています。
アップデート 1.40.2: このアップデートでは、以下のissueに対処しています。
ダウンロード: Windows: x64 | Mac: Intel | Linux: deb rpm tarball snap
Visual Studio Code の 2019 年 10 月リリースへようこそ。10 月のイテレーション計画でお知らせしたように、私たちはissue グルーミングガイドに記載されているように、GitHub issue とプルリクエストの整理に注力しました。すべての VS Code リポジトリ全体で、4622 件の issue をクローズ(トリアージまたは修正済み)しました。これは、issue を 3918 件クローズした 2018 年 9 月の前回の整理イテレーションよりもさらに多い件数です。私たちが issue をクローズしている間にも、2195 件の新しい issue が作成されました。これにより、issue は 2427 件純減しました。メインのvscode リポジトリには現在、2162 件の未解決の機能リクエストと 725 件の未解決のバグがあります。さらに、287 件のプルリクエストをクローズしました。この取り組みの一環として、プロセスを調整し、issue トリアージワークフローを更新しました。
昨年と同様に、Benjamin Lannon氏のライブトラッカーを使用して進捗状況を追跡しました。
この整理マイルストーンの間、私たちはいくつかの機能リクエストとコミュニティからのプルリクエストにも対応しました。新機能と設定の詳細については、以下をお読みください。
ワークベンチ
アクティビティバーのインジケーター
アクティブなアクティビティバーの項目をより目立たせ、可読性を向上させるために、新しいインジケーターを導入しました。また、非アクティブな要素の前景色を調整し、アクティブな要素とのコントラストを強くしました。
アクティブなインジケーターは、新しいカラートークン activityBar.activeBorder
を使用して制御できます。アクティブな要素のオプションの背景色 activityBar.activeBackground
も導入しました。構成すると、次のようになります。
テーマ設定可能なウィンドウボーダー
VS Code ウィンドウの周囲にボーダーを提供するために、window.activeBorder
と window.inactiveBorder
という 2 つの新しいテーマカラーを導入しました。window.activeBorder
はアクティブ(フォーカスされた)ウィンドウに適用され、window.inactiveBorder
は非アクティブ(フォーカスされていない)ウィンドウに適用されます。これらの新しいカラーはどのカラーからも継承されないため、テーマまたは workbench.colorCustomizations
設定によって提供される必要があります。1 つのカラーのみが指定されている場合、そのカラーのボーダーがアクティブウィンドウと非アクティブウィンドウの両方に適用されます。
リストとツリーのキーボードスクロール
キーボードを使用してリストとツリーをスクロールするために、⌘↑ (Windows、Linux Ctrl+Up) および ⌘↓ (Windows、Linux Ctrl+Down) を押せるようになりました。
Zen モードでの通知の削減
Zen モードを使用している間、通知トーストはエラーに関する情報を通知する場合を除き、気を散らすことはなくなります。この動作は、新しい zenMode.silentNotifications
設定で制御できます。すべての通知には、右下の通知アイコンをクリックすることで、ステータスバーからいつでもアクセスできます。
アウトラインとブレッドクラムのタイプフィルター
アウトラインビューとブレッドクラムナビゲーションに表示されるシンボルを設定するための新しい設定があります。設定の名前は outline.show{symbol type}
および breadcrumbs.show{symbol type}
です。たとえば、outline.showVariables
、outline.showFunctions
などです。
上記のスクリーンショットは、ローカル変数を表示しないように構成されたアウトラインビューを示しており、変数 hidden
が表示されていないことがわかります。
シンボルのタイプを割り当てるのは言語拡張機能次第であることに注意してください。アウトラインビューのシンボルラベルにカーソルを合わせると、使用されているシンボルタイプを確認できます(括弧内に表示されます)。
エディター分割時のサイズ変更動作の制御
新しい設定 workbench.editor.splitSizing
は、エディターを分割するときのレイアウトを制御します。デフォルトでは、サイズは以下の図のようにすべてのエディターに均等に分配されます。
この設定を split
に変更すると、現在のエディターが半分に分割され、他のエディターのサイズには影響しません。
GPU アクセラレーションの無効化
VS Code の UI のレンダリングに GPU がどのように使用されているかに関連していると思われる issue レポートがユーザーから寄せられています。これらのユーザーは、追加の --disable-gpu
コマンドライン引数を付けて VS Code を実行すると、はるかに快適なエクスペリエンスを得られます。この引数を付けて実行すると、GPU ハードウェアアクセラレーションが無効になり、ソフトウェアレンダラーにフォールバックします。
より簡単に使用できるように、このフラグを設定として追加して、毎回コマンドラインで渡す必要がないようにすることができます。
このフラグを追加するには
- コマンドパレットを開きます (⇧⌘P (Windows、Linux Ctrl+Shift+P))。
- Preferences: Configure Runtime Arguments コマンドを実行します。
- このコマンドを実行すると、ランタイム引数を構成するための
argv.json
ファイルが開きます。すでにいくつかのデフォルトの引数が表示されている場合があります。 "disable-hardware-acceleration": true
を追加します。- VS Code を再起動します。
注: 問題が発生している場合を除き、この設定は使用しないでください!
エディター
言語ごとの files.eol
files.eol
設定を言語ごとに設定できるようになりました。たとえば、'mylanguage' 言語識別子のすべてのファイルが、すべての新しいファイルのデフォルトの行末シーケンスとして \n
を使用するように定義できます。
"[mylanguage]": {
"files.eol": "\n"
}
行末シーケンスは、新しいファイルに使用されます。既存のファイルの場合、現在の行末シーケンスは常に保持されます。既存のファイルの行末シーケンスを変更するには、Change End Of Line Sequence コマンドを使用します。
files.eol
言語設定を使用すると、'shellscript' のデフォルトの行末シーケンスが \n
として定義されるようになりました。
ミニマップのスケーリングとフォントレンダリングの改善
新しい設定 editor.minimap.scale
は、ミニマップのサイズをいくつかの定数値の 1 つに設定します。これは、高 DPI または超ワイドディスプレイに特に役立ちます。また、ミニマップのフォントのレンダリングがよりスムーズでクリアになりました。
キーボードからの定義プレビューホバー
定義プレビューホバーウィジェットのアクセシビリティを向上させるための新しいコマンド Show Definition Preview Hover があります。これは、マウスでシンボルをホバーし、プラットフォームと構成に応じて修飾キーを押すことでトリガーできます。以前は、コマンド Show Hover のみが提供されていましたが、これはマウスカーソルをシンボル上にホバーするのと同じです。Show Definition Preview Hover を使用すると、キーボードから詳細なホバー情報を表示できるようになりました。
括弧のマッチングの改善
以前は、VS Code はカーソルが括弧文字の隣にある場合にのみ、一致する括弧を強調表示していました。現在、VS Code は、囲み括弧が存在する場合は常に強調表示します。
また、Go to Bracket および Select to Bracket アクションを調整して、囲み括弧を使用するようにしました。
選択範囲の複製
Duplicate Selection という名前の新しいアクションを追加しました。実行すると、現在の選択範囲が複製され、結果が選択されます。選択範囲がない場合、現在の行が複製されます。これらはすべて、システムクリップボードに書き込むことなく行われます。
フォント機能設定
フォント機能をより細かく制御できるようになりました。"editor.fontLigatures": true
を構成すると、VS Code は liga
と calt
をオンにします。ただし、一部のフォントには、Fira Code で使用されているスタイルのセットなど、より多くの設定があります。
これらのフォント機能を明示的に制御できるようになりました。たとえば、
"editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
"[javascript]": {
"editor.fontLigatures": "'ss02', 'ss19'",
},
上記の設定では、エディターで Fira Code フォントファミリーを使用し、すべての言語でフォントリガチャをオンにし、JavaScript ファイルで「水平バー」('ss02')と「ドット付きゼロ」('ss19')フォント機能設定を有効にするように構成します。これにより、JavaScript で >=
リガチャが水平バーでレンダリングされ、0
が内部にドット付きでレンダリングされます。
Unicode 結合文字の処理の改善
Unicode 結合文字の処理を改善し、そのようなシーケンスをアトミック文字として扱います(カーソル移動、編集操作、またはブロックカーソルレンダリングにおいて)。これは、ブロックカーソルスタイルと前後のアニメーションを使用すると最もよくわかります。
前
後
関連する変更として、ステータスバーに Col
セクションの Unicode ポイント数が表示されるようになりました。
カーソルリドゥ
Soft Undo コマンドの名前が Cursor Undo に変更されました。このアクションは、たとえば、⌘D (Windows、Linux Ctrl+D) を使用して次のマッチを選択し、1 回行き過ぎた場合などに便利です。これは、最後のカーソル状態の変更のみを元に戻すためです。さらに、以前に元に戻したカーソル状態の変更をやり直す Cursor Redo が追加されました。
差分エディターの改善
組み込みの差分計算には、以前は 5 秒のハードコードされたタイムアウトがあり、それを過ぎるとあきらめて最小限でない差分を返していました。"diffEditor.maxComputationTime"
を使用してこのタイムアウトを設定できるようになりました。タイムアウトを 0
に設定すると、時間がどれだけかかっても常に最小限の差分を計算します。さらに、計算に 1 秒以上かかる場合、差分エディターに進捗バーが表示されるようになりました。
差分エディターを使用する際の混乱の原因の 1 つは、先頭または末尾の空白文字のみが異なるファイルを比較し、差分エディターが末尾の空白文字を無視するように構成されている場合でした。これにより、ソース管理ではファイルが変更済みとして表示されますが、差分エディターでは差分が表示されません。VS Code は、このケースを検出すると、Show Whitespace Differences ボタンを表示して、空白文字の差分をすばやく表示できるようにします。これは、差分エディターの上部にある Show/Ignore Trim Trailing Whitespace Difference コマンドを使用して切り替えることができます。
統合ターミナル
コードがデフォルトでサポートされるようになりました
新しい設定 terminal.integrated.allowChords
(デフォルトは true
) では、コードキーバインディングの一部であるキーバインディングが、評価のためにターミナルをスキップし、代わりに VS Code によって処理されるようにします (terminal.integrated.commandsToSkipShell
許可リストをバイパスします)。
ターミナルでのキーバインディングに関する同じ制限が引き続き適用されることに注意してください。この評価を行う際には、優先順位が最も高いコードキーバインディングが考慮されます。
たとえば、拡張機能がキーバインディング Ctrl+M A を提供し、keybindings.json
ファイルに次のように定義されている場合、
[
{ "key": "ctrl+m a", "command": "workbench.action.terminal.toggleTerminal" },
{ "key": "ctrl+m a", "command": "workbench.action.focusLastEditorGroup" }
]
Ctrl+M A は、最後のキーバインディングであり、ユーザーキーバインディングは拡張機能が提供するキーバインディングよりも優先順位が高いため、workbench.action.focusLastEditorGroup
コマンドの実行につながります。
高速スクロールのサポート
ターミナルは、editor.fastScrollSensitivity
設定で定義された乗数に基づいて、マウスホイールで Alt を押すとより高速なスクロールをサポートするようになりました。
右クリック動作の新しい「貼り付け」オプション
rightClickBehavior
設定に、右クリック時に常にターミナルに貼り付けるための新しいオプションが追加されました。
"terminal.integrated.rightClickBehavior": "paste"
単語を選択するためのダブルクリックで、より多くの区切り文字が使用されるようになりました
ターミナルで単語を選択するためにダブルクリックすると、文字 ,
、:
、および ;
が単語区切り文字としてカウントされるようになりました。
シンボリックリンク cwd が解決されなくなりました
ターミナルの初期ワーキングディレクトリがシンボリックリンクに設定されている場合、シンボリックリンクはターミナルで保持されるようになりました。
コマンドナビゲーションがスクロール位置から機能するようになりました
コマンドナビゲーションを使用すると、ターミナルで実行されたコマンド間を移動したり、コマンド間を選択したりできます。これにより、ターミナルのスクロール位置が考慮されるようになり、スクロールして前のコマンドを見つけると、ターミナルはターミナルのビューポートから上にスクロールします(以前は下からスクロールしていました)。
コマンドナビゲーションは、macOS でのみデフォルトで Cmd+Up/Down
としてバインドされ、コマンド選択は Cmd+Shift+Up/Down
としてバインドされます。
Windows または Linux でこの機能を使用する場合のキーバインディングの例を次に示します。
{
// Terminal command tracking on Windows and Linux
{ "key": "ctrl+up", "command": "workbench.action.terminal.scrollToPreviousCommand", "when": "terminalFocus" },
{ "key": "ctrl+down", "command": "workbench.action.terminal.scrollToNextCommand", "when": "terminalFocus" },
{ "key": "ctrl+shift+up", "command": "workbench.action.terminal.selectToPreviousCommand", "when": "terminalFocus" },
{ "key": "ctrl+shift+down", "command": "workbench.action.terminal.selectToNextCommand", "when": "terminalFocus" },
}
タスク
タスククイックピッカーリスト
定義されたタスクが 1 つしかない場合、Tasks: Configure Task コマンドは常にタスクのクイックピッカーリストをスキップするようになりました。この動作を Tasks: Run Task およびその他のタスククイックピッカーに拡張するには、task.quickOpen.skip
設定を true
に設定します。
新しい設定 task.quickOpen.history
は、タスククイックピッカーに 最近使用した タスクとして表示されるタスクの数を制御します。task.quickOpen.history
を 0
に設定すると、タスククイックピッカーの最近使用したタスクセクションが無効になります。
detail
プロパティを持つタスクは、一部のタスクリストに表示されるようになりました。task.quickOpen.detail
を false
に設定すると、タスククイックピッカーの詳細をオフにできます。
フォルダーの NPM スクリプトを実行するオプション
npm.enableRunFromFolder
設定が有効になっている場合、フォルダーが選択されていると、ファイルエクスプローラーのコンテキストメニューに Run NPM Script in Folder... コマンドが表示されます。このコマンドは、このフォルダーに含まれる NPM スクリプトのクイックピッカーリストを表示し、タスクとして実行するスクリプトを選択できます。
低速なタスクプロバイダーの警告
タスクプロバイダーの実行速度が遅い場合、速度低下を回避する方法の提案を含む警告が表示されるようになりました。警告は、個々のタスクタイプに対して無効にすることも、task.slowProviderWarning
を false
に設定してすべてのタスクに対して無効にすることもできます。
タスクの自動検出の無効化
関心のあるすべてのタスクが tasks.json
ファイルで定義されている場合、タスクを実行するときのパフォーマンスを向上させるために、すべての拡張機能タスクプロバイダーを無効にすることができます。個々の拡張機能がタスクプロバイダーを無効にする設定を提供するのは良い習慣ですが、task.autoDetect
を off
に設定して、すべてのタスクプロバイダーを無効にできるようになりました。
問題マッチャーのプロンプト
以前は、問題マッチャーのないタスクは、問題マッチャーのプロンプトをスキップするために、tasks.json
に空の問題マッチャーセットを設定する必要がありました。現在では、task.problemMatchers.neverPrompt
を使用して、すべてのタスクまたは特定のタスクタイプに対して問題マッチャーのプロンプトを無効にすることができます。問題マッチャーのプロンプトには、プロンプトを無効にするための新しいオプションもあります。
ソース管理
アクティブなエディターの変更時にファイルを強調表示
ソース管理ビューで、アクティブなエディターファイルがツリー/リストビューで自動的に強調表示されるようになりました。
Git: 追跡されていないファイルの管理の改善
Git: Untracked Changes 設定を使用して、追跡されていないファイルを個別に管理できるようになりました。ソース管理ビューで追跡されていないファイルを別のグループに表示する場合は、separate
オプションを選択します。追跡されていないファイルをまったく表示しない場合は、hidden
を選択します。デフォルトのコミットアクションは、この設定に合わせて調整され、mixed
設定値を使用する場合にのみ、コミットに追跡されていない変更を含めます。
Git: マージコミット時の自動コミットメッセージ
VS Code が git マージコミットの途中であることを検出すると、コミット入力ボックスに Git のデフォルトのコミットメッセージが自動的に入力されます。
Git: エクスプローラーで表示
ソース管理ビューの Git リポジトリから、ファイルエクスプローラーでファイルを表示するためのコンテキストメニューアクション Reveal in Explorer が追加されました。
Git: クローン進捗状況
クローン操作で、右下の通知に進捗状況を表示できるようになりました。
デバッグ
概要ルーラーにブレークポイントを表示可能
大きなファイルでブレークポイントを操作する際に便利になるように、新しい設定 debug.showBreakpointsInOverviewRuler
を有効にすることで、エディターの概要ルーラーにブレークポイントを表示できるようになりました。
複合デバッグ構成の PreLaunch タスク
現在、すべてのデバッグ構成は、preLaunchTask
属性を介してデバッグセッションを開始する前に実行するタスクを指定できます。これは、単一のプログラムをデバッグする場合はうまく機能しますが、複数のプログラムが関与する複合構成を使用する場合は扱いにくくなります。
このマイルストーンでは、複合デバッグ構成ごとの preLaunchTask
のサポートを追加しました。この追加により、個々のデバッグセッションが開始される前に、単一のタスクですべてのデバッグターゲットをビルドできます。ビルドエラーが発生した場合、セッションは開始されません。
言語
CSS メディアクエリシンボル
CSS/SCSS/Less ファイルでは、メディアクエリシンボルがアウトラインビュー、ブレッドクラムパス、および Go to Symbols in File リストに表示されるようになりました。
typescript.tsserver.maxTsServerMemory
数千のファイルを含む大規模な TypeScript プロジェクトを操作している場合、新しい typescript.tsserver.maxTsServerMemory
設定を使用すると、IntelliSense を強化する TypeScript サーバーの最大メモリ使用量を増やすことができます。
拡張機能の作成
vscode.env.uiKind
新しい API vscode.env.uiKind
が追加され、拡張機能が実行されている UI の種類を認識できるようになりました。ブラウザーで VS Code を実行できるようにするために、可能な値は UIKind.Web
と UIKind.Desktop
です。
コール階層プロバイダー API
コール階層プロバイダー API を最終決定しました: CallHierarchyProvider。関数、メソッドなどの呼び出し元と呼び出し先を見つける Peek Call Hierarchy 機能をサポートしています。
タスク CustomExecution
CustomExecution
タスクタイプ API が最終決定されました。シェルまたはプロセスタスクがタスクに適していない場合は、CustomExecution
タスクを使用して、拡張機能でコールバックを実行できます。詳細については、タスクプロバイダー拡張機能ガイドを参照してください。
デバッグ API: "startDebugging" リクエストの "consoleMode" オプション
前回のマイルストーンでは、デバッグセッションの階層が単一のデバッグコンソールを共有するか、個別のコンソールを使用するかを制御するための新しい提案された API を導入しました。この API は公式になったため、Marketplace で公開されている拡張機能で使用できます。
アイコンカラートークン
アイコンの新しいカラートークンをようやく導入できることを嬉しく思います。特定の領域に徐々に追加していきます。以下は最初のバッチです。
シンボル
これらのアイコンは、アウトラインビュー、ブレッドクラムナビゲーション、および提案ウィジェットに表示されます。
symbolIcon.arrayForeground
symbolIcon.booleanForeground
symbolIcon.classForeground
symbolIcon.colorForeground
symbolIcon.constructorForeground
symbolIcon.constantForeground
symbolIcon.enumeratorForeground
symbolIcon.enumeratorMemberForeground
symbolIcon.eventForeground
symbolIcon.fieldForeground
symbolIcon.fileForeground
symbolIcon.folderForeground
symbolIcon.functionForeground
symbolIcon.interfaceForeground
symbolIcon.keyForeground
symbolIcon.keywordForeground
symbolIcon.methodForeground
symbolIcon.moduleForeground
symbolIcon.namespaceForeground
symbolIcon.nullForeground
symbolIcon.numberForeground
symbolIcon.objectForeground
symbolIcon.operatorForeground
symbolIcon.packageForeground
symbolIcon.propertyForeground
symbolIcon.referenceForeground
symbolIcon.snippetForeground
symbolIcon.stringForeground
symbolIcon.structForeground
symbolIcon.textForeground
symbolIcon.typeParameterForeground
symbolIcon.unitForeground
symbolIcon.variableForeground
問題と通知
問題と通知のアイコンのデフォルトカラーをエディターの前景色から継承するように設定しました。そのため、これらのカラーを変更すると、他の領域に継承されます。
問題パネルと通知のアイコンカラーを明示的に設定することもできます。
problemsErrorIcon.foreground
problemsWarningIcon.foreground
problemsInfoIcon.foreground
notificationsErrorIcon.foreground
notificationsInfoIcon.foreground
notificationsWarningIcon.foreground
電球
電球アイコンもテーマ設定可能です。
editorLightBulb.foreground
editorLightBulbAutoFix.foreground
vscode.env.asExternalUri
vscode.env.asExternalUri
API を使用すると、拡張機能は、拡張機能が実行されている場所からの 外部 URI (http:
または https:
URI など) を、クライアントマシン上の同じリソースの URI に解決できます。これは、vscode.env.openExternal
API のコンパニオンです。ただし、解決された URI を外部プログラムを使用して開く代わりに、結果を拡張機能に返します。
import * as vscode from 'vscode';
import * as http from 'http';
const PORT = 3000;
export function activate(context: vscode.ExtensionContext) {
startLocalServer(PORT);
context.subscriptions.push(
vscode.commands.registerCommand('example.command', async () => {
const resolved = vscode.env.asExternalUri(
vscode.Uri.parse(`http://localhost:${PORT}`)
);
vscode.window.showInformationMessage(
`Resolved to: ${resolved} on client and copied to clipboard`
);
vscode.env.clipboard.writeText(resolved.toString());
})
);
}
function startLocalServer(port: number) {
const server = http.createServer((req, res) => {
res.end('Hello world!');
});
server.on('clientError', (err, socket) => {
socket.end('HTTP/1.1 400 Bad Request\r\n\r\n');
});
server.listen(port);
vscode.window.showInformationMessage(`Started local server on port: ${port}`);
}
http:
および https:
URI の場合、拡張機能がクライアントマシンで実行されている場合、asExternalUri
は何もしません。ただし、拡張機能がリモートで実行されている場合、vscode.env.asExternalUri
は、ローカルマシンからリモートの target
へのポートフォワーディングトンネルを自動的に確立し、トンネルへのローカル URI を返します。
asExternalUri
が vscode.env.uriScheme
URI で呼び出された場合、ブラウザーで開かれた場合 (たとえば、openExternal
経由で) に、登録された URI ハンドラーがトリガーされる URI を返します。
実験的なカスタムデータ設定とコントリビューションポイントの削除
[html/css].experimental.customData
設定と contributes.[html/css].experimental.customData
コントリビューションポイントは、1.38 で非推奨となり、削除されました。代わりに、安定版のカスタムデータ設定とコントリビューションポイントを使用できます。カスタムデータ形式の詳細については、microsoft/vscode-custom-data リポジトリを参照してください。
extensionKind は配列にすることができます
package.json
では、extensionKind
プロパティは、リモートケースで拡張機能を実行する場所を示すために、値 "ui"
または "workspace"
を持つことができます。このリリースでは、extensionKind
は配列にすることができます。たとえば、["ui", "workspace"]
は、拡張機能が "ui"
側と "workspace"
側の両方で実行でき、"ui"
側にインストールされている場合は、"ui"
側で実行することを優先することを示します。
提案された拡張機能 API
すべてのマイルストーンには、新しい提案された API が付属しており、拡張機能の作成者はそれらを試すことができます。いつものように、フィードバックをお待ちしております。提案された API を試すには、次の手順を実行する必要があります。
- 提案された API は頻繁に変更されるため、Insiders を使用する必要があります。
- 拡張機能の
package.json
ファイルに、"enableProposedApi": true
という行が必要です。 - vscode.proposed.d.ts ファイルの最新バージョンをプロジェクトのソースロケーションにコピーします。
提案された API を使用する拡張機能を公開することはできません。次のリリースで重大な変更が発生する可能性があり、既存の拡張機能を壊したくありません。
IntelliSense 置換モードのサポート
提案が既存のテキストを置き換えるか、単に挿入されるかをユーザーが決定できる機能に取り組んでいます。たとえば、con|st
内で console
を受け入れると、console
(置換) または consolest
(挿入) になる可能性があります。どちらのモードにもメリットがあり、最終的には現在のコンテキストとユーザーの好みに依存します。この機能を最適に機能させるには、拡張機能で何をすべきかを指示する必要があります。したがって、CompletionItem#range
プロパティに新しいタイプを追加することを提案します。次のように変更します。
interface CompletionItem {
range?: Range | { insert: Range; replace: Range };
}
範囲は引き続きオプションであるか、単純な範囲にすることができますが、挿入用と置換用の 2 つの範囲にすることもできます。詳細については、Issue #10266 を参照してください。
タスクの詳細
UI に表示されるときにタスクに detail
を追加するためにタスクプロバイダーが使用できる Task
の新しいプロパティがあります。tasks.json
で detail プロパティを使用することもできます。組み込みの npm 拡張機能は、タスクの詳細を使用して、実行される npm スクリプトを表示します。
Custom Editors への WebviewPanelOptions の受け渡しをサポート
このイテレーションでは、Custom Editor API 提案に関する作業を継続しました。提案された registerWebviewEditorProvider
関数は、カスタムエディターの WebView で retainContextWhenHidden
およびその他の機能を有効にする options
のセットを受け取るようになりました。
export function registerWebviewEditorProvider(
viewType: string,
provider: WebviewEditorProvider,
options?: WebviewPanelOptions
): Disposable;
エンジニアリング
ブラウザーで実行中の VS Code のテスト
VS Code をブラウザーで実行できる最小限のセットアップが開発とテストで使用できるようになりました。ブラウザーインスタンスにはまだいくつかの機能が欠落しており、活発に開発が進められています。
vscode リポジトリのローカルフォークで、コマンドラインから yarn web
を実行し、http://localhost:8080/
にアクセスします。vscode リポジトリのクローン作成とビルドの詳細については、セットアップ手順を参照してください。
注: このセットアップを本格的な開発に使用しないでください。目的は、コミュニティが VS Code に変更をコントリビューションして、ブラウザーでの全体的なエクスペリエンスを向上させることです。
TypeScript 3.7 での VS Code のビルド
VS Code は、TypeScript 3.7 を使用してビルドされるようになりました。これにより、オプションチェーン (?.
) をコードベースで使用できるようになり、(その他多くの改善ももたらされます) 、エキサイティングなアップデートです。
今日から VS Code で TypeScript 3.7 機能の使用を開始するには、JavaScript and TypeScript Nightly 拡張機能をインストールしてください。
Electron 6.0 アップデート
このマイルストーンでは、Electron 6 を VS Code にバンドルする調査を完了し、この Electron バージョンが安定版で出荷されるのは初めてです。これは主要な Electron リリースであり、Chromium 76.0.3809.146 および Node.js 12.4.0 (Chromium 69 および Node.js 10.11.0 を搭載した現在のバージョンからの大きな飛躍) が付属しています。
Electron 7 へのアップデートの調査を開始しました。近日中に Insiders にプッシュしたいと考えています。
注目すべき修正
- 78634: ターミナルのコンテンツがサイズ変更時に消える (powershell/conpty)
- 25854: Markdown プレビューをドラッグして新しいエディターグループを開始できない
- 81824: Webview エディターが [履歴から前のエディターを開く] コマンドに表示されない
謝辞
最後に、重要なことですが、VS Code をさらに良くするためにご協力いただいた以下の皆様に、心から感謝申し上げます!
issue 追跡への貢献
受信 issue の管理にご協力いただける場合は、コミュニティ Issue 追跡ページをご覧ください。
vscode
への貢献
- Adam Burgess (@adamburgess): ターミナルの右クリックに貼り付けオプションを追加 PR #81448
- André Casal (@andrecasal): git.confirmEmptyCommits の説明を明確化 PR #83257
- Anirudh Rayabharam (@anirudhrb)
- Anthony Dresser (@anthonydresser): sql 言語構文を更新 PR #77601
- Brian Malehorn (@bmalehorn): search: 未使用の設定項目を削除 PR #82019
- Callum Mellor-Reed (@callummr): エディターを復元するときに正しい SCM リポジトリにフォーカス PR #79566
- Dave Alongi (@dalongi): product.json で issue レポーターが無効になっている場合、[ヘルプ] > [issue を報告] メニュー項目を非表示 PR #83561
- Dhairya Nadapara (@dhairyanadapara): 設定に分割ペインオプションを追加 PR #82888
- DiamondYuan (@DiamondYuan): コマンドパレットから VS Code を更新するサポート PR #77515
- Drew Cross (@drew212): issue 76195 の git stash drop を追加 PR #76342
- Edward Thomson (@ethomson)
- Alexandr Fadeev (@fadeevab): 次のものをサポートするように更新されたスキームの Makefile テストケース: var:=$(val:.c=.o) PR #83121
- Andrew Wong (@featherbear): 現在のコマンドライン引数のチェックを変更 PR #83311
- Freddy Robinson (@frobinsonj)
- @gawicks: マージコンフリクトを解決するときにデフォルトメッセージの受け入れを許可 PR #66522
- John Murray (@gjsjohnmurray): フォーマッター関連のメッセージからハイフンを削除 PR #83538
- @HonkingGoose: Emmet チートシートへのリンクに HTTPS を使用。 PR #82754
- Hung-Wei Hung (@hunghw): #79428 を修正 - スニペットに "$WORKSPACE_FOLDER" を追加 PR #79764
- Andrew Liu (@hypercubestart): 30419 と 80649 を修正 - 最近使用したタスクの数の設定を許可 PR #82757
- Andrii Dieiev (@IllusionMH): 正規表現で単語全体一致を使用した場合に PCRE2 にフォールバック PR #82072
- @Jakobeha: 追跡されていないファイルを分離または非表示にする構成オプション (addresses #35480) PR #80083
- Jean Pierre (@jeanp413)
- Jakob Fahr (@jfhr): ライトテーマのMarkdownプレビューで数字が読みにくい問題を修正 #82199 PR #82450
- Liming Jin (@jinliming2): 修正: IPv6形式のHTTPプロキシアドレスを入力する際のエラー PR #77260
- Jon Bockhorst (@jmbockhorst)
- Jonas Platte (@jplatte): linux/bin/code.sh: whichの代わりにcommand -vを使用 PR #82097
- JavaScript Joe (@jsjoeio): 修正: ExtensionSuggestionsからTypeScriptを削除 PR #82125
- Jesús Alonso Abad (@Kencho): PODブロックを折りたたむためのPerl5サポート PR #71448
- Nikolay Kondratyev (@kondratyev-nv)
- Kryštof Řeháček (@Krystofee): RANDOM、RANDOM_HEXスニペット変数を追加 PR #82529
- Kumar Harsh (@kumarharsh): fix(workbench): 最近使用したタスクを無効にする設定を追加 PR #61994
- Lio李欧 (@lionello): StartFindWithSelectionActionが検索ウィジェットにフォーカスしないようにする PR #63176
- @MartinBrathen: 修正: 画像プレビューがフォーカスされていない場合、最初のクリックでズームしないようにする PR #82074
- Per Persson (@md2perpe): 欠落している前置詞を追加 PR #82613
- Niklas Mollenhauer (@nikeee): 実行可能ファイルでないファイルから実行可能ビットを削除 PR #82103
- @NotWearingPants
- Nate Rauh (@NRauh): 機能/他のタブをピン留め PR #82545
- Oxirt (@oxirt):
Git: fetch
コマンドでパスワードプロンプトを表示できるようにする PR #72615 - @simaosilva: editorHoverWidget.foregroundをサポート PR #65170
- Prabhanjan S Koushik (@skprabhanjan)
- saif (@sksaifuddin): 修正 #78014 &と^に加えて|、<、>をエスケープする機能を追加 PR #82704
- @smilegodly: 設定エディターの検索バーにクリアボタンを追加 PR #82904
- Sohail Rajdev (@sohailrajdev97): gruntタスクランナーにコマンドライン引数のサポートを追加 PR #82819
- Konstantin Solomatov (@solomatov)
- Charles Milette (@sylveon): 選択するタスクが1つしかない場合はクイックピッカーをスキップ PR #47853
- U-ways (@U-ways): 画像プレビューが正しいキャンバスサイズを表示するように修正 PR #82027
- Alexander (@usernamehw)
- Jeremy Shore (@w9jds)
- Ԝеѕ (@wesinator): .har拡張子をJSON言語に追加 PR #77300
- Xhulio Hasani (@xuhas): deleteTagを追加 PR #74345
- Yusuke Yamada (@yamachu): サジェストで多くの文字が上書きされる問題を修正 PR #82349
- Keyon You (@youngyou): 無効になっているボタンで
space
キーを押してもクリックイベントが発生しないようにする PR #81975 - Helen3141 (@helen3141): 包含フォルダー内の個々のnpmスクリプトの実行を有効にする PR #79960
language-server-protocol
への貢献
- Adedayo Adetoye (aka Dayo) (@adedayo): ServerCapabilities内の重複するfoldingRangeProviderフィールドを削除 PR 848
vscode-eslint
への貢献
- Christian Batchelor (@CSBatchelor): README.mdのタイプミス PR #777
vscode-json-languageservice
への貢献
- Ben Hutton (@Relequestual): ドラフト2019-09のエラーメッセージを更新 PR #45
vscode-css-languageservice
への貢献
- Sergey Zolotarev (@sryze): URI.parse()呼び出しをtry ... catchでラップ PR #180
node-jsonc-parser
への貢献
- KoyamaSohei (@KoyamaSohei): READMEのタイプミスを修正 PR #25
- Jakub Rożek (@P0lip): parse関数がキーとして空文字列を持つプロパティを含めるようにする PR #24
debug-adapter-protocol
への貢献
- Peter Thomas (@ptrthomas): DAP実装としてkarateを追加 PR #78
vscode-vsce
への貢献
- Ritwick Dey (@ritwickdey): [追加] README.md内の
<img>
タグの相対ソースが絶対URLに書き換えられない問題を修正 PR #208 - Theo Tzaferis (@tzfrs): 変更されていないREADME.mdで拡張機能をパッケージ化する際のエラーメッセージを改善 PR #392
inno-updater
への貢献
- Adam Coyne (@bhank): テキストの切り捨てを避けるためにコントロール幅を拡大 PR #13
localization
への貢献
Microsoft Localization Community Platform(MLCP)を使用しているCloud + AI Localizationコミュニティメンバーは800人以上おり、Visual Studio Codeへのアクティブな貢献者は約100人です。新しい翻訳の提供、翻訳への投票、またはプロセス改善の提案など、皆様の貢献に感謝いたします。
これは貢献者のスナップショットです。貢献者名リストを含むプロジェクトの詳細については、プロジェクトサイト(https://aka.ms/vscodeloc)をご覧ください。
- ボスニア語(ラテン文字、ボスニア・ヘルツェゴビナ): Adnan Rizvan。
- チェコ語: Michal Franc、Jan Hruby。
- デンマーク語: Lasse Stilvang、Frederik bruun。
- オランダ語: Laurens Kwanten、Lemuel Gomez、Niels ter Haar。
- 英語(英国): Graham Smith、Martin Littlecott、Alexander McLean。
- フランス語: Antoine Griffard、Rodolphe NOEL、Bruno Lewin、Maxime Bouveron、DJ Dakta。
- ドイツ語: Simon Haag、Adrian Bähr、Julian Tomsik。
- ヘブライ語: Ariel Bachar。
- ヒンディー語: Kishan K、Rohit Raj。
- 中国語(簡体字): Yizhi Gu、paul cheung、斌 项、顺 谭、一斤瓜子、Charles Lee、Peng Zeng、Charles Dong、楠 姜、yungkei fan、ztluo、David Huang、普鲁文、Zhen-Qi Liu、zhichen zhao、Phil Wang。
- 中国語(繁体字): Jimmy Hu、船長、E L、Winnie Lin。
- インドネシア語: Jakka Prihatna、Eriawan Kusumawardhono、Nicko Satria Utama、Christian Elbrianno、Septian Adi。
- イタリア語: Alessandro Alpi、Luigi Bruno。
- 日本語: 大嶋 雄太、熊本 道彦、戸倉 彩、天明 将和、不破 貴之、牧野 宏一。
- 韓国語: Hongju、Sungjin Jeong。
- ポーランド語: Andrzej Poblocki、Kacper Łakomski。
- ポルトガル語(ブラジル): Marcelo Fernandes、Marcondes Alexandre、Roberto Fonseca、Alessandro Fragnani、Arthur Renato、Jota Freitas Jr、Caio Felippe Curitiba Marcellos。
- ポルトガル語(ポルトガル): Pedro Filipe。
- ルーマニア語: Andrei Tudor、Bogdan Mateescu、Stefan Gabos。
- ロシア語: Kazakov Lex、Vadim Svitkin、TJS。
- スペイン語: Aleks M、José María Aguilar、Jerónimo Milea、Ricardo Estrada Rdez、Abdón Rodríguez P..
- スウェーデン語: Sven Axelsson、Patric Högman。
- タミル語: Pradeep Krishnan。
- トルコ語: Ahmetcan Aksu、Cansu Gürler、Mehmet Yönügül、Umut Can Alparslan。
- ウクライナ語: Arthur Murauskas、Oleh Hatsenko、Oleksandr Krasnokutskyi、Did Kokos。
- ベトナム語: huy dk、Việt Anh Nguyễn、Ha Xuan Anh Nguyen、Quoc Han Dinh。