2022年6月 (バージョン 1.69)
更新 1.69.1: この更新により、これらの問題が解決されます。
更新 1.69.2: この更新により、これらの問題が解決されます。
ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Visual Studio Code の2022年6月リリースへようこそ。このバージョンには、皆さんに気に入っていただけるであろう多くのアップデートが含まれており、その主なハイライトには以下があります。
- 3ウェイマージエディター - VS Code内でマージの競合を解決します。
- コマンドセンター - ファイル検索、コマンド実行、カーソル履歴ナビゲーションのための新しいUI。
- 集中モード (Do Not Disturb mode) - 重要度の低い通知ポップアップを非表示にします。
- ライト/ダークテーマの切り替え - 好みのライトテーマとダークテーマを素早く切り替えます。
- ターミナルシェル統合 - コマンドステータスの表示、最近のコマンドの実行など。
- タスク出力装飾 - タスクの成功または失敗の終了コードをハイライト表示します。
- Gitコミットアクションボタン - デフォルトのGitコミットアクションを設定します。
- デバッグの「ターゲットにステップイン」サポート - 一時停止中に直接関数にステップインできます。
- JavaScriptソースマップ切り替え - ソースコードではなくコンパイル済みコードのデバッグに切り替えます。
- カラーテーマテスター - vscode.dev を使用してカラーテーマをプレビューします。
- VS Code Serverプレビュー - リモート開発で使用されるものと同じサーバーを実行します。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
リリースパーティーを見る: VS Code チームが新機能について語る様子をご覧ください。イベントの録画はYouTubeチャンネルでご覧いただけます。
Insiders: 新機能をいち早く試したいですか?夜間ビルドのInsidersをダウンロードして、利用可能になり次第、最新の更新を試すことができます。
ワークベンチ
3ウェイマージエディター
今回のリリースでは、3ウェイマージエディターの作業を継続しました。この機能はgit.mergeEditor
をtrue
に設定することで有効にでき、今後のリリースではデフォルトで有効になります。
マージエディターを使用すると、Gitのマージの競合を素早く解決できます。有効にすると、ソース管理ビューで競合するファイルをクリックすることでマージエディターを開くことができます。彼らの変更 (Theirs) または あなたの変更 (Yours) の変更を受け入れ、結合するためのチェックボックスが利用可能です。
マージエディターでは、すべての言語機能(診断、ブレークポイント、テストを含む)が利用できるため、マージ結果の問題に関する即時のフィードバックが得られます。
結果を直接編集することもできます。チェックボックスが期待通りに更新されることに注目してください。
マージエディターを閉じるかマージを受け入れる際に、すべての競合が対処されていない場合は警告が表示されます。
マージエディターはワードレベルのマージをサポートしています。変更が交差しない限り、両方の側面を適用できます。挿入順序が重要な場合は、入れ替えることができます。いつでも、競合を手動で解決することもできます。
皆様からのフィードバックをお待ちしております!マージの競合を共有するには、Merge Editor (Dev): Copy Contents of Inputs, Base and Result from JSON コマンドを使用し、その内容をGitHubの課題に貼り付けてください。
コマンドセンター
コマンドセンターが磨き上げられ、試用できるようになりました。window.commandCenter
設定で有効にできます。
コマンドセンターは通常のタイトルバーに取って代わり、プロジェクト内のファイルを素早く検索できます。メインセクションをクリックすると、最近のファイルと検索ボックスを含むQuick Openドロップダウンが表示されます。
テーマ: GitHub Theme
コマンドセンターには、Quick Accessオプションを「?」で表示するための右側のボタンもあります。左側には、エディターの履歴をナビゲートするための戻る (Go Back) および 進む (Go Forward) ボタンがあります。
設定エディターの変更インジケーター
設定エディターに、設定が言語オーバーライドを持っている場合に表示されるようになりました。補足ですが、言語オーバーライドは常に非言語固有のオーバーライドよりも優先されるため、設定の値が特定の種類のファイルの動作に影響しないように見える場合、その設定には言語オーバーライドがある可能性があります。
インジケーターテキストがより明確で簡潔に変更されました。以下の短いビデオは、新しいModified elsewhereインジケーターを示しています。インジケーターにカーソルを合わせると、該当する場合に言語オーバーライドを示すホバーが表示されます。ビデオの後半では、新しいデフォルトオーバーライドインジケーターがDefault value changedというテキストで表示されています。
テーマ: Light Pink
集中モード
新しい集中モード (Do Not Disturb mode) は、有効にするとエラー以外の通知ポップアップをすべて非表示にします。進捗通知は自動的にステータスバーに表示されます。非表示の通知は、引き続き通知センターで確認できます。
集中モードを切り替えるには、通知センターを開き(ステータスバーの右側にあるベルアイコンを選択)、スラッシュベルアイコンをクリックします。集中モードは、ステータスバーにスラッシュベルアイコンで表示されます。
ライトテーマとダークテーマの切り替え
新しいコマンド Preferences: Toggle between Light/Dark Themes を使用すると、好みのライトテーマとダークテーマを切り替えることができます。ライトテーマの場合、コマンドはダークテーマに切り替わり、その逆も同様です。
ハイコントラストテーマの場合、コマンドはハイコントラストのままで、反対のカラーテーマの好みのハイコントラストテーマに切り替わります。
推奨テーマは以下の設定で定義されます。
workbench.preferredDarkColorTheme
workbench.preferredLightColorTheme
workbench.preferredHighContrastColorTheme
workbench.preferredHighContrastLightColorTheme
ミニマップコンテキストメニュー
VS Code のミニマップは、エディターのサイドにソースコードファイルの概要をハイレベルで表示します。ミニマップの表示は、表示: ミニマップの表示/非表示 (View: Toggle Minimap) コマンドを使用して切り替えたり、エディター > ミニマップ: 有効 (Editor > Minimap: Enabled) (editor.minimap.enabled
) 設定でミニマップを完全に無効にしたりすることができました。今回のリリースでは、ミニマップを簡単に表示または非表示にするためのコンテキストメニューが追加されました。
また、サイズ (Size) (editor.minimap.size
)、スケール (Scale) (editor.minimap.scale
)、スライダー (Slider) (editor.minimap.showSlider
) の設定で外観を調整することもできます。ミニマップが非表示の場合でも、サイドのガターを右クリックすることでコンテキストメニューを表示できます。
共有メニュー
vscode.dev リンクをコピー (Copy vscode.dev Link) コマンドは、ファイル (File) > 共有 (Share) サブメニューから使用でき、開いている GitHub リポジトリの vscode.dev リンクを素早く取得できます。共有 (Share) サブメニューは、エディターのコンテキストメニューからも利用できます。
ターミナル
シェル統合
PowerShell、bash、zshのシェル統合は、1月のリリース以来プレビュー版でしたが、今回プレビューを終了しました!1.70リリースではデフォルトで有効にする予定です。
シェル統合機能を有効にするには、設定エディターで ターミナル (Terminal) > 統合 (Integrated) > シェル統合: 有効 (Shell Integration: Enabled) をチェックするか、settings.json
で値を設定します。
"terminal.integrated.shellIntegration.enabled": true
シェル統合により、VS Code のターミナルがシェル内部で何が起こっているかをより理解し、より多くの機能を有効にできるようになります。シェル統合の目標の1つは、ゼロ設定で動作することでした。これは、設定が有効になっているときに、シェル引数や環境変数を通じてシェル統合スクリプトをシェルセッションに自動的に「注入」することで実現されました。サブシェルや一部の複雑なシェル設定など、これが機能しないケースもありますが、これらのより高度なケースには手動インストールルートも用意しています。
以下は、シェル統合が現在提供している機能の概要です。
コマンド装飾と概要ルーラー
シェル統合には、ターミナル内で実行されたコマンドの終了コードを取得する機能があります。この情報を使用して、コマンドが成功したか失敗したかを示す装飾が、行の左側に追加されます。これらの装飾は、エディターと同様に、スクロールバーの概要ルーラーにも表示されます。
この装飾は、コマンドの再実行のようなコンテキストアクションをサポートできます。
コマンドの装飾は、以下の設定で設定できます。
terminal.integrated.shellIntegration.decorationIcon
terminal.integrated.shellIntegration.decorationIconSuccess
terminal.integrated.shellIntegration.decorationIconError
コマンドナビゲーション
シェル統合によって検出されたコマンドは、コマンドナビゲーション機能 (Ctrl/Cmd+Up
, Ctrl/Cmd+Down
) に供給され、より信頼性の高いコマンド位置を提供します。この機能により、コマンド間を素早く移動し、その出力を選択できます。
最近のコマンドを実行
ターミナル: 最近のコマンドを実行 (Terminal: Run Recent Command) コマンドは、さまざまなソースからの履歴をクイックピックに表示し、シェルのリバース検索 (Ctrl+R
) と同様の機能を提供します。最近のコマンドは、現在のセッションの履歴、このシェルタイプの以前のセッションの履歴、および共通のシェル履歴ファイルから取得されます。
コマンドのその他の機能
- 現在のセクションでは、クイックピックの右側にクリップボードアイコンがあり、コマンド出力をエディターで開きます。
Alt
キーを押しながらテキストをターミナルに書き込むと、実行されません。- 前のセッションセクションに保存される履歴の量は、
terminal.integrated.shellIntegration.history
設定によって決定されます。
最近のコマンドを実行 (Run Recent Command) には現在、デフォルトでキーバインディングは割り当てられていませんが、例として、以下のキーバインディングでCtrl+Space
にフックすることができます。
{
"key": "ctrl+space",
"command": "workbench.action.terminal.runRecentCommand",
"when": "terminalFocus"
},
最近のディレクトリへ移動
「最近のコマンドを実行」機能と同様に、「ターミナル: 最近のディレクトリへ移動 (Terminal: Go to Recent Directory)」コマンドは、訪問したディレクトリを追跡し、素早くフィルタリングしてそこに移動 (cd
) できます。
<video src="/assets/updates/1_69/terminal-si-go-to-dir.mp4" autoplay loop controls muted title="「最近のディレクトリへ移動」コマンドは、以前に移動したディレクトリのクイックピックを表示し、いずれかを選択すると「cd パス」が実行されます。">
Alt
キーを押しながらテキストをターミナルに書き込むと、実行されません。
現在の作業ディレクトリの検出
シェル統合は、現在の作業ディレクトリが何かを教えてくれます。この情報は、これまでWindowsでは多くのハックなしでは判別できませんでしたし、macOSやLinuxではポーリングが必要で、パフォーマンスには良くありませんでした。
現在の作業ディレクトリは、相対リンクの解決、最近のコマンドが実行されたディレクトリの表示、および現在の作業ディレクトリの分割機能"terminal.integrated.splitCwd": "inherited"
のサポートに使用されます。
シェル設定のサポートの拡大
今回のリリースでは、bash-preexecとの統合が改善され、powerlevel10kの基本的なサポートが追加され、シェル統合が機能しないケースがさらに検出され、この機能は適切に無効化されます。この分野での改善は、今後も長期にわたって続くと予想されます。
SetMarkシーケンスのサポート
ターミナルは現在、iTerm2 によって最初に作成されたシーケンス 'OSC 1337 ; SetMark ST'
をサポートしており、行の左側とスクロールバーにマークを追加できるようになりました。
テーマ: Sapphire Theme
スクリプトでこれをトリガーする方法の例をいくつか示します。
- bash:
echo -e 'Mark this line\x1b]1337;SetMark\x07'
- pwsh:
Write-Host "Mark this line`e]1337;SetMark`a"
シンプルなPowerlineグリフのカスタムレンダリング
ターミナルでGPUアクセラレーションが有効になっている場合、一般的な4つの角度付きブラケット Powerline 記号が、ボックス描画およびブロック文字と同様にカスタムレンダリングされるようになりました。これにはいくつかの利点があります。
- サブピクセルアンチエイリアシングは決して使用されず、両側に醜い赤色または青色の輪郭を引き起こし、「パワーライン」を破壊する可能性があります。
- これらの文字は、パッチ適用済みフォントをインストールせずに機能します。
- 行の高さがこれらの文字に影響します。
以前
以後
VS Codeからのメッセージの一貫したフォーマット
以前、プロセスではなくVS Codeによって直接書き込まれたターミナル内のメッセージは、いくつかの異なるフォーマットを使用していました。これは現在、全体的に一貫しており、派手なフォーマットと、より繊細なフォーマットが用意されています。
アクセシビリティの改善
今回のイテレーションで、ターミナルはアクセシビリティに関していくつかの改善点が見られました。
- ターミナル: 検出されたリンクを開く... (Terminal: Open Detected Link...) コマンドで、より多くのリンクがデフォルトで利用可能になり、ターミナルバッファの残りの部分を検索する機能が追加されました。
- ターミナル: 最近のコマンドを実行 (Terminal: Run Recent Command) コマンドで、
Alt
キーを押しながら実行せずに結果のコマンドを入力できるようになりました。 - ターミナルでの検索が、スクリーンリーダーによるアナウンスが改善されました。
- ナビゲーションモード (
Ctrl+Up
) 内で、修飾キーなしで上下に移動できるようになりました。 - ナビゲーションモード (
Ctrl+Up
) で、ページアップとページダウンを使用してページごとにスクロールできるようになりました。
プロセスの再接続と復元機能の改善
ターミナル永続化機能は、UXと信頼性の両面で改善されました。
- 以前は、ウィンドウを `n` 回リロードすると `n` 回セッション復元メッセージが表示されていました。今後は、特定のセッションに入力があった場合にのみセッション復元メッセージが表示されるはずです。
- 以前は日付が含まれていたセッション復元メッセージは、「履歴を復元しました」というシンプルな表示に変更され、ノイズが減りました。
- 環境変数コレクション機能(拡張機能が環境を変更したい場合にユーザーに通知する機能、例えばGit自動認証をサポートするため)が、リロードをまたいでも動作するようになりました。
タスク
デコレーション
数回のイテレーション前、シェル統合機能のおかげで、ターミナルバッファと概要ルーラーにデコレーションを追加し、ターミナルのナビゲーションを改善しました。デコレーションは、タスクの興味深いポイントもマークするようになり、コマンドナビゲーション機能 (Ctrl/Cmd+Up
, Ctrl/Cmd+Down
) でジャンプできます。
開始/停止タスクの場合、タスクの開始位置の隣に装飾が表示され、もしあれば、実行の終了コードに応じてスタイルが設定されます。
監視タスクの場合、各コンパイルで最初に報告された問題の横に装飾が表示されます。
アイコンと色のサポート
タスクにCodicon id
とターミナル ANSI color
プロパティを持つ icon
を設定できるようになりました。例:
{
"label": "test",
"type": "shell",
"command": "echo test",
"icon": { "id": "light-bulb", "color": "terminal.ansiBlue" }
}
kind
プロパティが test
に設定されているタスクは、デフォルトで beaker
アイコンを使用します。
ソース管理
Gitリポジトリのコミット「アクションボタン」
1.61リリースでは、GitリポジトリにPublishおよびSync Changesの「アクションボタン」が追加されました。このマイルストーンでは、主要なアクションと一連の補助アクションを持つCommitボタンを追加しました。補助アクションはgit.postCommitCommand
設定で制御でき、コミット後にプッシュまたは同期を行うこともできます。
コミット「アクションボタン」の追加に伴い、ソース管理ビューに表示されるGitアクションボタンを制御するための新しい設定git.showActionButton
が追加されました。引き続き、一般的なscm.showActionButton
設定を使用して、ソース管理プロバイダーを実装する拡張機能によって提供されるすべてのアクションボタンの表示をグローバルに無効にすることができます。
エディターを使ったコミットメッセージの作成
今回のマイルストーンでは、コミット入力ボックスにメッセージが提供されていない場合に、フルテキストエディターを使用してコミットメッセージを作成できるようになりました。この新しいフローを使用するには、コミットメッセージを提供せずにコミット (Commit) ボタンをクリックします。
これで、エディターでコミットメッセージを作成できるようになりました。コミットメッセージを承認してコミット操作を完了するには、エディタータブを閉じるか、エディターツールバーのコミットメッセージを承認 (Accept Commit Message) ボタンを選択します。コミット操作をキャンセルするには、テキストエディターの内容をクリアしてエディタータブを閉じるか、エディターツールバーのコミットメッセージを破棄 (Discard Commit Message) ボタンを選択します。
この新しいフローを無効にし、クイック入力コントロールを使用する以前の体験に戻すには、git.useEditorAsCommitInput
設定を切り替えます。設定を変更した後、変更を有効にするにはVS Codeを再起動する必要があります。
統合ターミナルで実行されるgit commit
コマンドにも同じフローを使用するには、git.terminalGitEditor
設定を有効にします。設定を有効にした後、ターミナルセッションを再起動する必要があります。
ブランチ保護インジケーター
前回のマイルストーンで、特定のブランチを保護するように設定できるgit.branchProtection
設定を追加しました。今回のマイルストーンでは、保護されているブランチに対してステータスバーとブランチピッカーに視覚的なインジケーター(ロックアイコン)が追加されました。
ステータスバー
ブランチピッカー
デバッグ
「ターゲットにステップイン」UIの改善
一部のデバッガーでは、行で一時停止したときに特定の関数呼び出しに直接ステップインできます。今回のイテレーションで、このUIが改善されました。
- ソース行上のターゲット領域を右クリックしてターゲットにステップイン (Step Into Target) を選択すると、ターゲット領域が存在する場合、自動的にそこにステップインします。
- 新しいコマンドデバッグ: ターゲットにステップイン (Debug: Step Into Target) がコマンドパレットで利用可能になり、⌘F11 (Windows, Linux Ctrl+F11) のキーボードショートカットで利用できます。
デバッグコンソールでのナビゲーション
クイックアクセスメニューからコンソールにアクセス
デバッグコンソールのリストを表示するクイックアクセスメニューが利用可能になりました。メニューでコンソール名を選択すると、下部パネルに表示されます。ここで、コンソール名を検索およびフィルタリングできます。
テーマ: GitHub Dark Dimmed
このクイックアクセスメニューにアクセスするには、3つの異なる方法があります。
-
クイックオープンメニュー (⌘P (Windows, Linux Ctrl+P)) で
?
と入力し、デバッグコンソールを表示するオプションを選択します。 -
デバッグ: デバッグコンソールの選択 (Debug: Select Debug Console) コマンドを使用します。
-
クイックオープンメニューで
debug consoles
(末尾にスペースを含む) を手動で入力します。
ビューメニューからコンソールにアクセス
既存のビューメニュー内からも、デバッグコンソールの一覧にアクセスできます。クイックオープンメニューでview
(末尾にスペースを含む) と入力し、デバッグコンソール (Debug Console) パネルヘッダーまでスクロールします。利用可能なデバッグコンソールの一覧が表示されます。
コンソールの切り替え
これで、⇧⌘[ (Windows, Linux Ctrl+PageUp) を使用して前のデバッグコンソールに移動し、⇧⌘] (Windows, Linux Ctrl+PageDown) を使用して次のコンソールに移動できるようになりました。
ロードされたスクリプトの検索とフィルタリング
以前は、ロードされたスクリプトを実行とデバッグ (Run and Debug) メニューのツリービューからのみ表示できました。今回、新しいデバッグ: ロードされたスクリプトを開く... (Debug: Open Loaded Script...) コマンドを使用して、スクリプトを検索して移動できるようになりました。これはファイルへ移動... (Go to File...) コマンドとまったく同じように機能しますが、ロードされたスクリプトに移動できます。
JavaScriptデバッグ
ソースマップの切り替え
コールスタックビューのタイトルにある🧭コンパスアイコンをクリックするだけで、ソースマップを簡単にオン/オフできるようになりました。ソースマップがオフになっている場合でも、ソースコードに設定されたブレークポイントは機能しますが、コンパイル済みコードの同等の位置に移動し、デバッガーはソースコードではなくコンパイル済みコードをステップ実行します。
テーマ: Codesong
ソースマップがオフの場合、デバッグツールバーに同様のボタンが表示され、オンに戻すことができます。切り替え状態はワークスペースに保持されます。
toString() 変数プレビュー
変数またはプロパティにカスタムの toString()
メソッドがある場合、それが呼び出されて変数 (VARIABLES) ビューおよびホバーにプレビューがレンダリングされます。これは、優れた文字列表現を持つ複雑な型に対する汎用オブジェクトプレビューの改善です。
たとえば、VS Code の Range
には toString
メソッドがあり、一目で内容を把握しやすくなっています。
「ターゲットにステップイン」のサポート
JavaScriptデバッガーは「ターゲットにステップイン (Step Into Target)」をサポートするようになり、コード行の関数呼び出しに簡単にステップインできるようになりました。
これは、デバッグ: ターゲットにステップイン (Debug: Step Into Target) コマンド (⌘F11 (Windows, Linux Ctrl+F11)) または行を右クリックすることでアクセスできます。
JavaScriptデバッグにおけるバインドされていないブレークポイントの警告アイコン
TypeScript/JavaScriptプロジェクトをデバッグしていて、ソースマップの設定やブレークポイントのバインドに問題がある場合、VS CodeはブレークポイントビューにJavaScriptデバッガーのブレークポイントトラブルシューティングツールへのリンク付きのヒントメッセージを表示するようになりました。エディターの灰色のブレークポイントアイコンにホバーしてもヒントが表示されます。
このヒントを表示するAPIが最終化されれば、他のデバッガーも独自の適切なメッセージでヒントを表示できるようになります。
エディター
プレビュー付きリファクタリング
以前は、リファクタリングによって適用される変更を確認する方法がありませんでした。リファクタリングエクスペリエンスを向上させるために、コマンドパレットからアクセスできる新しいプレビュー付きリファクタリング (Refactor with Preview) コマンドが追加されました。プレビュー付きリファクタリング... (Refactor with Preview...) はリファクタリング... (Refactor...) コマンドとまったく同じように機能しますが、リファクタリングプレビューパネルを開きます。ユーザーはリファクタリングプレビューを選択して、エディターでリファクタリングプレビューのより大きなビューを開くことができます。今回のイテレーションは主にリファクタリングからのコード変更のプレビューに焦点を当てており、今後の機能とカスタムのコードアクションメニューコントロールが続きます。
プレビュー付きリファクタリング (Refactor with Preview...) は、ワークベンチにペインを開き、リファクタリングプレビューエディタービューを開きます。
言語
Markdownでの山括弧リンクのサポート
Markdownでは、スペースやその他の特殊文字を含むリンクの宛先を記述するために山括弧を使用できます。
[Some link](<path to file with spaces.md>)
今回のイテレーションでは、山括弧リンクのサポートが改善され、エディターで正しくハイライトされ、クリックできるようになりました。
Emmetインライン補完設定
Emmetには、ファイル内でインライン補完を可能にする新しい設定emmet.useInlineCompletions
があります。現時点では、HTMLおよびCSSファイルの編集のみにこの設定を有効にすることをお勧めします。
以下の短いビデオは、すべてのエントリについてeditor.quickSuggestions
設定をoff
に設定した状態で記録されました。
言語インジケーターのJSON通知
折りたたみ範囲、ドキュメントシンボル、またはカラーデコレーターが多すぎて表示できない場合、VS Codeは通知を使用せず、JSON言語インジケーターを使用してユーザーに通知するようになりました。
HTMLの最終改行フォーマッター設定の変更
html.format.endWithNewline
設定は、files.insertFinalNewline
を優先して削除されました。
files.insertFinalNewline
はすべてのプログラミング言語に適用されます。言語ごとに異なる設定が必要な場合は、言語スコープを使用できます。
{
"[html]": {
"files.insertFinalNewline": true
}
}
ノートブック
ノートブック内の拡張機能の推奨事項のサポート
必要な拡張機能がインストールされていない場合のノートブックの利用開始体験を向上させるため、拡張機能の推奨フローを更新し、ノートブックウィンドウから直接拡張機能をインストールできるようにしました。これにより、VS Code内で拡張機能がインストールされていない状態から実行可能なセルに移行するのに必要なステップ数が大幅に削減されます。今回のイテレーションでは、Python Jupyterノートブックでこの体験を有効にし、今後さらに多くのノートブックの種類と言語に対応する予定です。
コメント
エディターコメント機能の切り替え
新しいコマンドコメント: エディターのコメント機能を切り替える (Comments: Toggle Editor Commenting) は、コメント範囲ガターデコレーション、行ホバー時の「+」ボタン、およびすべてのエディターコメントウィジェットを含む、すべてのエディターコメント機能を切り替えます。禅モードでは、コメント機能は自動的に無効になります。
複数行コメントのドラッグ
コメントを追加する「+」ボタンをドラッグして、複数行コメントを追加できます。
エンタープライズ
WindowsのUpdateModeグループポリシー
VS Codeは現在、Windows Registry-based Group Policyのサポートを追加しました。これにより、システム管理者は管理対象のマシンにポリシーを作成および展開できます。
最初にサポートされるVS CodeポリシーはUpdateMode
で、これはupdate.mode
設定を上書きし、新しいバージョンがリリースされたときにVS Codeが自動的に更新されるかどうかを制御します。
詳細については、EnterpriseドキュメントのWindows上のグループポリシーを参照してください。
Web 用 VS Code
テーマテスターが組み込みテーマをサポート
テーマテスターは、vscode.devのルートであり、インストールせずにカラーテーマを披露したり試したりするのに使用できます。これは、マーケットプレイスのテーマ拡張機能で、拡張機能IDとテーマ名を指定することで利用できました。例えば、GitHubテーマ拡張機能(拡張機能ID github.github-vscode-theme
)の「GitHub Dark Default」テーマを見るには、次のURLでvscode.devを起動します。
https://vscode.dev/editor/theme/github.github-vscode-theme/GitHub%20Dark%20Default
テーマテスターは、VS Codeに組み込まれているテーマでも使用できるようになりました。拡張機能IDプレースホルダーにはvscode.theme-defaults
を使用し、その後チェックアウトしたいテーマ名を指定します。
例えば、「High Contrast Light」テーマをテストするには、以下のURLを使用します。
https://vscode.dev/editor/theme/vscode.theme-defaults/Default%20High%20Contrast%20Light
拡張機能の部分的なローカライズサポート
前回のイテレーションでは、vscode.devでコア製品が提供する文字列のローカライズを導入しました。今回のイテレーションでは、より多くの文字列、特に拡張機能マニフェストで拡張機能が提供する静的な文字列を含めています。拡張機能が提供する文字列にはまだローカライズが必要なセグメント(ソースコードで宣言された文字列)があるため、次回のイテレーションでもその作業を継続します。
表示言語の設定コマンド
一部のユーザーにとって、ブラウザで使用される言語を設定することは不可能です。これを回避するため、Web版のVS Codeには、ブラウザのデフォルト設定を上書きできる表示言語の設定 (Configure Display Language) コマンドが追加されました。
さらに、表示言語の設定をクリア (Clear Display Language Preference) コマンドを使用して、この上書きを削除できます。
VS Code Server (プライベートプレビュー)
VS Codeでは、ユーザーが最も生産性を高められる環境をシームレスに活用できるようにしたいと考えています。VS Codeリモート開発拡張機能を使用すると、Windows Subsystem for Linux (WSL)、SSH経由のリモートマシン、開発コンテナ内でVS Codeから直接作業できます。これらの拡張機能は、リモート環境にサーバーをインストールし、ローカルのVS Codeがリモートソースコードとランタイムとスムーズにやり取りできるようにします。
現在、スタンドアロンの「VS Code Server」のプライベートプレビューを提供しています。これは、リモート拡張機能で使用されている基盤となるサーバーと同じものに、インタラクティブなCLIや、SSH接続を必要とせずにvscode.devへの安全な接続を容易にするなど、いくつかの追加機能が組み込まれたサービスです。
私たちの最終的な目標は、プロジェクトがどこに保存されていても、デスクトップ版とWeb版の両方のVS Codeインスタンスを開くために現在使用しているcode
CLIを強化することです。私たちはこれに向けて積極的に取り組んでいますが、VS Code Serverは、皆様からのフィードバックを得るためにプライベートプレビューとしてリリースすることを楽しみにしている素晴らしいマイルストーンです。
VS Code Serverの使用開始方法については、発表されたブログ記事とビデオで詳しく学ぶことができ、さらに詳細はドキュメントで確認できます。
拡張機能への貢献
ESLint
ESLint 拡張機能のバージョン 2.2.6 がリリースされました。様々なバグ修正に加えて、サポートされているすべてのESLint言語でノートブックセルでのリンティングサポートが追加されました。
Jupyter
IPyWidgets
IPyWidgets
は、Python
以外のカーネル、例えばCommon LispやIHaskellでもサポートされるようになりました。
リソース(画像、スクリプトなど)のロードに関連する多くのIPyWidget
の問題が解決され、それによってVegaFusion、ipyleaflet、Chemiscope、mobilechelonian、ipyturtleなどのウィジェットのサポートが向上しました。
その他の注目すべきIPyWidget
の修正には、Jupyter Outputウィジェット内での複雑な出力やネストされた出力(インタラクティブなものも含む)の表示が含まれます。
Web拡張機能
Jupyter 拡張機能のWeb版で、より多くのコア機能をサポートするための進捗がありました。
今月、以下の機能がWeb拡張機能に移植されました。
- インタラクティブウィンドウのエクスポート
- インタラクティブウィンドウのデバッグ
- インタラクティブウィンドウの折りたたみ可能なセル
機能を試してみたい場合は、ローカルマシンからJupyterを起動してください。
jupyter notebook --no-browser --NotebookApp.allow_origin_pat=https://.*\.vscode-cdn\.net
その後、vscode.dev内からJupyter: 接続するJupyterサーバーを指定コマンドを使用してそれに接続します。
詳細(およびコメント)については、このディスカッション項目を参照してください。
GitHubプルリクエストとイシュー
プルリクエストやイシューの作業、作成、管理ができるGitHubプルリクエストとイシュー拡張機能には、さらに進展がありました。今回のリリースのハイライトは以下の通りです。
- プルリクエストのブランチを無視するための新しい設定
"githubPullRequests.ignoredPullRequestBranches"
。 "githubPullRequests.pushBranch"
設定を使用してPRを作成する際に、ブランチを公開しますか? (Publish branch?) ダイアログをスキップできます。- 概要 (Overview) エディターに自動マージチェックボックスが追加されました。
その他のハイライトについては、拡張機能の0.46.0 の変更履歴をご覧ください。
プレビュー機能
TypeScript 4.8 サポート
今回のアップデートには、今後のTypeScript 4.8リリースへのサポートが含まれています。TypeScriptチームが現在取り組んでいることの詳細については、TypeScript 4.8 イテレーション計画をご覧ください。
TypeScript 4.8ナイトリービルドの使用を開始するには、TypeScript Nightly 拡張機能をインストールしてください。
Markdownリンクの検証
Markdownファイルのリンク検証を改善し続けています。この実験的機能は、Markdownファイル内の画像やヘッダーへの壊れたリンクを検出するのに役立ちます。
いくつかのバグを修正し、パフォーマンスを改善しただけでなく、機能がより明確になるように設定の一部を改名しました。新しい設定名は以下の通りです。
markdown.experimental.validate
- すべてのリンク検証機能を有効/無効にします。markdown.experimental.validate.fileLinks.enabled
- ローカルファイルへのリンクの検証を有効/無効にします:[link](/path/to/file.md)
markdown.experimental.validate.fileLinks.markdownFragmentLinks
- ローカルファイルへのリンクのフラグメント部分の検証を有効/無効にします:[link](/path/to/file.md#some-header)
markdown.experimental.validate.fragmentLinks.enabled
- 現在のファイル内のヘッダーへのリンクの検証を有効/無効にします:[link](#_some-header)
markdown.experimental.validate.referenceLinks.enabled
- 参照リンクの検証を有効/無効にします:[link][ref]
。markdown.experimental.validate.ignoreLinks
- 検証をスキップするリンクのリスト。ディスク上に存在しないが、Markdownが公開されると存在するファイルへのリンクに便利です。
ぜひお試しいただき、この新機能についてのご意見をお聞かせください!
設定プロファイル
ここ数ヶ月間、コミュニティからの最も人気の高い要望の一つである 設定プロファイル (Settings Profiles) のサポートに取り組んできました。このマイルストーンで、この機能がInsidersリリースでworkbench.experimental.settingsProfiles.enabled
設定を介してプレビュー可能になったことをお知らせできることを嬉しく思います。ぜひこの機能をお試しいただき、VS Code リポジトリで課題を作成するか、課題 #116740にコメントしてフィードバックをお聞かせください。
設定プロファイルは、設定、キーボードショートカット、拡張機能、状態、タスク、スニペットで構成されます。Web、機械学習のような異なる開発環境、Python、Javaのような複数のプログラミング言語の教室、または仕事やデモのような個人的なモードに合わせてVS Codeをカスタマイズし、それらを設定プロファイルとして保存できます。作業中のプロジェクト、参加している教室、またはプレゼンテーションを行っている場合に基づいて、異なるプロファイルで複数のワークスペース(フォルダー)を同時に開くことができます。
以下は、Web開発環境向けにVS Codeをカスタマイズし、そこから設定プロファイルを作成するデモンストレーションです。
開発プロファイルからデモプロファイルへ簡単に切り替える方法を示しています。
以下の図に示すように、Web開発プロファイルでReactプロジェクトを、PythonクラスプロファイルでPythonクラスプロジェクトを同時に開くことができます。
設定の以下の色カスタマイズキーを使用して、設定プロファイルのステータスバーエントリのフォアグラウンドと背景色をカスタマイズできます。
"workbench.colorCustomizations": {
"statusBarItem.settingsProfilesBackground": "#ce4918",
"statusBarItem.settingsProfilesForeground": "#e0dfdb",
}
設定ギアメニューの設定プロファイル (Settings Profiles) サブメニューにある設定プロファイルを削除... (Remove Settings Profile...) アクションを使用して、設定プロファイルを管理および削除できます。
プロファイルごとにVS Codeをカスタマイズできますが、アプリケーションレベルでのみカスタマイズできる設定がいくつかあります。たとえば、update.mode
、言語パック拡張機能、設定同期の有効化、ワークスペース信頼状態など、すべてのアプリケーションスコープの設定は、すべてのプロファイル間でアプリケーションレベルでカスタマイズされます。
VS Code for the Web とデスクトップ間での編集セッションへのアクセス
今回のマイルストーンでは、VS Codeの編集セッション (edit sessions) のプレビューを発表します。編集セッションを使用すると、コミットされていない変更を、VS Codeが利用可能な場所であればどこでも、Web版VS Code、デスクトップ版VS Code、または異なるマシン間で、リポジトリでの作業を続行する際に引き継ぐことができます。
例えば、編集セッションを使用して作業中の変更を転送・アクセスできます。
- github.dev のリポジトリから、そのリポジトリのローカルデスクトップクローンへ。
- Windowsデバイス上のリポジトリのクローンから、macOSデバイス上のそのリポジトリのクローンへ。
編集セッションは現在、workbench.experimental.editSessions.enabled
設定の背後でプレビュー中です。この初期リリースでは、以下のコマンドを使用して作業中の変更を保存および再開できます。
- 編集セッション: 現在の編集セッションを保存 (Edit Sessions: Store Current Edit Session)
- 編集セッション: 最新の編集セッションを再開 (Edit Sessions: Resume Latest Edit Session)
編集セッションを開始するには、編集セッション: 現在の編集セッションを保存 (Edit Sessions: Store Current Edit Session) コマンドを使用し、プロンプトが表示されたらGitHubまたはMicrosoft認証でサインインします。その後、別のマシンまたはVS Codeインスタンスのレポジトリで編集セッション: 最新の編集セッションを再開 (Edit Sessions: Resume Latest Edit Session) コマンドを使用して、変更されたすべてのファイルの作業内容をワークスペースに復元します。編集セッション: サインアウト (Edit Sessions: Sign Out) コマンドを使用して、いつでも編集セッションからサインアウトできます。
編集セッションの体験を引き続き改善していきますので、ぜひお試しいただき、課題 #141293へのコメントを通じてフィードバックをお寄せください。
拡張機能作成
反復可能な vscode.d.ts コレクション型
vscode.d.ts
のコレクション型を扱いやすくするために、今回のイテレーションですべてを反復可能にしました。これにより、これらの型でfor...of
ループとスプレッドを使用できるようになります。
const data: vscode.DataTransfer = ...;
for (const [mime, item] of data) {
const str = await item.asString();
...
}
新しく反復可能になった型の全セットは以下の通りです。
DiagnosticCollection
DataTransfer
EnvironmentVariableCollection
TestItemCollection
拡張可能なノートブックレンダラー
ノートブックレンダラーを使用すると、拡張機能はノートブックでセルと出力がどのようにレンダリングされるかをカスタマイズできます。今回のイテレーションでは、レンダラーがVS Codeの組み込みレンダラーの一部を含む別のレンダラーを拡張できるように、ノートブックレンダラーAPIを拡張しました。これにより、拡張機能は完全なレンダラーを再実装することなく、ノートブックレンダリングに新しい機能を追加できます。また、ユーザーは正しくレンダリングされたコンテンツを見るために新しいレンダラーに切り替える必要がないため、より良いユーザーエクスペリエンスを提供します。
Notebook Extend Markdown Renderer Sample は、拡張機能がVS Codeの組み込みMarkdownレンダラーを絵文字サポートで拡張する方法を示しています。主要な部分を簡単に見てみましょう!
拡張可能なノートブックレンダラーのAPIは意図的に緩く定義されています。まず、拡張機能は新しいノートブックレンダラーを提供する必要があります。既存のレンダラーを拡張するため、ここではentrypoint
フィールドを使用して、拡張するレンダラーのID(この場合はVS Codeの組み込みvscode.markdown-it-renderer
)と、ロードするレンダラースクリプトへのパスの両方を指定します。
"notebookRenderer": [
{
"id": "sample.markdown-it.emoji-extension",
"displayName": "Markdown it Emoji renderer",
"entrypoint": {
"extends": "vscode.markdown-it-renderer",
"path": "./out/emoji.js"
}
}
]
このレンダラーは、vscode.markdown-it-renderer
がアクティブ化されるたびにアクティブ化されるようになります。
さて、vscode.markdown-it-renderer
を拡張するには、レンダラーがベースレンダラーのメソッドを呼び出すことができます。このメソッドはベースレンダラーに固有のものです。この場合、まずgetRenderer
を使用してベースレンダラーを取得し、次にその上でextendMarkdownIt
を呼び出して、レンダリングに使用するMarkdown-Itのインスタンスを拡張します。
import type * as MarkdownIt from 'markdown-it';
import type { RendererContext } from 'vscode-notebook-renderer';
interface MarkdownItRenderer {
extendMarkdownIt(fn: (md: MarkdownIt) => void): void;
}
export async function activate(ctx: RendererContext<void>) {
// Acquire the base renderer
const markdownItRenderer = await ctx.getRenderer('vscode.markdown-it-renderer') as MarkdownItRenderer | undefined;
if (!markdownItRenderer) {
throw new Error(`Could not load 'vscode.markdown-it-renderer'`);
}
// Load our Markdown-It extension
const emoji = require('markdown-it-emoji');
// Call the base renderer's extension method (extendMarkdownIt) to augment
// the Markdown-It with emoji support.
markdownItRenderer.extendMarkdownIt((md: MarkdownIt) => {
return md.use(emoji, {});
});
}
ここで注目すべき重要な点は、extendMarkdownIt
が単にベースレンダラーによって返されるメソッドであるということです。他の拡張可能なレンダラーは、独自の拡張ポイントを簡単に返すことができます。
VS Codeの組み込みMarkdown-Itレンダラーを拡張する完全な例については、Notebook Extend Markdown Renderer Sample をご覧ください。
DataTransfersから外部ファイルを読み込む
拡張機能は、DataTransfer
を使用して外部ファイルを読み込めるようになりました。これは、ツリーのドラッグアンドドロップAPIや、エディターへのドロップAPIの提案でも使用できます。
export class TestViewDragAndDrop implements vscode.TreeDataProvider<Node>, vscode.TreeDragAndDropController<Node> {
public async handleDrop(target: Node | undefined, sources: vscode.DataTransfer, token: vscode.CancellationToken): Promise<void> {
// Get a list of all files
const files: vscode.DataTransferFile[] = [];
sources.forEach((item) => {
const file = item.asFile();
if (file) {
files.push(file);
}
});
const decoder = new TextDecoder();
// Print out the names and first 100 characters of the file
for (const file of files) {
const data = await file.data();
const text = decoder.decode(data);
const fileContentsPreview = text.slice(0, 100);
console.log(file.name + ' — ' + fileContentsPreview + '\n');
}
...
}
}
Webビューでのハイコントラストライト
ウェブビューで、vscode-high-contrast-light
CSS クラスを使用して、ハイコントラストライトカラーテーマをターゲットにできるようになりました。
.vscode-high-contrast-light .error {
color: red;
}
vscode-high-contrast-light
クラスは、Webビューのbody
要素に自動的に追加されます。
Test Itemラベルのアイコン
標準の$(icon)
形式のCodiconsをTestItem.label
で使用できるようになり、Test Explorerビューとテスト結果にアイコンを表示できます。
ソース管理入力ボックスの有効化
拡張機能の作者は、enabled
プロパティを使用して、ソース管理ビューの入力ボックスの有効化を切り替えられるようになりました。
JSONの単語パターン変更
すべての言語には、その言語においてどの文字が単語に属するかを定義する単語パターンがあります。JSONは、文字列リテラルの引用符と文字列リテラルの完全な内容を含んでいた点で、他のすべての言語とは異なっていました。現在は他の言語に従い、文字、数字、ハイフンのみを含んでいます。
この変更により、選択範囲の拡大(コマンド: 選択範囲を拡大 (Expand Selection))時の問題が修正され、文字列内の単語補完が可能になり、一部のコード提案の異常が修正されます。
単語パターンに依存していた拡張機能(たとえば、コード補完におけるデフォルトの置換範囲など)は、すべての補完に対して置換範囲を明示的に指定するように実装を更新する必要があります。
デバッグアダプタープロトコル
- ターゲットにステップイン (Step Into Target) 機能のユーザーエクスペリエンスを向上させるため、DAPの
StepInTarget
型に追加情報が加えられました。line
、column
、endLine
、endColumn
の4つのプロパティにより、ステップインターゲットを対応するソース範囲にリンクできるようになりました。 - デバッガーにプログラム引数を渡すことは、2つの相反する目標によって妨げられています。一部のユーザーはすべての文字をデバッガーに渡したいと考えていますが、他のユーザーは基礎となるシェルと対話するために一部の文字を使用したいと考えています。両方のユースケースをより良くサポートするために、DAPの
runInTerminal
リクエストでプログラム引数内の特殊文字のエスケープを制御する作業を進めています。提案はすでに利用可能です。このDAPの追加に関心のあるデバッグ拡張機能の作者の方は、フィードバックをお寄せいただければ幸いです。 - さらに、デバッグアダプタープロトコルのいくつかのドキュメントに関する問題に対処しました。これには、「クライアント」と「falsey」という用語に関する明確化、チェックサムと日付文字列のより正確な仕様、
Source.origin
の表現の改善が含まれます。
提案されたAPI
すべてのマイルストーンには新しい提案された API が含まれており、拡張機能の作者はそれらを試すことができます。いつものように、皆様からのフィードバックを歓迎します。提案された API を試す手順は次のとおりです。
- 試したい提案を見つけて、その名前を
package.json#enabledApiProposals
に追加します。 - 最新のvscode-dtsを使用して、
vscode-dts dev
を実行してください。これにより、対応するd.ts
ファイルがワークスペースにダウンロードされます。 - これで提案に対してプログラミングできます。
提案された API を使用する拡張機能を公開することはできません。次のリリースで破壊的変更がある可能性があり、既存の拡張機能を壊すことは望ましくありません。
貼り付け編集プロバイダー
documentPaste
APIの提案を更新し、特に複数カーソルで作業する場合に、より正確に実装できるようにしました。
再確認ですが、このAPIは拡張機能がテキストエディター内のコピー&ペーストにフックすることを可能にします。拡張機能はこれを使用して、貼り付け時に挿入されるテキストを変更できます。ドキュメント貼り付け拡張機能サンプルは、更新されたAPIの動作を示しています。
/**
* Provider that maintains a count of the number of times it has copied text.
*/
class CopyCountPasteEditProvider implements vscode.DocumentPasteEditProvider {
private readonly countMimeTypes = 'application/vnd.code.copydemo-copy-count';
private count = 0;
prepareDocumentPaste?(
_document: vscode.TextDocument,
_ranges: readonly vscode.Range[],
dataTransfer: vscode.DataTransfer,
_token: vscode.CancellationToken
): void | Thenable<void> {
dataTransfer.set(this.countMimeTypes, new vscode.DataTransferItem(this.count++));
dataTransfer.set('text/plain', new vscode.DataTransferItem(this.count++));
}
async provideDocumentPasteEdits(
_document: vscode.TextDocument,
_ranges: readonly vscode.Range[],
dataTransfer: vscode.DataTransfer,
_token: vscode.CancellationToken
): Promise<vscode.DocumentPasteEdit | undefined> {
const countDataTransferItem = dataTransfer.get(this.countMimeTypes);
if (!countDataTransferItem) {
return undefined;
}
const textDataTransferItem = dataTransfer.get('text') ?? dataTransfer.get('text/plain');
if (!textDataTransferItem) {
return undefined;
}
const count = await countDataTransferItem.asString();
const text = await textDataTransferItem.asString();
// Build a snippet to insert
const snippet = new vscode.SnippetString();
snippet.appendText(`(copy #${count}) ${text}`);
return { insertText: snippet };
}
}
export function activate(context: vscode.ExtensionContext) {
// Enable our provider in plaintext files
const selector: vscode.DocumentSelector = { language: 'plaintext' };
// Register our provider
context.subscriptions.push(
vscode.languages.registerDocumentPasteEditProvider(
selector,
new CopyCountPasteEditProvider(),
{
pasteMimeTypes: ['text/plain']
}
)
);
}
Web上でのWebUSB、WebSerial、WebHIDアクセス
Web拡張機能からWebUSB、Web Serial、WebHIDを使用するための実験的なサポートが追加されました。
これらのAPIにアクセスするには、拡張機能はまず以下のいずれかのコマンドを実行して、目的のデバイスへのアクセスを要求する必要があります。
workbench.experimental.requestUsbDevice
workbench.experimental.requestSerialPort
workbench.experimental.requestHidDevice
これらのコマンドは、ユーザーにデバイスの選択を促します。各コマンドは、引数としてデバイスフィルターのリストを受け取ります。例:
import * as vscode from 'vscode';
await vscode.commands.executeCommand('workbench.experimental.requestUsbDevice', {
filters: [
{ vendorId: 0x404 } // Your custom filter or empty if you want users to select any device
]
});
コマンドが完了すると、拡張機能は通常のWeb APIを使用して、ユーザーがアクセスを許可したデバイスにアクセスできます。
const devices = await navigator.usb.getDevices();
// Do something with devices
requestDevice のようにユーザーにUI要素を表示する必要があるものを除き、通常のウェブデバイスAPIはすべて機能するはずです。
現時点では、この機能はWeb上でのみ動作し、ChromeとEdgeブラウザに限定されています。また、この機能はまだ実験段階であるため、デザインが変更される可能性があることに留意してください。ぜひお試しいただき、フィードバックをお寄せください!
エンジニアリング
Electron 18へのアップデート
今回のマイルストーンで、Electron 18をVS Codeデスクトップにバンドルする探求を終え、Insidersでセルフホスティングに協力してくださったすべての方々に感謝いたします。このアップデートには、Chromium 100.0.4896.160
とNode.js 16.13.2
が含まれています。
ドキュメント
TypeScriptの編集とリファクタリング
VS CodeのTypeScriptの編集とリファクタリングに焦点を当てた新しい2つのトピックがあります。そこでは、インレイヒント、CodeLens、TypeScript固有の書式設定オプション、および利用可能なコードリファクタリングなどの特定の機能について学ぶことができます。
注目すべき修正点
- 109565 Caps Lockを使って入力ソースを切り替えると、ターミナルが常に大文字を表示する
- 146491 アクティブと非アクティブなメニューの色差がなくなった
- 149538 中国でMicrosoftまたはGitHubアカウントにログインできない
- 149890 アイテムをドラッグして空のツリービューにドロップできない
- 150934 RPMはバンドルされたライブラリを「provides」としてリストすべきではない
- 151158 ノートブックを保存する際に、名前のないノートブックで選択されたカーネルを保持する
- 151664 スクリーンリーダーでコードをステップ実行する際のアナウンス効率を改善
- 151739 コメントスレッドに初めて返信する際にworkbench.action.submitCommentが機能しない & コメント編集時に混乱する
- 152067 コメントスレッドの範囲はコメントが展開されている場合にのみ表示
- 152141 プロセス終了時にタスクステータスをドロップする
- 152642 ウォッチ式をワンクリックで削除するボタンを追加
ありがとうございます
最後に、VS Codeの貢献者の皆様に心からの感謝を申し上げます。
Web拡張機能
Web拡張機能としてコードを実行する拡張機能を有効にした拡張機能開発者 (以下のリストは2022年6月7日から7月4日までのものです)
- Pipeline Editor (Alexey Volkov)
- Django Support (Al Mahdi)
- ROOT File Viewer (Alberto Pérez de Rada Fiol)
- Thirft Formatter (alingse)
- Smarty Template Support (Aswin Kumar)
- Sort Editors (Aswin Kumar)
- Compare View (chekweitan)
- CloudStudio.github-authentication (CloudStudio)
- Text Power Tools (Dániel Tar)
- filtered-interview-tool (filtered-vscode)
- HashiCorp HCL (HashiCorp)
- fcs-vscode-web (HiStruct Team)
- Marked (hyrious)
- Our Code (Ivan Dwane)
- 前端开发集合 (jihe)
- surfaces.txt (kanadelab)
- lcode webdav editor (lcode)
- Lightrun (Lightrun)
- f-string Converter (Python 3.6+) (mdebi)
- MutableAI (beta) (mutable-ai)
- NaiveSystems Analyze (Extension) (Naive Systems)
- File Utils (pomdtr)
- Secrets (pomdtr)
- dotbook (Prasanth)
- Common Lisp (Qingpeng Li)
- react replace/refactor component (rumemeta-maila)
- fiber-ifttt-tool (t-codespaces)
- ide-data-sync (t-codespaces)
- Even Better TOML (tamasfe)
- web-ext (yogesh)
- Vetur Extended (zardoy)
問題追跡
問題追跡への貢献者
プルリクエスト
vscode
への貢献者
- @a-stewart (アンソニー・スチュワート)
- 生成されたMD HTML内の属性周りのサニタイズを強化する PR #149100
- 設定ページでマークダウンの説明を優先する PR #152860
- ターミナル内の重複宣言を削除 PR #153280
- @alanrenmsft (アラン・レン): selectboxのaria-descriptionサポートを追加 PR #152251
- @andrewbranch (アンドリュー・ブランチ)
- [typescript-language-features] すべての
typescript.unstable.*
設定を透過的に渡す PR #151472 - [typescript-language-features] autoImportFileExcludePatterns の設定を追加 PR #153160
- [typescript-language-features] すべての
- @babakks (ババク・K・シャンディズ)
- PRテンプレートピッカーを磨く PR #151415
- [markdown] リンクテキスト内の括弧を無視する PR #151610
- 状態変更後にテストを常に表示するオプションを追加 PR #152331
- 🎁 デバッグのウォッチ式に「式の削除」をアクションバーコマンドとして追加 PR #152861
- 🔨 スニペットで囲むピッカーに「スニペットがありません」と表示する PR #152892
- @Balastrong (レオナルド・モンティーニ): ライト/ダークカラーテーマを切り替えるコマンドを追加 PR #151554
- @CGNonofr (ロイク・マンジョンジーン): monaco apiにremoveAllMarkersメソッドを追加 PR #151237
- @gjsjohnmurray (ジョン・マレー):
Keep Editors Open
->Disable Preview Mode
(fixes #152240) PR #152322 - @guiherzog (Guilherme Herzog): CompressibleAsyncDataTree のパフォーマンスを改善 PR #152961
- @jeanp413 (Jean Pierre)
- ターミナルが適切に復元されない問題を修正 PR #149621
- ターミナルクイックピックのインデックスを修正 PR #152699
- ターミナルエディターをデタッチしても vscode.window.onDidCloseTerminal イベントが発生しない問題を修正 PR #152791
- @JohnnyCrazy (Jonas Dellinger): 完全なエディターを git コミットメッセージエディターとして使用可能に PR #95266
- @jramsay (jram): [npm 拡張機能] ワークスペースで npm スクリプトを検出する際にトップレベルの npm_modules を除外 PR #150205
- @laurentlb (Laurent Le Brun): コメント: Markdown 以外のコンテンツをラップ PR #152987
- @leopoldsedev (Christian Leopoldseder)
- #151515 を修正 PR #151590
- #148150 を修正 PR #151594
- キーボードショートカット検索履歴をクリアするアクションを実装 PR #151607
- @MachineMitch21 (Mitch Schutt): タブを 1500 ミリ秒ドラッグした後、エディターにフォーカス PR #149604
- @mbelsky (Max Belsky): `Transform to Kebab Case` をサポート PR #147956
- @Mingpan
- サイドバイサイドの差分エディターで変更を元に戻す矢印を追加 PR #151826
- 差分内の矢印を無効にする設定を追加 PR #153199
- @MonadChains (MonadChains): editor.wrappingIndent == "same" の場合に水平ブラケットガイドが欠落する問題を修正 PR #152529
- @prashantvc (Prashant Cholachagudda): 拡張機能クエリに `VSCode-SessionId` を追加 Issue2961 PR #153271
- @Priyankcoder (Priyank Rastogi): Markdown 組み込み言語に LaTeX を追加 PR #151732
- @qingpeng9802 (Qingpeng Li): シンボル種別のアイコンを修正 PR #152216
- @thegecko (Rob Moran): デバイスアクセスを要求する Web コマンドを追加 PR #152310
- @TheV360 (V360): インレイヒントが一部のケースで 1px オフセットされる問題を修正 PR #153424
- @tjx666 (余腾靖): tomorrow-night テーマの jsx テキスト前景を修正 PR #151478
- @ulugbekna (Ulugbek Abdullaev)
- リポジトリ取得の進捗レポートを追加 PR #153082
- ミニマップの自動非表示オプションを追加 (デフォルト = false) PR #153093
- @yiliang114 (jinjing.zzj): 修正: スペルミス PR #153229
- @yutotnh (yutotnh): 修正: スペルミス PR #153187
vscode-generator-code
への貢献者
- @hawkticehurst (Hawk Ticehurst): テンプレートの README に記載されている誤ったキーボードショートカットを修正 PR #354
vscode-js-debug
への貢献者
- @jakebailey (Jake Bailey): REPL eval フレームで REPL スタックトレースを停止 PR #1263
vscode-pull-request-github
への貢献者
- @blindpirate (Bo Zhang): 作者向けにプルリクエストの閉じるボタンを表示 PR #3507
- @leopoldsedev (Christian Leopoldseder): .com で利用可能なクイックセルフアサインリンクを実装 (#_3382) PR #3601
debug-adapter-protocol
への貢献者
devcontainers/cli
への貢献
- @juzuluag (Juan Zuluaga): マルチビルドサポートを追加 PR #24