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拡張機能のプレビューリリースに注力しました。これらの拡張機能を使用すると、リモートマシンまたはVM上のSSH、Windows Subsystem for Linux(WSL)、またはDockerコンテナ内でVS Codeを使用できます。詳細については、Visual Studio Codeでのリモート開発のブログ記事をご覧ください。
このバージョンにも、皆様に気に入っていただけるであろういくつかの更新と、多くのコミュニティからの貢献がありました。
これらのリリースノートをオンラインで読むには、更新情報のcode.visualstudio.comをご覧ください。
エディター
安定版 CodeLens
VS CodeはCodeLensの位置を楽観的にキャッシュし、エディターを切り替えた直後に復元するようになりました。これにより、エディターを切り替える際にCodeLensの行がわずかにずれる問題を修正しました。
言語
ベンダープレフィックス付きCSSプロパティ値のランクを下げました
ダッシュ'-'
(-moz-grid
や-ms-grid
など)でプレフィックスが付けられたCSSプロパティ値は、オートコンプリートでgrid
の後に表示されるようになりました。
デバッグ
debug.showSubSessionsInToolBar
debug.showSubSessionsInToolBar
設定を導入しました。この設定は、デバッグサブセッションをデバッグツールバーに表示するかどうかを制御します。この設定がfalseの場合、サブセッションの停止コマンドは親セッションも停止します。この設定のデフォルトはfalseです。
タスク
すべてのタスクを終了
タスク: タスクの終了コマンドに、複数のタスクが実行されている場合にすべてのタスクを終了する新しいオプションが追加されました。これを頻繁に行う場合は、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"
}
}
]
}
拡張機能への貢献
プレビュー: Remote Development
❗ 注意: Remote Development拡張機能には、Visual Studio Code Insidersが必要です。
Visual Studio Code Remote Developmentを使用すると、コンテナ、リモートマシン、またはWindows Subsystem for Linux(WSL)をフル機能の開発環境として使用できます。
Remote Development拡張機能パックの拡張機能は、リモートワークスペースのコンテキストで実行されますが、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:<command id>)
構文を使用して、リンクからコマンドを呼び出すこともできるようになりました。ユーザーがリンクをクリックすると、指定された識別子を持つコマンドがトリガーされます。
通知のリンクでタイトルが許可されるようになりました
通知のリンクにタイトルを追加できるようになりました。ユーザーがリンクにカーソルを合わせると、タイトルが表示されます。構文は[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 Respects Trash Capability from FileSystemProvider
- 68276: Call Stack "Paused On Breakpoint" UI not visible for long thread names
- 69603: Terminal window crashes in Mac OS
- 72110: Debug Console render newlines unnecessary
- 71737: Scrolling in debug window is behaving strange
- 71588: Error revealing files in the explorer
- 70492: ‘Report issue’ button on ‘Running extensions’ causes tens of duplicate issues
謝辞
最後に、しかし決して軽視できない、VS Codeをさらに良くするためにご協力いただいた皆様に心から感謝申し上げます!
問題追跡への貢献。受信した問題を管理するのを手伝いたい場合は、コミュニティ問題追跡ページをご覧ください。
- 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: Incorrect wording of Outline drawer default message PR #73214
- @cmchumak: Improved messaging when running a task with no workspace PR #71476
- Connor Shea (@connorshea): Display extensionId as the description in the formatter dropdown PR #71910
- Alexandr Fadeev (@fadeevab): Makefile test case about the bug fix with "@,-,+" colorizing in the recipe PR #72265
- Nikita Shilnikov (@flash-gordon): Fix typo in localization key PR #72718
- Hung-Wei Hung (@hwhung0111): Fix typo in code-cli.bat PR #73091
- Ian Sanders (@iansan5653): Add support for 8- and 24-bit ANSI escape color codes in the debug console PR #70935
- Muhammed Emin TİFTİKÇİ (@jaqra): Added title case transformation command called 'Transform to Title Case'. PR #70990
- Jimi (Dimitris) Charalampidis (@JimiC): [themes] Fix explorer arrows notification on reload PR #71855
- Jon Bockhorst (@jmbockhorst)
- Johannes Wikman (@jwikman): FindInFiles converted to command and accepting arguments PR #71626
- Jiaxun Wei (@LeuisKen): fix #72187 PR #72194
- Luís Ferreira (@ljmf00): theme-monokai: fix tabs indentation PR #72269
- paul cheung (@paul-cheung): fix typos PR #72334
- Evan Bovie (@phaseOne): Add
vscode:
URI prefix to knownSchemes in links.ts PR #71416 - Raman (@ramank775): Fix for "Comment box issue #71703" PR #71880
- Samuel Bronson (@SamB): json-language-features/CONTRIBUTING.md fixes PR #73273
- @sebastianwitthus: 44146 automatically show problems panel PR #71387
- Simon Siefke (@SimonSiefke): fix typo PR #71564
- Prabhanjan S Koushik (@skprabhanjan): fix-71570 Error when restoring a markdown preview for a file that has been deleted PR #71762
- Tony Xia (@tony-xia)
- Alexander (@usernamehw): Add CLI flag to be able to disable smooth scroll in webviews PR #65422
- Vitaliy Mazurenko (@vitaliymaz)
- Waleed Ashraf (@WaleedAshraf): ignore trailing white-spaces in LINE_COLON_PATTERN PR #71985
- William Whittle (@whittlec): Add 'qsh' as a valid shellscript firstline PR #73231
- Keyi Xie (@xiekeyi98): Fix misspell in build/ PR #71977
- XTY (@xtydev): Resolve regression in WSL launch script PR #72779
vscode-css-languageservice
への貢献
- Tony Xia (@tony-xia): Fixed a minor typo PR #151
vscode-html-languageservice
への貢献
- Liam Newman (@bitwiseman): Update js-beautify to 1.9.1 PR #58
- Christian Oliff (@coliff): Fix attribute typo PR #60
node-jsonc-parser
への貢献
- Tony Xia (@tony-xia): JavaScipt -> JavaScript PR #18
language-server-protocol
への貢献
- Danny Tuppeny (@DanTup): Add optional reason for why the client failed to apply an edit PR #637
- Ben Mewburn (@bmewburn): correct id in lsif textDocument/definition example PR #725
vscode-languageserver-node
への貢献
- Igor Matuszewski (@Xanewok): Add proposed window/progress extension PR #261
- Aleksey Kladov (@matklad): adjust selectionRange API PR #474
- Ben Mewburn (@bmewburn): onImplementation and onTypeDefinition can return DefinitionLink[] PR #479
- Remy Suen (@rcjsuen): Fix a small typo PR #482
vscode-eslint
への貢献
- Mike Martin (@mcmar): Clarify
changeProcessCWD
documentation PR #657 - Ilias Tsangaris (@ilias-t): PR #661
- Charles Stover (@CharlesStover): Autocomplete for eslint.codeAction.disableRuleComment should insert separateLine instead of newLine PR #674
vscode-lsif-extension
への貢献
- Chris Wendt (@chrismwendt): Fix filesystem lookup for top level files PR #9
vscode-textmate
への貢献
vscode-recipes
への貢献
- AJ Alves (@zerokol): Debug one specific case in a rspec file PR #207
vscode-vsce
への貢献
- Jimi (Dimitris) Charalampidis (@JimiC): Fix compile task PR #347
ローカライズへの貢献
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, 内田 恭平, 吉崎 嘉久, 百々 誠司, Hasefumi, 熊本 迪人, 牧野 宏一, 森山 恭平, 山本 美穂, 東倉 彩。
- 韓国語: 형섭 이, 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。