2018年4月 (バージョン 1.23)
更新 1.23.1: この更新は、これらの問題に対処しています。
ダウンロード: Windows: x64 | Mac: Intel | Linux 64ビット: deb rpm tarball | 32ビット: deb rpm tarball
Visual Studio Codeの2018年4月リリースへようこそ。このマイルストーンでは、VS Codeチームは拡張機能の作成者をサポートするためのAPI作業に注力してきましたが、このバージョンには、皆さんが気に入ってくれることを願う多くの更新がまだあります。主なハイライトの一部は次のとおりです。
- インデントガイドのハイライト - ソースコードのインデントを視覚化するのに役立ちます。
- 保存時にコードアクションを実行 - 保存時にインポートの整理などのアクションを実行します。
- NPMスクリプトエクスプローラー - プロジェクト内のNPMスクリプトをすばやく見つけて、実行し、デバッグします。
- 問題ビューのフィルタリング - エラーと警告を表示するファイルを選択します。
- 中央のマウスボタンによる列選択 - 中央のマウスボタンとドラッグで高速な列選択が可能です。
- CSS領域の折りたたみ - CSS/SCSS/Lessコードに領域を作成して、便利なコード折りたたみを行います。
- CSSの新しいプロパティサポートの改善 - CSSの実験的プロパティに対するスマートな提案。
- Markdownヘッダー検索 - ワークスペース全体でMarkdownヘッダーを検索します。
- カスタムアクティビティバービュー - 拡張機能の作成者が独自のアクティビティバーアイテムを作成できます。
- 新しいデプロイWebサイトチュートリアル - 静的WebサイトをAzure Storageにデプロイする方法を学びます。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
また、クラウド開発者アドボケイト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`セクション内のスクリプトを開きます。これはスクリプトを選択したときのデフォルトアクションです。
- 統合ターミナルに出力を表示して、スクリプトをタスクとして実行します。
- スクリプトをデバッグします。ノードデバッガーを起動するには、スクリプトで`--inspect-brk`のようなノードデバッグオプションを定義する必要があります(参照)。
`npm.exclude`設定を使用して、特定のフォルダー内の`package.json`ファイルに含まれるスクリプトを除外します。
Gitクローンの改善
Gitクローンワークフローにいくつかの改善が加えられました。Git: クローンコマンドを実行すると、
- リポジトリの場所を選択するためにネイティブダイアログが使用されます。
- 新しい通知進捗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プロパティに対して「不明なプロパティ」エラーを表示していました。
CSSリンティングを完全にオフにするか、PostCSSのような実験的な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プレビュー
Markdownプレビューは、VS Codeを再度開くと自動的に復元されるようになりました。
以前は、VS Codeを再起動するたびにプレビューを再度開く必要がありました。
TypeScript 2.8.3
VS CodeはTypeScript 2.8.3を同梱するようになりました。このリリースでは、いくつかの重要なバグが修正されています。
JavaScriptとTypeScriptのインポートを整理
JavaScriptとTypeScriptのインポート整理機能がプレビューを終了しました。インポートを整理 (⇧⌥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は、条件またはログメッセージを持つブレークポイントがガターをクリックして削除されたときにプロンプトを表示するようになりました。このアラートでは、削除する代わりにブレークポイントを無効にするオプションが提供されます。
-
最後に、デバッグメニューに新しいブレークポイント > ログポイント...アクションを追加しました。
拡張機能の作成
アクティビティバーへの貢献
ますます多くの拡張機能がカスタムビューを作成し、その大部分がファイルエクスプローラーに貢献しているため、エクスプローラーが cluttered になっていることに気づきました。スケールアップするため、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%
登録された各ビューコンテナーを表示するコマンドが登録されています。上記のパッケージエクスプローラーの例では、それはビュー: パッケージエクスプローラーを表示となります。また、ビュー: ビューを開く...コマンドを実行すると、すべてのビューコンテナーがリスト表示されます。
注: 各ビューごとにビューコンテナーを作成するのではなく、関連するビューを単一のビューコンテナーにグループ化することをお勧めします。
ソース管理のカスタムビュー
ソース管理マネージメント(SCM)関連のカスタムビューを、アクティビティバーのソース管理ビューコンテナーに貢献できるようになりました。エクスプローラーと同様に、これらのビューの表示、非表示、再順序付けが可能です。
"contributes": {
"views": {
"scm": [
{
"id": "git-compare",
"name": "Compare"
}
]
}
}
ファイルシステムプロバイダー
拡張機能は、ftpサーバーなどの任意のソースからファイルやフォルダーを提供できるようになり、VS Codeはそれらを通常のファイルのように扱います。これを行うには、拡張機能が`ftp`のようなURIスキームと関連付ける`FileSystemProvider`インターフェースを使用します。このインターフェースにより、エディターはファイルとフォルダーを検出および管理できます(作成、削除、読み取り、書き込み)。
VS Codeは、FileSystem Providerによって提供される設定ファイル(`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`と合わせて、拡張機能が`(offset,length)`座標を使用してテキストドキュメントの変更を追跡できるようにします。
ソースコードアクションの種類
`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はまだ提案段階であるため、使用するには、`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`なので、VS Codeは適切にプロトコルハンドラーを登録している場合、`vscode.git`拡張機能に転送します。
拡張機能が登録される前に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キーマップ: Sublime Text設定をインポートコマンドを使用します。
エンジニアリング
スモークテストの安定性を改善
VS Codeには常にスモークテストがあり、これは品質を厳密に管理するために使用されています。スモークテストを自動化しましたが、安定させることに失敗しました。このマイルストーンでは、スモークテストの安定性とパフォーマンスを改善することに取り組みました。詳細については、プルリクエスト #47471を参照してください。
新しいドキュメント
Azure Storageを使用したWebサイトデプロイチュートリアル
Azure Storageを使用して静的ウェブサイトを作成しデプロイするための新しいチュートリアル「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): 統合ターミナルでエスケープキーを押して選択をクリアする 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のシバン行をサポートするために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
- プラディープ・ムルゲサン (@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
- レミー・スーエン (@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.
- 日本語: 田島 俊也, 貫山 雄一, 佐野 陽介, 桃戸 誠司, 梶浦 諭, 杉田 俊則。
- 中国語 (簡体字): 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.