2019年4月 (バージョン 1.34)
ダウンロード: Windows: x64 | Mac: Intel | Linux 64-bit: deb rpm tarball snap | 32-bit: deb rpm tarball
Visual Studio Code 2019年4月リリースへようこそ。4月には、Remote Development 拡張機能のプレビューリリースに注力しました。これらの拡張機能により、SSH経由でリモートマシンやVM、Windows Subsystem for Linux (WSL) 内、またはDockerコンテナ内でVS Codeを使って作業できます。Visual Studio Codeによるリモート開発のブログ記事で詳細をご覧ください。
このバージョンには、皆さんに気に入っていただけるような、コミュニティからの多くの貢献を含むいくつかの更新が含まれています。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
Editor
安定したCodeLens
VS CodeはCodeLensの場所を楽観的にキャッシュし、エディターを切り替えた直後に復元するようになりました。これにより、エディターを切り替えたときにCodeLensの行がわずかにずれる問題が修正されます。

言語
ベンダープレフィックス付きCSSプロパティ値のランクが下がる
ダッシュ '-' で始まるCSSプロパティ値 (例: -moz-grid や -ms-grid) は、オートコンプリートで grid の後に表示されるようになりました。
デバッグ
debug.showSubSessionsInToolBar
デバッグサブセッションをデバッグツールバーに表示するかどうかを制御する設定 debug.showSubSessionsInToolBar を導入しました。この設定がfalseの場合、サブセッションの停止コマンドは親セッションも停止します。この設定のデフォルトはfalseです。
タスク
すべてのタスクを終了
Tasks: Terminate Task コマンドに、複数のタスクが実行中の場合にすべてのタスクを終了する新しいオプションが追加されました。このアクションを頻繁に行う場合は、terminateAll 引数を使ってこのコマンドのキーボードショートカットを作成できます。
{
"key": "ctrl+k t",
"command": "workbench.action.tasks.terminate",
"args": "terminateAll"
}
問題パネルを自動的に表示
新しい revealProblems タスクプロパティにより、問題パネルを自動的に表示できます。プロパティ値は always、never、onProblem です。
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "watch",
"problemMatcher": "$tsc-watch",
"isBackground": true,
"presentation": {
"reveal": "always",
"revealProblems": "onProblem"
}
}
]
}
拡張機能への貢献
プレビュー: リモート開発
❗ 注: リモート開発拡張機能 は Visual Studio Code Insiders が必要です。
Visual Studio Code Remote Development を使用すると、コンテナ、リモートマシン、または Windows Subsystem for Linux (WSL) をフル機能の開発環境として利用できます。
Remote Development extension pack の拡張機能は、リモートワークスペースのコンテキストで実行されますが、VS Codeはローカルで実行しているかのように動作します。
Vetur
Vetur 拡張機能は、Vueのテンプレート補間領域内のJavaScript式に対して、意味的な診断、ホバー情報、定義へのジャンプ、参照の検索を提供するようになりました。

