2019 年 10 月 (バージョン 1.40)
バージョン 1.40.1 の更新: この更新では、これらの問題に対処しています。
バージョン 1.40.2 の更新: この更新では、これらの問題に対処しています。
ダウンロード: Windows: x64 | Mac: Intel | Linux: deb rpm tarball snap
Visual Studio Code の 2019 年 10 月リリースへようこそ。 10 月のイテレーション計画でお知らせしたとおり、Issue グルーミングガイドに記載されているように、GitHub の Issue とプルリクエストのハウスキーピングに注力しました。すべての VS Code リポジトリ全体で、4622 の Issue をクローズ (トリアージまたは修正) しました。これは、前回の 2018 年 9 月のハウスキーピングイテレーションでクローズした 3918 の Issue よりもさらに多い数です。Issue をクローズする一方で、新たに 2195 の Issue が作成されました。これにより、純減として 2427 の Issue が削減されました。メインの vscode リポジトリには、現在 2162 の未解決の機能リクエストと 725 の未解決のバグがあります。さらに、287 のプルリクエストをクローズしました。この取り組みの一環として、プロセスを調整し、Issue トリアージワークフローを更新しました。
昨年と同様、Benjamin Lannon 氏のライブトラッカーを使用して進捗を追跡しました。
このハウスキーピングマイルストーンでは、いくつかの機能リクエストやコミュニティのプルリクエストにも対応しました。新しい機能と設定については、引き続きお読みください。
Workbench
アクティビティバーのインジケーター
アクティビティバーのアクティブな項目がより目立ち、可読性を高めるための新しいインジケーターを導入しました。また、非アクティブな前景色の調整を行い、アクティブな要素とのコントラストを強めました。
アクティブなインジケーターは、新しいカラー トークン activityBar.activeBorder
を介して制御できます。また、アクティブな要素にオプションの背景色 activityBar.activeBackground
を導入しました。設定すると、次のように表示されます。
テーマ設定可能なウィンドウボーダー
VS Code ウィンドウの周囲にボーダーを設定するための、新しいテーマカラー window.activeBorder
と window.inactiveBorder
を導入しました。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 の使用方法に関連していると思われる問題報告をユーザーから受け付けています。これらのユーザーは、追加の --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"
}
行末シーケンスは新しいファイルに適用されます。既存のファイルについては、現在の行末シーケンスが常に保持されます。既存のファイルの行末シーケンスを変更するには、行末シーケンスの変更コマンドを使用します。
files.eol
言語設定を使用することで、「shellscript」のデフォルトの行末シーケンスは \n
と定義されるようになりました。
ミニマップのスケーリングとフォントレンダリングの改善
新しい設定 editor.minimap.scale
は、ミニマップのサイズをいくつかの定数値のいずれかに構成します。これは、高 DPI または超ワイドディスプレイで特に便利です。また、ミニマップのフォントのレンダリングがより滑らかで鮮明になりました。
キーボードからの定義プレビューホバー
定義プレビューホバーウィジェットのアクセシビリティを向上させるための新しいコマンド 定義プレビューホバーを表示 が追加されました。このウィジェットは、マウスでシンボルにホバーし、プラットフォームと設定に依存する修飾キーを押すことでトリガーできます。以前は、ホバーを表示コマンドのみが提供されており、これはマウスカーソルをシンボルにホバーするのと同等でした。今回、定義プレビューホバーを表示により、詳細なホバー情報をキーボードで表示できるようになりました。
括弧のマッチングの改善
以前は、カーソルが括弧文字の隣にある場合にのみ、VS Code は対応する括弧をハイライトしていました。現在、VS Code は、存在する囲む括弧を常にハイライトします。
また、括弧へ移動および括弧まで選択アクションを調整し、囲む括弧を使用するようにしました。
選択範囲の複製
選択範囲の複製という新しいアクションを追加しました。実行すると、現在の選択範囲が複製され、結果が選択されます。選択範囲がない場合は、現在の行が複製されます。これらはすべてシステムクリップボードに書き込まれることなく実行されます。
フォント機能の設定
フォント機能をより細かく制御できるようになりました。"editor.fontLigatures": true
を構成すると、VS Code は liga
と calt
を有効にしていました。しかし、一部のフォントには、Fira Code が使用するスタイルセットなど、さらに多くの設定があります。
これらのフォント機能を明示的に制御できるようになりました。例:
"editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
"[javascript]": {
"editor.fontLigatures": "'ss02', 'ss19'",
},
上記の例の設定では、エディターが Fira Code フォントファミリーを使用し、すべての言語でフォント合字を有効にし、JavaScript ファイルでは「Horizontal Bar」('ss02')と「Dotted zero」('ss19')のフォント機能を有効にするように設定されています。これにより、JavaScript で >=
合字が横棒で、0
が内部に点のある文字としてレンダリングされます。
Unicode 結合文字の処理の改善
Unicode 結合文字の処理に関する改善を行い、これらのシーケンスをアトミックな文字として扱います(カーソル移動、編集操作、またはブロックカーソルレンダリングにおいて)。これは、ブロックカーソルスタイルとビフォー/アフターのアニメーションで最もよく示されます。
以前
以後
関連する変更として、ステータスバーの Col
セクションに Unicode ポイント数が表示されるようになりました。
カーソルリドゥ
ソフトアンドゥコマンドはカーソルアンドゥに名前が変更されました。このアクションは、たとえば⌘D (Windows, Linux Ctrl+D) を使用して次のマッチを選択しすぎてしまった場合など、最後のカーソル状態の変更のみを元に戻すのに役立ちます。さらに、以前に元に戻されたカーソル状態の変更をやり直すカーソルリドゥを追加しました。
差分エディターの改善
組み込みの差分計算には、以前は 5 秒のハードコードされたタイムアウトがあり、その後は諦めて最小ではない差分を返していました。このタイムアウトは "diffEditor.maxComputationTime"
を使用して構成できるようになりました。タイムアウトを 0
に設定すると、どれだけ時間がかかっても常に最小差分が計算されます。さらに、差分エディターは、計算に 1 秒以上かかる場合にプログレスバーを表示するようになりました。
差分エディターを使用する際に混乱の元となっていたのは、先頭または末尾の空白の違いのみがあるファイルを比較し、差分エディターが空白のトリムを無視するように構成されている場合でした。これにより、ソース管理はファイルが変更されたと表示する一方で、差分エディターは差分を表示しないという結果になりました。VS Code は、このケースを検出すると、空白の差分を素早く表示するための空白の差分を表示ボタンを表示するようになりました。これは、差分エディターの上部にある末尾の空白文字の差分を表示/無視コマンドを使用して切り替えることができます。
統合ターミナル
コードがデフォルトでサポートされるように
新しい設定 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"
単語選択のダブルクリックでより多くの区切り文字を使用
ターミナルで単語を選択するためにダブルクリックする際に、文字 ,
、:
、;
が単語の区切り文字として数えられるようになりました。
シンボリックリンクの現在の作業ディレクトリは解決されなくなった
ターミナルの初期作業ディレクトリがシンボリックリンクに設定されている場合、シンボリックリンクはターミナルで保持されるようになりました。
コマンドナビゲーションがスクロール位置から機能するように
コマンドナビゲーションは、ターミナルで実行されたコマンド間を移動したり、選択したりできるようにします。これは、ターミナルのスクロール位置を考慮するようになったため、スクロールして前のコマンドを見つけると、ターミナルがターミナルのビューポートから上にスクロールします (以前は下からスクロールしていました)。
コマンドナビゲーションは、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つしかない場合、常にクイックピックタスクリストをスキップするようになりました。この動作をタスク: タスクの実行およびその他のタスククイックピックにも拡張するには、task.quickOpen.skip
設定を true
に設定します。
新しい設定 task.quickOpen.history
は、タスククイックピックに最近使用したタスクとして表示されるタスクの数を制御します。最近のタスクセクションを無効にするには、task.quickOpen.history
を 0
に設定します。
detail
プロパティを持つタスクは、一部のタスクリストで表示されるようになりました。タスククイックピックで詳細をオフにするには、task.quickOpen.detail
を false
に設定します。
フォルダーに対してNPMスクリプトを実行するオプション
npm.enableRunFromFolder
設定が有効になっている場合、フォルダーが選択されると、ファイルエクスプローラーのコンテキストメニューにフォルダー内のNPMスクリプトを実行...コマンドが表示されます。このコマンドは、そのフォルダーに含まれるNPMスクリプトのクイックピックリストを表示し、タスクとして実行するスクリプトを選択できます。
タスクプロバイダーが遅い場合の警告
タスクプロバイダーの実行が遅い場合、遅延を回避するための提案を提供する警告が表示されるようになりました。この警告は、個々のタスクタイプに対して無効にすることも、task.slowProviderWarning
を false
に設定することで、すべてのタスクに対して無効にすることもできます。
タスクの自動検出を無効にする
関心のあるすべてのタスクが tasks.json
ファイルに定義されている場合、タスクの実行時にパフォーマンスを向上させるために、すべての拡張タスクプロバイダーを無効にしたい場合があります。個々の拡張機能がタスクプロバイダーを無効にする設定を提供するのは良い習慣ですが、task.autoDetect
を off
に設定することで、すべてのタスクプロバイダーを無効にできるようになりました。
問題マッチャーのプロンプト
以前は、問題マッチャーがないタスクは、問題マッチャーのプロンプトをスキップするために、tasks.json
で空の問題マッチャーを設定する必要がありました。現在、task.problemMatchers.neverPrompt
を使用すると、すべてのタスクまたは特定のタスクタイプに対して問題マッチャーのプロンプトを無効にできます。また、問題マッチャーのプロンプトには、プロンプトを無効にする新しいオプションも追加されました。
ソース管理
アクティブなエディターの変更時にファイルをハイライト
ソース管理ビューは、アクティブなエディターファイルをツリー/リストビューで自動的にハイライトするようになりました。
Git: 未追跡ファイルの管理を改善
Git: Untracked Changes 設定を使用して、未追跡ファイルを個別に管理できるようになりました。ソース管理ビューで未追跡ファイルを別のグループで表示したい場合は、separate
オプションを選択します。表示したくない場合は hidden
を選択します。デフォルトのコミットアクションはこの設定に合わせて調整され、mixed
設定値を使用している場合にのみ未追跡の変更をコミットに含めます。
Git: マージコミット時の自動コミットメッセージ
Git マージコミットの最中であることを VS Code が検出すると、Git のデフォルトのコミットメッセージが自動的にコミット入力ボックスに入力されます。
Git: エクスプローラーで表示
ソース管理ビューの Git リポジトリから、ファイルエクスプローラーでファイルを表示するためのコンテキストメニューアクションエクスプローラーで表示が追加されました。
Git: クローン進行状況
クローン操作が、右下隅の通知で進行状況を表示できるようになりました。
デバッグ
ブレークポイントを概要ルーラーに表示可能
大きなファイルでブレークポイントを扱う際をより簡単にするため、新しい設定 debug.showBreakpointsInOverviewRuler
を有効にすることで、エディターの概要ルーラーにブレークポイントを表示できるようになりました。
複合デバッグ構成のプレローンチタスク
現在、すべてのデバッグ構成は、preLaunchTask
属性を介してデバッグセッションが開始される前に実行されるタスクを指定できます。これは単一のプログラムをデバッグする場合にはうまく機能しますが、複数のプログラムが関与する複合構成を使用する場合には扱いにくくなります。
このマイルストーンでは、複合デバッグ構成ごとの preLaunchTask
のサポートを追加しました。これにより、個々のデバッグセッションが開始される前に、単一のタスクですべてのデバッグターゲットをビルドできます。ビルドエラーが発生した場合、セッションは開始されません。
言語
CSS メディアクエリシンボル
CSS/SCSS/Less ファイルでは、メディアクエリシンボルがアウトラインビュー、ブレッドクラムパス、およびファイル内のシンボルへ移動リストに表示されるようになりました。
typescript.tsserver.maxTsServerMemory
数千のファイルを含む大規模な TypeScript プロジェクトで作業している場合、新しい typescript.tsserver.maxTsServerMemory
設定により、IntelliSense を強化する TypeScript サーバーの最大メモリ使用量を増やすことができます。
拡張機能作成
vscode.env.uiKind
拡張機能がどの種類の UI で実行されているかを知ることができるように、新しい API vscode.env.uiKind
が追加されました。ブラウザでの VS Code の実行をサポートするため、可能な値は UIKind.Web
と UIKind.Desktop
です。
コールヒエラルキープロバイダーAPI
コールヒエラルキープロバイダーAPI (CallHierarchyProvider) を最終決定しました。これは、関数やメソッドなどの呼び出し元と呼び出しを見つけるコールヒエラルキーのピーク機能をサポートしています。
タスク CustomExecution
CustomExecution
タスクタイプ API が最終決定されました。シェルまたはプロセスタスクがタスクに適さない場合、CustomExecution
タスクを使用して拡張機能でコールバックを実行できます。詳細については、タスクプロバイダー拡張ガイドを参照してください。
デバッグAPI: "startDebugging" リクエストの "consoleMode" オプション
前回のマイルストーンで、デバッグセッションの階層が単一のデバッグコンソールを共有するか、個別のコンソールを使用するかを制御するための新しい提案されたAPIを導入しました。このAPIは正式になり、マーケットプレイスで公開されている拡張機能で使用できるようになりました。
アイコンのカラー トークン
アイコン用の新しいカラー トークンをようやく導入できたことを嬉しく思います。一部の領域にこれらを徐々に追加しており、以下が最初のバッチです。
シンボル
これらのアイコンは、アウトラインビュー、ブレッドクラムナビゲーション、サジェストウィジェットに表示されます。
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(`https://:${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 とともに呼び出された場合、その 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
でも詳細プロパティを使用できます。組み込みのnpm拡張機能は、タスク詳細を使用してどのnpmスクリプトが実行されるかを表示します。
Custom Editor に WebviewPanelOptions を渡すサポート
このイテレーションでも、Custom Editor API 提案に関する作業を継続しました。提案された registerWebviewEditorProvider
関数は、カスタムエディターのウェブビューで retainContextWhenHidden
およびその他の機能を有効にするための options
のセットを受け取るようになりました。
export function registerWebviewEditorProvider(
viewType: string,
provider: WebviewEditorProvider,
options?: WebviewPanelOptions
): Disposable;
エンジニアリング
ブラウザで動作する VS Code のテスト
VS Code をブラウザで実行するための最小限のセットアップが、開発およびテスト用に利用可能になりました。ブラウザインスタンスはまだ一部の機能が不足しており、活発に開発中です。
vscode リポジトリのローカルフォークで、コマンドラインから yarn web
を実行し、https://:8080/
にアクセスしてください。vscode リポジトリのクローンとビルドの詳細については、セットアップ手順を参照してください。
注意: このセットアップを本格的な開発に使用しないでください。目的は、コミュニティが変更を VS Code に貢献し、ブラウザでの全体的なエクスペリエンスを向上させることです。
TypeScript 3.7 での VS Code のビルド
VS Code は TypeScript 3.7 を使用してビルドされるようになりました。これは、コードベースでOptional Chaining (?.
) を使用できるようになった素晴らしいアップデートです (その他多くの改善ももたらされます)。
JavaScript および TypeScript Nightly 拡張機能をインストールすることで、今日から VS Code で TypeScript 3.7 の機能を使用できます。
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 エディターが「履歴から前のエディターを開く」コマンドに表示されない
ありがとうございます
最後に、そしてもちろん最も重要なこととして、Visual Studio Codeをさらに良くするために協力してくれた以下の方々に、心からの感謝を申し上げます!
問題追跡への貢献者
受信した問題の管理にご協力いただける場合は、コミュニティ問題追跡ページをご覧ください。
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): 検索: 未使用の設定を削除 PR #82019
- Callum Mellor-Reed (@callummr): エディター復元時に正しい SCM リポジトリにフォーカス PR #79566
- Dave Alongi (@dalongi): product.json でイシューレポーターが無効になっている場合、ヘルプ > 問題の報告 メニュー項目を非表示 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): Fix #79428 - スニペットに「$WORKSPACE_FOLDER」を追加 PR #79764
- Andrew Liu (@hypercubestart): Fix 30419 と 80649 - 最近使用したタスクの数を設定できるように PR #82757
- Andrii Dieiev (@IllusionMH): 正規表現で単語全体にマッチさせる場合、PCRE2 にフォールバック PR #82072
- @Jakobeha: 未追跡ファイルを分離または非表示にする設定オプション (Issue #35480 に対応) PR #80083
- Jean Pierre (@jeanp413)
- Jakob Fahr (@jfhr): Fix #82199、ライトテーマのMarkdownプレビューで数字が読みにくい問題を修正 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): Perl5 の POD ブロック折りたたみサポート PR #71448
- Nikolay Kondratyev (@kondratyev-nv)
- Kryštof Řeháček (@Krystofee): RANDOM, RANDOM_HEX スニペット変数を追加 PR #82529
- Kumar Harsh (@kumarharsh): 修正(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): Fix #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): 無効なボタンでスペースキーを押してもクリックイベントがトリガーされないように。 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 実装として追加 PR #78
vscode-vsce
へのコントリビューション
- Ritwick Dey (@ritwickdey): [追加] README.md の `
` タグ内の相対ソースが絶対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 ローカリゼーションコミュニティメンバーは 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.
- 日本語: Yuta Ojima, Michihito Kumamoto, Aya Tokura, TENMYO Masakazu, Takayuki Fuwa, Koichi Makino。
- 韓国語: 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。