2018年4月 (バージョン 1.23)
Update 1.23.1: この更新では、これらの問題が解決されています。
ダウンロード: Windows: x64 | Mac: Intel | Linux 64-bit: deb rpm tarball | 32-bit: deb rpm tarball
Visual Studio Code 2018年4月版へようこそ。今回のマイルストーンでは、VS Code チームは拡張機能の作成者をサポートするための API 作業に注力してきましたが、このバージョンには、皆様に気に入っていただける多数の更新が含まれています。主なハイライトは次のとおりです。
- 強調表示されるインデントガイド - ソースコードのインデントを視覚化するのに役立ちます。
- 保存時にコードアクションを実行 - 保存時に「インポートの整理 (Organize Imports)」などのアクションを実行します。
- NPM スクリプトエクスプローラー - プロジェクト内の NPM スクリプトを素早く見つけて、実行、デバッグできます。
- 「問題」ビューのフィルタリング - エラーと警告を表示するファイルを選択できます。
- マウスの中ボタンでの列選択 - マウスの中ボタンでドラッグすると、素早く列選択ができます。
- CSS 領域の折りたたみ - CSS/SCSS/Less コードに領域を作成して、便利なコード折りたたみを活用できます。
- CSS 新プロパティのサポートを改善 - CSS 実験的プロパティに対するスマートなサジェスト。
- Markdown ヘッダー検索 - ワークスペース全体で Markdown ヘッダーを検索します。
- カスタムアクティビティバービュー - 拡張機能の作成者は、独自のアクティビティバーアイテムを作成できます。
- 新しい Web サイトデプロイチュートリアル - 静的 Web サイトを Azure Storage にデプロイする方法を学びます。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
Cloud Developer Advocate のBrian Clarkによるこの 1.23 リリースハイライトビデオもご確認ください。
リリースノートは、VS Codeの重点分野に関連する以下のセクションにまとめられています。さらに詳しい更新は以下の通りです。
- エディター - Unicode ファイルサポートの改善、より安定したエディターの配置。
- ワークベンチ - 検索結果のコピー、Git クローンワークフローの改善、VS Code プロセスエクスプローラー。
- デバッグ - ログポイント式がスマートな補完と構造化されたオブジェクトの表示をサポート。
- 言語 - JavaScript/TypeScript のインポート整理アクション、永続的な Markdown プレビュー。
- 拡張機能の作成 - 新しい Webview および FileSystem Provider API、'Source' ファイルレベルのアクション。
Insiders: 新しい機能をいち早く試したいですか?毎晩リリースされるInsidersビルドをダウンロードして、最新のアップデートが利用可能になり次第お試しください。
エディター
強調表示されるインデントガイド
VS Code は、カーソルをさまざまなソースコードブロック間で移動させると、アクティブなインデントガイドを強調表示できるようになりました。
強調表示の色名はeditorIndentGuide.activeBackground
で、これはworkbench.colorCustomizations
設定で変更できます。
"workbench.colorCustomizations": {
"editorIndentGuide.activeBackground": "#ff0000"
}
保存時にコードアクションを実行
新しいeditor.codeActionsOnSave
設定により、ファイルを保存するときに実行されるコードアクションのセットを構成できます。たとえば、JavaScript、TypeScript、およびインポート整理コードアクションを提供するその他の拡張機能の場合、設定することで、保存時にインポート整理を有効にできます。
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
また、言語固有の設定を使用して、言語ごとに保存時に実行されるコードアクションを有効または無効にすることもできます。以下の設定は、TypeScript ファイルのみで保存時にインポート整理を有効にします。
"[typescript]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
},
"[typescriptreact]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
}
マウスの中ボタンでの列選択
VS Code では、Shift
とAlt
を押しながらマウスの左ボタンを使用することで、列(ボックス)選択を追加できます。今回、マウスの中ボタンも列選択の作成に使用できるようになりました。
注:
editor.multiCursorModifier
をctrlCmd
に設定した場合、修飾キーは Windows ではShift
とCtrl
、macOS ではShift
とCmd
になります。
UTF-16 エンコードファイルの処理を改善
VS Code は常にファイルの UTF-16 エンコーディングをサポートしていましたが、このエンコーディングを正しく検出するためには BOM (バイトオーダーマーク) が必要でした。VS Code が BOM を見つけられなかった場合、ファイルは開かれず、ユーザーには情報メッセージが表示されていました。
このリリースでは、このメッセージにファイルをエディターでテキストとして開くための新しいアクションを追加しました。
開かれたら、エンコーディングを変更してテキストをデコードを試すことができます。
さらに、VS Code は BOM なしで UTF-16 を自動的に検出するヒューリスティックを使用するようになりました。このヒューリスティックは、ASCII 文字のみを含むすべての UTF-16 ファイルで機能するはずです。
エディターの配置を改善
エディターのスクロール高さが変更される特定のケース (折り返しエディターのサイズ変更、マウスホイールズームの使用、CodeLens の変更など) では、エディターはビューポートの中央にある行を維持しようとしていました。VS Code はビューポートの最初の行を維持するようになり、より安定した表示を提供します。
ワークベンチ
「問題」ビューのフィルタリング
フィルターを使用して、「問題」ビューでファイルをインクルードまたはエクスルードできるようになりました。
- フィルター入力ボックスでグロブパターンを使用してファイルをインクルード/エクスルードします。エクスルードパターンには
!
をプレフィックスとして付ける必要があります。たとえば、!*.js
は .js 拡張子を持つすべてのファイルを削除します。 files.exclude
設定に一致するすべてのファイルを削除するためのファイル除外設定を使用したフィルターボタンがあります。
以下の短いビデオは、files.exclude
設定に基づいてプロジェクトのout
ディレクトリをフィルタリングし、フィルター入力ボックスに!**/node_modules/**
と入力してすべてのnode_modules
を無視する方法を示しています。
NPM スクリプトの実行
npm.enableScriptExplorer
設定を使用すると、ワークスペースで定義されているスクリプトを表示するエクスプローラーを有効にできます。
エクスプローラーは以下をサポートします。
package.json
ファイルまたはpackage.json
ファイル選択時にscripts
セクション内のスクリプトを開きます。これはスクリプト選択時のデフォルトアクションです。- 統合ターミナルに出力を表示して、スクリプトをタスクとして実行します。
- スクリプトをデバッグします。Node デバッガーを起動するには、スクリプトで
--inspect-brk
のような Node デバッグオプションを定義する必要があります (参照)。
特定のフォルダーに含まれるpackage.json
ファイル内のスクリプトを除外するには、npm.exclude
設定を使用します。
Git クローンの改善
Git クローンワークフローにいくつかの改善が加えられました。Git: Clone コマンドを実行すると
- リポジトリの場所を選択するためにネイティブダイアログが使用されます。
- 新しい通知進捗 API が使用され、操作のステータス報告が改善されます。
- VS Code は、クローンしたリポジトリをワークスペースに追加するか、直接開くかを確認します。
Git 拡張機能は、システムワイド URI を処理するための新しい提案された API も採用し、特定の URI で Git クローンを呼び出します。以下は、https://github.com/microsoft/vscode-vsce.git
をクローンする URI の例です。
vscode://vscode.git/clone?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode-vsce.git
試したい場合は
- Windows: コマンドプロンプトで、次のように入力します:
explorer "vscode://vscode.git/clone?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode-vsce.git"
。 - macOS: シェルで、次のように入力します:
open vscode://vscode.git/clone?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode-vsce.git
。
検索コンテキストメニューから結果をコピー
検索結果ツリーのコンテキストメニューに、コピー、パスをコピー、すべてコピーの3つの新しいオプションが追加されました。これは高評価の多かったリクエストであり、検索結果の共有やエクスポートが容易になります。
検索のインクルードおよびエクスルード入力ボックスの分離の復活
先月、私たちは検索ビューのインクルードとエクスルードの入力ボックスを統合し、それを簡素化して合理化しつつ、わずかな垂直スペースを節約しようとしました。しかし、多くの方々から、これが検索ビューの使い方に合わないという意見をいただきました。最終的に、私たちは変更を元に戻すことに決定し、このリリースでは 1.22 以前のようにインクルード/エクスルードボックスを分離することになりました。なお、エクスルードボックスのパターンには!
を使用する必要はありません。
カスタムアクティビティバービュー
拡張機能の作成者は、独自にビューコンテナーをアクティビティバーに追加できるようになりました。インストールされている拡張機能によっては、更新後に、カスタムエクスプローラーなどの UI がファイルエクスプローラーから新しいカスタムビューコンテナーに移動しているのが見えるかもしれません。たとえば、以下では、Azure App Service および Azure Databases 拡張機能のエクスプローラーが専用の Azure ビューに移動したことがわかります。
実行中の Visual Studio Code プロセスを表示
開発者: プロセスエクスプローラーを開く コマンド、またはヘルプ > プロセスエクスプローラーを開く メニュー項目を使用して、実行中の VS Code プロセスに関する情報が継続的に更新される新しいウィンドウを開きます。プロセスは CPU 使用率、メモリ使用量、PID、および表示名と共にリストされ、右クリックで表示されるコンテキストメニューから強制終了できます。
統合ターミナル
ターミナル分割のマルチルートサポート
マルチルートワークスペース内でターミナルを分割する際に、分割するフォルダーを選択できるようになりました。以前の動作は、workbench.action.terminal.splitInActiveWorkspace
コマンドにキーバインドすることで再度有効にできます。
言語
CSS 領域の折りたたみ
CSS/SCSS/Less で、/* #region */
と /* #endregion */
を使用して領域を折りたたみ可能としてマークできるようになりました。SCSS/Less では、// #region
と // #endregion
も折りたたみマーカーとして使用できます。
CSS の新プロパティサポートを改善
以前は、VS Code はbackdrop-filter
のような一部の実験的な CSS プロパティに対して「不明なプロパティ (Unknown Property)」エラーを表示していました。
これは、PostCSS のように実験的な CSS プロパティの使用を許可する CSS フレームワークを使用している場合でも、CSS リンティングを完全にオフにするか、このエラーを我慢する必要があることを意味していました。
このリリースでは、Mozilla Developer Network からの情報をもとに、VS Code が 87 の新しい CSS プロパティを認識するようになりました。MDN で CSS プロパティを見つけられる場合、VS Code はそれを認識するはずです。
さらに、MDN からの情報により、VS Code は CSS/SCSS/Less での補完機能を強化し、各 CSS プロパティの構文とステータス値を表示するようになりました。
CSS プロパティ値の検証に対する組み込みサポートはまだありませんが、CSSTree バリデーター拡張機能も MDN のデータを使用しており、各プロパティ値の値定義構文に基づいたリンティングを提供します。
Markdown ワークスペースシンボル検索
Markdown はワークスペースシンボル検索をサポートするようになりました。初めて Markdown ファイルを開いた後、(⌘T (Windows, Linux Ctrl+T)) を使用して、現在のワークスペース内のすべての Markdown ファイルのヘッダーを検索できます。
永続的な Markdown プレビュー
VS Code を再度開くと、Markdown プレビューが自動的に復元されるようになりました。
以前は、VS Code を再起動するたびにプレビューを再度開く必要がありました。
TypeScript 2.8.3
VS Code は TypeScript 2.8.3 を搭載するようになりました。このリリースでは、多くの重要なバグが修正されています。
JavaScript および TypeScript のインポート整理
JavaScript および TypeScript のインポート整理機能はプレビュー段階を終了しました。インポートの整理 (Organize Imports) (⇧⌥O (Windows, Linux Shift+Alt+O)) を実行すると、未使用のインポートを素早く削除し、残りのインポートを JavaScript および TypeScript のソースコード内でソートできます。
また、新しいeditor.codeActionsOnSave
設定を使用して、保存時にインポート整理が実行されるように設定できるようになりました。TypeScript ファイルで保存時にインポート整理を有効にする設定は以下の通りです。
"[typescript]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
},
"[typescriptreact]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
}
デバッグ
ログポイントの改善
ログポイントは前回のリリースで導入されましたが、その使いやすさと有用性が向上しました。
-
ログメッセージや条件付きブレークポイントに埋め込まれた式に対して、IntelliSense (スマートな補完) が追加されました。
-
Node.js のデバッグでログポイントを使用する場合、ログメッセージに埋め込まれた構造化オブジェクトは、デバッグコンソールで展開可能なオブジェクトとして表示されます。
-
Node.js デバッグにおけるログポイントは、デバッグコンソールでそのソース位置を表示するようになりました。
-
ログポイントやブレークポイントは、エディターのガターにあるアイコンをクリックすることで簡単に削除できるため、誤ってログメッセージやブレークポイントの条件を失う可能性があります。これを防ぐため、VS Code はガターをクリックして条件またはログメッセージを持つブレークポイントが削除された際にプロンプトを表示するようになりました。このアラートでは、ブレークポイントを削除する代わりに無効にするオプションが提供されます。
-
最後に、デバッグメニューに新しいブレークポイント > ログポイント... アクションを追加しました。
拡張機能の作成
アクティビティバーへの貢献
カスタムビューを作成する拡張機能が増え、その大部分がファイルエクスプローラーに提供されるにつれて、エクスプローラーが煩雑になっていることに気づきました。拡張性を高めるため、VS Code はアクティビティバーへの貢献方法を提供するようになりました。例として、アクティビティバーにテスト貢献が追加されました。拡張機能は独自に貢献できるようになりました。
テストビューコンテナー
拡張機能がテスト関連ビューを貢献するための新しいテスト貢献が、アクティビティバーで提供されるようになりました。このテスト貢献はデフォルトでは空で非表示ですが、ビューが貢献されると表示されます。この例では、mocha
カスタムビューがアクティビティバーのテストアクティビティにどのように貢献されるかを示しています。
"contributes": {
"views": {
"test": [
{
"id": "mocha",
"name": "mocha"
}
]
}
}
カスタムビューコンテナー
拡張機能は、貢献ポイントviewsContainers
を使用して、アクティビティバーに追加のアクティビティを定義できるようになりました。
"contributes": {
"viewsContainers": {
"activitybar": [
{
"id": "package-explorer",
"title": "Package Explorer",
"icon": "resources/package-explorer.svg"
}
]
},
"views": {
"package-explorer": [
{
"id": "package-dependencies",
"name": "Dependencies"
},
{
"id": "package-outline",
"name": "Outline"
}
]
}
}
アイコンの仕様
-
サイズ:
アイコンは 50x40 の正方形の中央に配置された 24x24 です。 -
色:
アイコンは単一のモノクローム色を使用する必要があります。 -
フォーマット:
アイコンは SVG であることが推奨されますが、任意の画像ファイル形式が受け入れられます。 -
状態:
すべてのアイコンは、次の状態スタイルを継承します。状態 不透明度 既定値 60% ホバー 100% アクティブ 100%
登録された各ビューコンテナーを表示するためのコマンドが登録されます。上記のパッケージエクスプローラーの例では、表示: パッケージエクスプローラーを表示 となります。また、表示: ビューを開く... コマンドを実行すると、すべてのビューコンテナーがリスト表示されます。
注: 各ビューごとにビューコンテナーを作成するのではなく、関連するビューを単一のビューコンテナーにまとめることをお勧めします。
ソース管理のカスタムビュー
ソース管理関連のカスタムビューをアクティビティバーのソース管理ビューコンテナーに提供できるようになりました。これらのビューはエクスプローラーと同様に表示、非表示、並べ替えが可能です。
"contributes": {
"views": {
"scm": [
{
"id": "git-compare",
"name": "Compare"
}
]
}
}
ファイルシステムプロバイダー
拡張機能は、ftp サーバーのような任意のソースからファイルやフォルダーを提供できるようになり、VS Code はそれらを通常のファイルと同様に扱います。これを行うには、拡張機能がftp
のような URI スキームに関連付けるFileSystemProvider
インターフェースを使用します。このインターフェースにより、エディターはファイルやフォルダーを検出および管理(作成、削除、読み取り、書き込み)できます。
VS Code は、FileSystem Providers によって提供される設定ファイル(settings.json
、tasks.json
、launch.json
)を読み取り、変更することもできます。
言語識別子とドキュメントセレクター
FileSystem Providers の追加は、すべてのファイルがディスク上に存在するわけではないことを意味し、拡張機能はこのことを認識している必要があります。手短に言えば、しかし重要なこととして、すべてのドキュメントがディスク上に存在するわけではなく、拡張機能がディスクアクセスに依存している場合、最初にスキームを確認しなければなりません。
認識を高めるため、ドキュメントフィルターではなく言語識別子のみを使用して言語機能を登録した場合に表示される情報メッセージを追加しました。詳細については、ドキュメントセレクターのトピックを参照してください。
最後に、テストに使用できるサンプル拡張機能があります。これはすべてをメモリに保持するファイルシステムを実装しており、ディスク上には何も存在しないため、それに対して言語機能をテストできます。拡張機能はこちらで入手できます。
注意: TextDocument.isUntitled
FileSystem Providers の追加により、TextDocument.isUntitled
のセマンティクスを、新しく作成されたドキュメント(untitled
スキームを使用)の場合にのみ true
となるように調整しました。以前は、ディスクからではないすべてのドキュメントは「untitled」として扱われていました。この変更は、特に untitled ではないドキュメントがディスクに保存されていると仮定する拡張機能の動作を変更する可能性があります。
診断の読み取り
診断を読み取り、診断が変更されたときに通知を受け取る新しい API があります。languages.getDiagnostics
および languages.onDidChangeDiagnostics
を参照してください。たとえば、SCM 拡張機能は、チームと変更を共有する前にエラーがないことを確認できるようになりました。
RenameProvider の改良
RenameProvider
API を改良し、オプションでprepareRename
という新しい関数を実装できるようになりました。この関数により、プロバイダーは VS Code が名前を変更するシンボルを解決し、検証するのに役立ちます。
ドキュメント変更イベントにオフセットベースの情報を含める
TextDocumentContentChangeEvent
に新しいプロパティrangeOffset
が追加されました。これはrangeLength
と共に、拡張機能がテキストドキュメントの変更を追跡するために(オフセット,長さ)
座標を使用することを可能にします。
ソースコードアクションの種類
CodeActionKind.Source
は、ファイル全体に適用されるコードアクションを識別します。インポートの整理は、ファイル内の任意の位置からトリガーできるため、Source
コードアクションの良い例です。
Source
コードアクションは、通常のクイックフィックスの電球メニューには表示されません。これらはeditor.action.sourceAction
コマンドを使用して明示的に要求する必要があります。Source
コードアクションは、新しいソースアクションコンテキストメニューにも表示されます。
インポート整理コードアクション
Source
コードアクションを基盤として、新たに追加されたCodeActionKind.SourceOrganizeImports
は、インポート整理コードアクションを識別します。これらのアクションはeditor.action.organizeImports
を使用してトリガーでき、標準のキーボードショートカットがあります: ⇧⌥O (Windows, Linux Shift+Alt+O)。
拡張機能がすでにインポート整理を実装している場合は、ユーザーが言語間でより一貫したエクスペリエンスを得られるように、CodeActionKind.SourceOrganizeImports
を使用するように移行することを強くお勧めします。
CodeActionProviderMetadata
registerCodeActionsProvider
は、オプションのCodeActionProviderMetadata
引数を受け取るようになりました。これにより、拡張機能はCodeActionProvider
が提供するコードアクションの種類を VS Code に伝えることができます。この情報は、VS Code が新しいリファクタリングおよびソースアクションコンテキストメニューを有効にするために使用されます。たとえば、リファクタリングコンテキストメニューは、CodeActionProvider
がrefactor.*
コードアクションを返すことを示すCodeActionProviderMetadata
で登録されている場合にのみ有効になります。
Webview API
Webview API を使用すると、拡張機能は VS Code 内で完全にカスタマイズ可能なビューを作成できます。たとえば、組み込みの Markdown 拡張機能は webview を使用して Markdown プレビューをレンダリングします。Webview は、VS Code のネイティブ API がサポートする範囲を超えた複雑なユーザーインターフェースを構築するためにも使用できます。
Webview API については、新しい拡張機能作成ページで説明されています。Webview API 拡張機能の例はこちらにあります。拡張機能の作成者がこの強力な新しい API をどのように活用するかを見るのが楽しみです。
アプリケーションスコープ設定
設定をアプリケーションレベルで適用し、ウィンドウまたはリソースレベルで上書きされないようにしたい場合は、application
スコープを使用することでそれが可能になりました。
"configuration": {
"properties": {
"git.path": {
"type": "string",
"description": "Path to the git executable",
"scope": "application"
}
}
}
注: isExecutable
プロパティは、同じ目的のために使用されていたため、application
スコープの使用を推奨して非推奨になりました。
提案された拡張API
今回のマイルストーンでは、いくつかの新しい提案された拡張機能 API を追加しました。これらの API は、十分な確信が得られ次第、今後のマイルストーンで安定版に追加する予定です。これらの API がお客様の拡張機能でどのように機能するかについて、フィードバックを歓迎します。
注: これらの API はまだ提案段階であるため、使用するには
package.json
に"enableProposedApi": true
を追加してオプトインし、vscode.proposed.d.tsを拡張機能プロジェクトにコピーする必要があります。また、enableProposedApi
属性を使用する拡張機能を Marketplace に公開することはできません。
統合ターミナル API
統合ターミナル API には、拡張機能の作成者がすべてのターミナルにアクセスできるようにし、異なるマシン間でターミナルの多重化も可能にするいくつかの提案された機能があります。以前は拡張機能が作成したターミナルしかアクセスできませんでしたが、すべてのターミナルが API を介してアクセスできるようになりました。
console.log(window.terminals);
これに対応するイベントがあります。
window.onDidOpenTerminal(terminal => {
console.log('New terminal: ' + terminal.name);
});
ANSI エスケープシーケンスを含む、ターミナルのプロセスから来る生データストリームにフックすることもできます。
const terminal = window.createTerminal();
terminal.onData(data => {
console.log('Terminal data: ' + data);
});
タスク API
タスク API は、拡張機能からのタスクのクエリと実行に関してさらに磨きがかかりました。新しくサポートされる API は次のとおりです。
fetchTasks
はタスクのサブセットのみをクエリするためのフィルターを受け取ります。taskExecutions
は、実行中のすべてのタスクの実行オブジェクトのフェッチをサポートします。executeTask
、taskExecutions
、またはイベントのいずれかを介して提供されるTaskExecution
オブジェクトは、===
を使用して比較できます。
この API はまだ提案段階です。
プロトコルハンドラー API
プロトコルハンドラー API を使用すると、拡張機能はシステムワイド URI を処理できます。この機能は、他のアプリケーションが特定の拡張機能に URI を送信できるため、アプリケーション間の統合に役立ちます。
export interface ProtocolHandler {
handleUri(uri: Uri): void;
}
export namespace window {
/**
* Registers a protocol handler capable of handling system-wide URIs.
*/
export function registerProtocolHandler(handler: ProtocolHandler): Disposable;
}
プロトコルハンドラー登録の例を以下に示します。
function activate() {
registerProtocolHandler({
handleUri(uri: Uri) {
console.log('Received URI', uri.toString());
}
});
}
この API では、URI オーソリティとそれを処理する拡張機能との間に厳密な関係があります。URI オーソリティは拡張機能の ID(publisher.name
)である必要があります。たとえば、以下の URI を見てください。
vscode://vscode.git/clone?url=foobar
\____/ \________/ \___/ \_________/
| | | |
scheme authority path query
この URI のオーソリティはvscode.git
であるため、vscode.git
拡張機能がプロトコルハンドラーを適切に登録していれば、VS Code はそれをその拡張機能に転送します。
拡張機能が登録される前に URI が開かれる可能性があるため、新しいonUri
アクティベーションイベントも導入されました。これにより、拡張機能に向けられた URI が開かれるたびに拡張機能がアクティブ化されます。
注: URI 処理はLinux ではまだサポートされていません。
折りたたみプロバイダー API
リリース 1.22 で提案された折りたたみ範囲プロバイダーが更新され、正式な API となりました。言語拡張機能は、構文を認識する折りたたみ範囲を提供できるようになりました。
/**
* Register a folding range provider.
*
* Multiple providers can be registered for a language. In that case providers are asked in
* parallel and the results are merged.
* If multiple folding ranges start at the same position, only the range of the first registered provider is used.
* If a folding range overlaps with an other range that has a smaller position, it is also ignored.
*
* A failing provider (rejected promise or exception) will
* not cause a failure of the whole operation.
*
* @param selector A selector that defines the documents this provider is applicable to.
* @param provider A folding range provider.
* @return A [disposable](#_Disposable) that unregisters this provider when being disposed.
*/
export function registerFoldingRangeProvider(
selector: DocumentSelector,
provider: FoldingRangeProvider
): Disposable;
拡張機能への貢献
私たちのチームは、いくつかの VS Code 拡張機能を維持または貢献しています。特に今月は以下です。
Sublime Text キーマップ拡張機能
Sublime Text キーマップ拡張機能が Sublime から設定をインポートできるようになりました。
拡張機能が初めて起動されると、インポート可能なすべての Sublime 設定を表示するプロンプトが表示されます。後で設定をインポートしたい場合は、コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) からSublime Text Keymap: Sublime Text 設定をインポート コマンドを使用します。
エンジニアリング
スモークテストの安定性を改善
VS Code には常にスモークテストがあり、これは品質を厳密に管理するために使用されていました。私たちはスモークテストを自動化しましたが、安定させることに失敗していました。今回のマイルストーンでは、スモークテストの安定性とパフォーマンスの向上に取り組みました。詳細については、プルリクエスト #47471 を参照してください。
新しいドキュメント
Azure Storage を使用した Web サイトデプロイチュートリアル
Azure Storage を使用して静的 Web サイトを作成およびデプロイするための新しい静的 Web サイトを Azure にデプロイチュートリアルを公開しました。
VS Code のブログ記事
最近、VS Code ブログに 2 つの投稿がありました。
- VS Code の Bing 搭載設定検索 - Bing の自然言語サービスを使用して設定検索を改善。
- テキストバッファの再実装 - 最適化されたテキストバッファの実装の開発についてお読みください。
注目すべき変更
- 10663: 比較ビューでタブを切り替える際にビューの状態を保持する
- 24634: macOS: ウィンドウの acceptsFirstMouse を有効にする設定を追加する
- 29549: マルチスレッドデバッグはスレッド停止をサポートするべき
- 46785: ファイルにフォーカスがない場合、「Finder で表示」はワークスペースのフォルダーを開くべき
- 47274: Node のログポイントがデバッグコンソールで VM ソースとして表示される
- 47478: 不完全にインストールされた拡張機能を検出する
- 48733: デバッグ中にホバープロバイダーへの呼び出しを有効にするオプション debug.enableAllHovers を導入する
- 46414: ターミナルでの Node.js プロセスのデバッグがデバッグコンソールに出力を表示しなくなった
謝辞
最後に、そしてもちろん最も重要なこととして、Visual Studio Codeをさらに良くするために協力してくれた以下の方々に、心からの感謝を申し上げます!
vscode
への貢献者
- @alexglazkov9: ウィンドウにフォルダがない場合、統合ターミナルが開かない PR #46518
- Brett Cannon (@brettcannon): Python での折りたたみのため、# と
region
の間にスペースを許可する PR #46885 - @cody: 結果が見つからなくても検索クリアを有効にする PR #48324
- @costincaraivan: YAML に region/endregion の折りたたみマーカーを追加。 PR #47722
- David (@ddruker): 統合ターミナルで Esc キーを押して選択をクリアする PR #47042
- Dustin Campbell (@DustinCampbell): 最新のバグ修正で C# TextMate 文法を更新 PR #47520
- Florian Traber (@floriantraber): git 削除ポップアップをモーダルにする PR #47052
- Filip Malinowski (@fmal): ショートハンド宣言の代わりに background-color を明示的に設定する PR #47785
- @ivorhuang: デバッガーがまだ開始されていない場合、再起動時にデバッガーを開始する PR #47219
- Josh Goldberg (@JoshuaKGoldberg): ソース内の isInsalled のタイプミスを修正 PR #47435
- @KarelCasier: 折りたたみ可能なカーソルを無効にするための設定パラメーターを追加 (#_37967) PR #38175
- Kenny Le (@kennyle1412): ワークスペースパスに基づいてターミナルを分割する PR #46461
- Laurel Williams (@lwillia): 拡張機能 ID のトリプルクリックで余分な情報が選択される問題を修正 PR #47921
- Matt Acosta (@mattacosta): php 関数を再生成する。 PR #47865
- Dmitry Ignatovich (@mechatroner): 大容量ファイルパラメータをユーザー設定に移動 PR #44988
- Michael Klement (@mklement0): PowerShell Core shebang 行をサポートするように package.json を更新。 PR #44239
- Niklas Mollenhauer (@nikeee): Hover#range をオプションに変更 PR #48004
- Pascal Fong Kye (@pfongkye): フォーマット時の意味のある警告メッセージ PR #47919
- Yemi Bedu @ P&R (@pr-yemibedu): 小さなタイポグラフィ変更 PR #47451
- Pradeep Murugesan (@pradeepmurugesan)
- Benas Svipas (@svipben): ハイコントラストのための異なるボーダースタイル PR #46956
- vincentLiu (@vincentLiuxiang): QuickOpen を再利用するために SymbolEntry をエクスポート PR #47544
vscode-extension-samples
への貢献
- Niklas Mollenhauer (@nikeee):
client
フォルダーをlsp-sample
に変更 PR #59
language-server-protocol
への貢献者
- Simon Marchi (@simark): TextDocumentSyncKindIncremental -> TextDocumentSyncKind.Increm... に変更 PR #419
- Adelar da Silva Queiróz (@adelarsq): 言語サーバーを言語でソートする PR #424
- Geoffrey Gilmore (@ggilmore): "textDocument/didOpen" の要件を明確にする PR #431
- Junfeng Li (@autozimu): タイプミス。 PR #434
- Niklas Mollenhauer (@nikeee): TextDocuments#get(uri: string) に
undefined
を追加 PR #339 - Caleb Lloyd (@caleblloyd): デスクトップでスティッキーサイドバーがページ外に出る問題を修正 PR #444
- Diego Berrocal (@CestDiego): PR #450
- Remy Suen (@rcjsuen):
vscode-languageserver-node
への貢献者
vscode-chrome-debug
への貢献
- @digeff
- Alexey Velikiy (@jonyrock): コード内のフォーマット 'json' を 'javascript' に変更 PR #640
vscode-chrome-debug
への貢献
vscode-node-debug2
への貢献
localization
への貢献
Transifex のVS Code プロジェクトチームには 800 人以上のメンバーがおり、毎月約 100 人のアクティブな貢献者がいます。新しい翻訳の提供、翻訳への投票、プロセス改善の提案など、皆様の貢献に感謝いたします。
このリリースに貢献してくださった方々のスナップショットを以下に示します。貢献者リストを含むプロジェクトの詳細については、プロジェクトサイトhttps://aka.ms/vscodelocをご覧ください。
- フランス語: Antoine Griffard, Adrien Clerbois, Thierry DEMAN-BARCELO, Jean Cuteaux, Quentin BRETON.
- イタリア語: Alessandro Alpi, Andrea Dottor, Aldo Donetti, Marco Dal Pino, Riccardo Cappello.
- ドイツ語: J.M., Levin Rickert.
- スペイン語: Andy Gonzalez, Alejandro Medina, Alberto Poblacion, Thierry DEMAN-BARCELO, Eickhel Mendoza.
- 日本語: Shunya Tajima, Yuichi Nukiyama, Yosuke Sano, Seiji Momoto, Satoshi Kajiura, Toshinori Sugita.
- 中国語 (簡体字): Joel Yang, YF, pluwen.
- 中国語 (繁体字): Winnie Lin, Duran Hsieh, Ryan Tseng, Alan Tsai, alantea, Will 保哥.
- 韓国語: ChangJoon Lee, HANSEULMARO KIM.
- ロシア語: Michel Ace, Ivan.
- ブルガリア語: Любомир Василев.
- ハンガリー語: Tar Dániel.
- ポルトガル語 (ブラジル): Alessandro Fragnani, Roberto Fonseca, Marcelo Fernandes, Rodrigo Crespi, Matheus Palu, Bruno Sonnino, Douglas Eccker, douglas.martim.
- ポルトガル語 (ポルトガル): Hugo Martins, Daniel Correia, Isac Van Dunem, Tiago Costa, João Mata.
- トルコ語: Adem Coşkuner, Burak Karahan, Özgür Öktem, Ömer Büyükçelik.
- ボスニア語: Muharem Basanovic, Bahrudin Hrnjica, Ismar Bašanović, Almir Vuk.
- チェコ語: Vít Staniček, Vojtěch Habarta, m_fr, Frantisek Veris, Jakub Skořepa, Michal Zobec, Ferdinand Prantl, Ľubomír Kováč, Jan Brudný.
- オランダ語: Marco van den Hout, Maarten van Stam, Gerald Versluis.
- フィンランド語: Petri Niinimäki, Feetu Nyrhinen.
- ヒンディー語: Brahma Dev.
- インドネシア語: Febrian Setianto (Feber), Wildan Mubarok, Adrian M. R., G-RiNe Project, Joseph Aditya P G, Mulia Arifandi Nasution, Herman Prawiro.
- ラトビア語: kozete, Pēteris Kļaviņš, Edgars, Simone Chiaretta.
- ポーランド語: Joanna Skurzyńska, Mateusz Wyczawski.
- ルーマニア語: Schiriac Robert.
- セルビア語: Jean Cuteaux.
- タイ語: ภูมิไผท จันทรศรีวงศ์.
- ウクライナ語: Dmytro Kyrychuk, Borys Lebeda.
- エスペラント語: Andy Hampton.