この機能の詳細については、Veturドキュメント を参照してください。
その他の改善点には、メモリ使用量の削減とインポートパスの補完が含まれます。これらについては、Vetur changelog で詳細を確認できます。
拡張機能作成
複数拡張機能のデバッグ
このマイルストーンでは、複数の拡張機能を同時にデバッグするサポートが追加されました。これは、密接に結合された、または相互に依存する拡張機能のセットを開発している場合に役立ちます。
以前は、この機能はVS Codeのコマンドラインインターフェースを介してのみ利用できましたが、--extensionDevelopmentPath 引数を複数回指定できるようになりました。通常、--extensionDevelopmentPath は拡張機能の起動構成で使用されます。複数の拡張機能を開発する場合は、個々の拡張機能プロジェクトをマルチフォルダーワークスペースに結合し、複数の --extensionDevelopmentPath 引数を個々の拡張機能に使用する新しい起動構成 (ワークスペース .code-workspace ファイルに保存) を作成することをお勧めします。
以下は、2つの拡張機能 hello1 と hello2、および両方の拡張機能に対する単一の起動構成を含むワークスペース .code-workspace ファイルの例です。
{
"folders": [{ "path": "hello1" }, { "path": "hello2" }],
"launch": {
"configurations": [
{
"type": "extensionHost",
"request": "launch",
"name": "Launch Two Extensions",
"args": [
"--extensionDevelopmentPath=${workspaceFolder:hello1}",
"--extensionDevelopmentPath=${workspaceFolder:hello2}"
],
"outFiles": [
"${workspaceFolder:hello1}/out/**/*.js",
"${workspaceFolder:hello2}/out/**/*.js"
]
}
]
}
}
このリリースでは、個々の拡張機能プロジェクトの preLaunchTask を結合して両方の拡張機能をビルドする preLaunchTask を作成することはできませんのでご注意ください。
通知内のコマンドリンク
構文 [link name](http://link) を使用して通知メッセージにリンクを含めることは常に可能でしたが、これはブラウザで開くリンクにのみ機能しました。今では、構文 [link name](command: を使用してリンクからコマンドを呼び出すこともできます。ユーザーがリンクをクリックすると、指定された識別子を持つコマンドがトリガーされます。
通知内のリンクはタイトルを許可
ユーザーがリンクの上にカーソルを置いたときに表示されるタイトルを通知内のリンクに追加できるようになりました。構文は [link name](link "<the title>") です。
提案された拡張API
各マイルストーンには新しい提案APIが付属しており、拡張機能開発者はこれらを試すことができます。いつものように、皆様からのフィードバックをお待ちしております。提案APIを試すには、次の手順を実行します。
- 提案APIは頻繁に変更されるため、Insiders版を使用する必要があります。
- 拡張機能の
package.jsonファイルに次の行が必要です:"enableProposedApi": true。 - vscode.proposed.d.tsファイルの最新バージョンをプロジェクトにコピーします。
提案APIを使用する拡張機能は公開できないことに注意してください。次回のリリースでは互換性のない変更が行われる可能性があり、既存の拡張機能を壊すことは決して望ましくありません。
vscode.workspace.workspaceFile
ワークスペースファイルの場所を返す新しいワークスペースプロパティが追加されました。たとえば、file:///Users/name/Development/myProject.code-workspace や、無題でまだ保存されていないワークスペースの場合は untitled:1555503116870 です。
開かれているワークスペースによって、値は次のようになります。
- ワークスペースが開かれていないか、単一のフォルダーが開かれている場合は
undefined。 - ワークスペースファイルのパスを
Uriとして返します。
ワークスペースが無題の場合、返されるURIは untitled: スキームを使用します。
ワークスペースファイルの場所の1つの使用方法は、vscode.openFolder コマンドを呼び出して、閉じられたワークスペースを再度開くことです。
vscode.commands.executeCommand('vscode.openFolder', uriOfWorkspace);
注: workspace.workspaceFile の場所を使用して設定データをファイルに直接書き込むことはお勧めしません。単一のフォルダーが開かれている場合も、無題または保存されたワークスペースでも機能する workspace.getConfiguration().update() を使用できます。
マシン固有の設定
ユーザーが実行可能ファイルのパスをカスタマイズできる設定があり、これらのパスを実行しているマシンにスコープを設定する必要がある場合、これらの設定を machine スコープとして分類できるようになりました。拡張機能の作成者は、configuration 拡張ポイントに貢献する際に scope プロパティを設定します。マシン固有の設定は、ユーザー設定でのみ構成できます。
"configuration": {
"title": "Git",
"properties": {
"git.path": {
"type": [
"string",
"null"
],
"markdownDescription": "Path and filename of the git executable.",
"default": null,
"scope": "machine"
}
}
}
エンジニアリング
ローカルファイル用のファイルシステムプロバイダーを書き換え
拡張機能は、カスタムリソース用に独自のファイルシステム実装を提供できるようになりました (詳細はこちら)。しかし、VS Codeのローカルファイル用の独自の実装は、同じ拡張機能APIで実装されていませんでした。これにより、拡張機能から来るリソースと比較して、ローカルファイルリソースを扱う際に微妙な違いが生じていました。過去2つのマイルストーンで、一貫性のために拡張機能APIを使用するようにローカルファイルシステムプロバイダーを書き換えました。
新しいドキュメント
Python Azure Functions
PythonサーバーレスAzure Functionsを作成およびデプロイする方法を説明する新しいPythonをAzure Functionsにデプロイチュートリアルがあります。
その他
Language Server Protocol
Language Server Protocol は、以下の新機能のサポートを提案しています。
- 選択範囲: 位置の配列の選択範囲を計算します。クライアントからサーバーに送信されます。
- 呼び出し階層: 特定のシンボルの呼び出し階層を計算します。クライアントからサーバーに送信されます。
- 進捗: サーバーから進捗報告を開始します。サーバーからクライアントに送信されます。
新機能は、vscode-languageclient および vscode-languageserver npmモジュールの次期バージョンで利用可能です。
注目すべき修正点
- 48259: ExplorerがFileSystemProviderのゴミ箱機能を尊重する
- 68276: コールスタック「ブレークポイントで一時停止中」のUIが長いスレッド名で表示されない
- 69603: Mac OSでターミナルウィンドウがクラッシュする
- 72110: デバッグコンソールが不要な改行をレンダリングする
- 71737: デバッグウィンドウでのスクロールが奇妙な動作をする
- 71588: エクスプローラーでファイルを表示する際のエラー
- 70492: 「実行中の拡張機能」の「問題を報告」ボタンが何十もの重複する問題を引き起こす
ありがとうございます
最後に、そしてもちろん最も重要なこととして、Visual Studio Codeをさらに良くするために協力してくれた以下の方々に、心からの感謝を申し上げます!
課題追跡への貢献。寄せられた課題の管理にご協力いただける場合は、Community Issue Tracking ページをご覧ください。
- John Murray (@gjsjohnmurray)
- Prabhanjan S Koushik (@skprabhanjan)
- Alexander (@usernamehw)
- Muhammed Emin TİFTİKÇİ (@jaqra)
- Carl Morris (@msftrncs)
vscodeへの貢献者
- @alpalla: Fixes #27041 PR #72015
- @BaluErtl: Outline drawerのデフォルトメッセージの誤った表記 PR #73214
- @cmchumak: ワークスペースなしでタスクを実行する際のメッセージ改善 PR #71476
- Connor Shea (@connorshea): フォーマッタードロップダウンにextensionIdを説明として表示 PR #71910
- Alexandr Fadeev (@fadeevab): レシピ内の"@,-,+"の色付けに関するバグ修正のMakefileテストケース PR #72265
- Nikita Shilnikov (@flash-gordon): ローカライゼーションキーのtypoを修正 PR #72718
- Hung-Wei Hung (@hwhung0111): code-cli.batのtypoを修正 PR #73091
- Ian Sanders (@iansan5653): デバッグコンソールで8ビットおよび24ビットANSIエスケープカラーコードのサポートを追加 PR #70935
- Muhammed Emin TİFTİKÇİ (@jaqra): 'Transform to Title Case'というタイトルケース変換コマンドを追加しました。 PR #70990
- Jimi (Dimitris) Charalampidis (@JimiC): [themes] リロード時のエクスプローラー矢印通知を修正 PR #71855
- Jon Bockhorst (@jmbockhorst)
- Johannes Wikman (@jwikman): FindInFilesをコマンドに変換し、引数を受け入れるように PR #71626
- Jiaxun Wei (@LeuisKen): fix #72187 PR #72194
- Luís Ferreira (@ljmf00): theme-monokai: タブのインデントを修正 PR #72269
- paul cheung (@paul-cheung): typosを修正 PR #72334
- Evan Bovie (@phaseOne): links.tsのknownSchemesに
vscode:URIプレフィックスを追加 PR #71416 - Raman (@ramank775): 「コメントボックスの問題 #71703」の修正 PR #71880
- Samuel Bronson (@SamB): json-language-features/CONTRIBUTING.mdの修正 PR #73273
- @sebastianwitthus: 44146 問題パネルを自動的に表示 PR #71387
- Simon Siefke (@SimonSiefke): typoを修正 PR #71564
- Prabhanjan S Koushik (@skprabhanjan): fix-71570 削除されたファイルのマークダウンプレビューを復元する際のエラー PR #71762
- Tony Xia (@tony-xia)
- Alexander (@usernamehw): ウェブビューでスムーズスクロールを無効にするCLIフラグを追加 PR #65422
- Vitaliy Mazurenko (@vitaliymaz)
- Waleed Ashraf (@WaleedAshraf): LINE_COLON_PATTERNの末尾の空白を無視 PR #71985
- William Whittle (@whittlec): 'qsh'を有効なshellscriptの最初の行として追加 PR #73231
- Keyi Xie (@xiekeyi98): build/内のスペルミスを修正 PR #71977
- XTY (@xtydev): WSL起動スクリプトの回帰を解決 PR #72779
vscode-css-languageserviceへの貢献者
- Tony Xia (@tony-xia): 軽微なtypoを修正 PR #151
vscode-html-languageserviceへの貢献
- Liam Newman (@bitwiseman): js-beautifyを1.9.1に更新 PR #58
- Christian Oliff (@coliff): 属性のtypoを修正 PR #60
node-jsonc-parserへの貢献
- Tony Xia (@tony-xia): JavaScipt -> JavaScript PR #18
language-server-protocolへの貢献者
- Danny Tuppeny (@DanTup): クライアントが編集を適用できなかった理由を示すオプションの理由を追加 PR #637
- Ben Mewburn (@bmewburn): lsif textDocument/definitionの例のidを修正 PR #725
vscode-languageserver-nodeへの貢献者
- Igor Matuszewski (@Xanewok): 提案されたwindow/progress拡張機能を追加 PR #261
- Aleksey Kladov (@matklad): selectionRange APIを調整 PR #474
- Ben Mewburn (@bmewburn): onImplementationとonTypeDefinitionはDefinitionLink[]を返すことができる PR #479
- Remy Suen (@rcjsuen): 軽微なtypoを修正 PR #482
vscode-eslintへの貢献者
- Mike Martin (@mcmar):
changeProcessCWDドキュメントを明確化 PR #657 - Ilias Tsangaris (@ilias-t): PR #661
- Charles Stover (@CharlesStover): eslint.codeAction.disableRuleCommentのオートコンプリートはnewLineではなくseparateLineを挿入すべき PR #674
vscode-lsif-extension への貢献
- Chris Wendt (@chrismwendt): トップレベルファイルのファイルシステムルックアップを修正 PR #9
vscode-textmateへの貢献
vscode-recipesへの貢献
- AJ Alves (@zerokol): rspecファイル内の特定のケースをデバッグ PR #207
vscode-vsceへのコントリビューション
- Jimi (Dimitris) Charalampidis (@JimiC): コンパイルタスクを修正 PR #347
localizationへの貢献
Microsoft Localization Community Platform (MLCP) を利用している Cloud + AI Localization コミュニティメンバーは800人以上おり、Visual Studio Codeには約100人の活発な貢献者がいます。
新しい翻訳の提供、翻訳への投票、プロセス改善の提案など、皆様の貢献に感謝いたします。
貢献者の概要はこちらです。貢献者名リストを含むプロジェクトの詳細については、https://aka.ms/vscodeloc のプロジェクトサイトをご覧ください。
- ボスニア語: Ismar Bašanović.
- チェコ語: Daniel Padrta, David Jareš, Jan Hajek, Jiří Hofman。
- デンマーク語: Allan Kimmer Jensen, Thomas Larsen。
- オランダ語: Maxim Van Damme, Sven Klaasen。
- 英語 (英国): Martin Littlecott, Tobias Collier, William Wood, Giorgi Jambazishvili。
- フランス語: Antoine Griffard, Thierry DEMAN-BARCELÒ, Mohamed Sahbi, Steven Dugois, Michael VAUDIN。
- ドイツ語: Christof Opresnik。
- ヒンディー語: Abhirav Kushwaha, Pramit Das。
- 簡体字中国語: paul cheung, 斌 项, Fan Su, Justin Liu, Horie Yuan, 王文杰, 赵畅畅, anson zhang, Wang Debang, Pluwen, Yiting Zhu, Joel Yang, Michael Zhang, 擎 钟, 涛 徐, 少民 谈, 伟 全, panda small, Array Zhang, LI ZHAO。
- 繁体字中国語: 謝政廷, 煾 雪。
- ハンガリー語: Levente Hallai Seiler。
- インドネシア語: Laurensius Dede Suhardiman。
- イタリア語: Alessandro Alpi, Luigi Bruno, Emanuele Meazzo, Marco Dal Pino。
- 日本語: EbXpJ6bp -, nh, Kyohei Uchida, Yoshihisa Ozaki, Seiji Momoto, Hasefumi, 迪人 熊本, Koichi Makino, Kyohei Moriyama, 美穂 山本, Aya Tokura。
- 韓国語: 형섭 이, Youngjae Kim, siin lee, Keunyop Lee。
- ラトビア語: Kaspars Bergs。
- リトアニア語: Augustas Grikšas。
- ポーランド語: Wojciech Maj, Marek Biedrzycki, Igor 05, Marcin Weksznejder, Szymon Seliga, Paweł Modrzejewski, Michał Stojke, Artur Zdanowski。
- ポルトガル語 (ブラジル): Alessandro Trovato, Judson Santiago, Roberto Fonseca, Marcelo Fernandes, Lucas Miranda, Ray Carneiro, Loiane Groner, Daniel Luna, Lucas Santos, Saymon Damásio。
- ポルトガル語(ポルトガル): Ana Rebelo, Pedro Teixeira, João Carvalho, Tiago Antunes。
- ルーマニア語: Alexandru Staicu。
- ロシア語: Andrey Veselov, Дмитрий Кирьянов, nata kazakova, Валерий Батурин。
- スペイン語: Andy Gonzalez, Carlos Mendible, José María Aguilar, Alvaro Enrique Ruano。
- タミル語: Boopesh Kumar, Karunakaran Samayan, Merbin J Anselm。
- トルコ語: mehmetcan gun, Sinan Açar, S. Ferit Arslan。
- ウクライナ語: Sviatoslav Ivaskiv, George Molchanyuk。
- ベトナム語: Khôi Phạm, Spepirus Shouru, Việt Anh Nguyễn。