🚀 VS Codeでで入手しましょう!

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の行がわずかにずれる問題を修正しました。

Stable 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タスクプロパティを使用すると、問題パネルを自動的に表示できます。プロパティ値は、alwaysnever、および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 JavaScript support in interpolations

この機能の詳細については、Veturドキュメントをご覧ください。

その他の改善点には、メモリ使用量の削減とインポートパスの補完が含まれます。詳細については、Vetur changelogをご覧ください。

拡張機能の作成

複数拡張機能のデバッグ

このマイルストーンでは、一度に複数の拡張機能をデバッグするサポートを追加しました。これは、密接に結合または相互依存する拡張機能のセットを開発している場合に役立ちます。

以前は、この機能はVS Codeのコマンドラインインターフェイスでのみ表面化されていましたが、--extensionDevelopmentPath引数を複数回指定できるようになりました。通常、--extensionDevelopmentPathは拡張機能の起動構成で使用されます。複数の拡張機能を開発する場合は、個々の拡張機能プロジェクトをマルチフォルダーワークスペースに結合し、個々の拡張機能に複数の--extensionDevelopmentPath引数を使用する新しい起動構成(ワークスペース.code-workspaceファイルに保存)を作成することをお勧めします。

以下は、2つの拡張機能hello1hello2、および両方の拡張機能に対する単一の起動構成を含む、ワークスペース.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をさらに良くするためにご協力いただいた皆様に心から感謝申し上げます!

問題追跡への貢献。受信した問題を管理するのを手伝いたい場合は、コミュニティ問題追跡ページをご覧ください。

vscodeへの貢献

vscode-css-languageserviceへの貢献

vscode-html-languageserviceへの貢献

node-jsonc-parserへの貢献

language-server-protocolへの貢献

vscode-languageserver-nodeへの貢献

vscode-eslintへの貢献

vscode-lsif-extensionへの貢献

vscode-textmateへの貢献

vscode-recipesへの貢献

vscode-vsceへの貢献

ローカライズへの貢献

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。