に参加して、VS Code の AI 支援開発について学びましょう。

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

Stable 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 タスクプロパティにより、問題パネルを自動的に表示できます。プロパティ値は alwaysneveronProblem です。

{
  "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 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:) を使用してリンクからコマンドを呼び出すこともできます。ユーザーがリンクをクリックすると、指定された識別子を持つコマンドがトリガーされます。

ユーザーがリンクの上にカーソルを置いたときに表示されるタイトルを通知内のリンクに追加できるようになりました。構文は [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 ページをご覧ください。

vscodeへの貢献者

vscode-css-languageserviceへの貢献者

vscode-html-languageserviceへの貢献

node-jsonc-parserへの貢献

language-server-protocolへの貢献者

vscode-languageserver-nodeへの貢献者

vscode-eslintへの貢献者

vscode-lsif-extension への貢献

vscode-textmateへの貢献

  • Carl Morris (@msftrncs)
    • 空または不足しているbeginを許可 PR #86
    • プッシュされたルールが進行し、ポップされたときに反映されるかどうかをキャプチャ PR #85

vscode-recipesへの貢献

vscode-vsceへのコントリビューション

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。
© . This site is unofficial and not affiliated with Microsoft.