VS Code でをお試しください!

VS Code API

VS Code API は、Visual Studio Code 拡張機能で呼び出すことができる JavaScript API のセットです。このページには、拡張機能の作成者が利用できるすべての VS Code API がリストされています。

API名前空間とクラス

このリストは、VS Code リポジトリのvscode.d.tsファイルからコンパイルされています。

認証

認証の名前空間。

イベント

認証プロバイダーの認証セッションが追加、削除、または変更されたときに発生するイベント

関数

指定されたプロバイダーでユーザーがログインしているすべてのアカウントを取得します。getSessionと組み合わせて使用​​し、特定のアカウントの認証セッションを取得します。

現在、エディターに組み込み拡張機能から貢献されている認証プロバイダーは、GitHubとMicrosoftの認証を実装する2つのみです。それらのproviderIdは「github」と「microsoft」です。

注意: アカウントを取得しても、拡張機能がそのアカウントまたはその認証セッションにアクセスできることを意味するものではありません。getSessionを呼び出すことで、アカウントへのアクセスを確認できます。

パラメーター説明
providerId: string

使用するプロバイダーのID

戻り値説明
Thenable<readonly AuthenticationSessionAccountInformation[]>

認証アカウントの読み取り専用配列に解決されるthenable。

目的のスコープに一致する認証セッションを取得します。providerIdを持つプロバイダーが登録されていない場合、またはユーザーが拡張機能との認証情報の共有に同意しない場合、拒否されます。同じスコープを持つ複数のセッションがある場合、ユーザーは使用したいアカウントを選択するためのクイックピックを表示されます。

現在、エディターに組み込み拡張機能から貢献されている認証プロバイダーは、GitHubとMicrosoftの認証を実装する2つのみです。それらのproviderIdは「github」と「microsoft」です。

パラメーター説明
providerId: string

使用するプロバイダーのID

scopes: readonly string[]

要求された権限を表すスコープのリスト。これらは認証プロバイダーに依存します。

options: AuthenticationGetSessionOptions & {createIfNone: true | AuthenticationGetSessionPresentationOptions}
戻り値説明
Thenable<AuthenticationSession>

認証セッションに解決されるthenable。

目的のスコープに一致する認証セッションを取得します。providerIdを持つプロバイダーが登録されていない場合、またはユーザーが拡張機能との認証情報の共有に同意しない場合、拒否されます。同じスコープを持つ複数のセッションがある場合、ユーザーは使用したいアカウントを選択するためのクイックピックを表示されます。

現在、エディターに組み込み拡張機能から貢献されている認証プロバイダーは、GitHubとMicrosoftの認証を実装する2つのみです。それらのproviderIdは「github」と「microsoft」です。

パラメーター説明
providerId: string

使用するプロバイダーのID

scopes: readonly string[]

要求された権限を表すスコープのリスト。これらは認証プロバイダーに依存します。

options: AuthenticationGetSessionOptions & {forceNewSession: true | AuthenticationGetSessionPresentationOptions}
戻り値説明
Thenable<AuthenticationSession>

認証セッションに解決されるthenable。

目的のスコープに一致する認証セッションを取得します。providerIdを持つプロバイダーが登録されていない場合、またはユーザーが拡張機能との認証情報の共有に同意しない場合、拒否されます。同じスコープを持つ複数のセッションがある場合、ユーザーは使用したいアカウントを選択するためのクイックピックを表示されます。

現在、エディターに組み込み拡張機能から貢献されている認証プロバイダーは、GitHubとMicrosoftの認証を実装する2つのみです。それらのproviderIdは「github」と「microsoft」です。

パラメーター説明
providerId: string

使用するプロバイダーのID

scopes: readonly string[]

要求された権限を表すスコープのリスト。これらは認証プロバイダーに依存します。

options?: AuthenticationGetSessionOptions
戻り値説明
Thenable<AuthenticationSession | undefined>

利用可能な場合は認証セッションに、セッションがない場合はundefinedに解決されるthenable。

認証プロバイダーを登録します。

IDごとに1つのプロバイダーしか存在できません。IDが別のプロバイダーによって既に使用されている場合、エラーがスローされます。IDは大文字と小文字を区別します。

パラメーター説明
id: string

プロバイダーの一意の識別子。

label: string

プロバイダーの人間が読める名前。

provider: AuthenticationProvider

認証プロバイダー。

options?: AuthenticationProviderOptions

プロバイダーの追加オプション。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

チャット

チャット機能の名前空間です。ユーザーはチャットビューでメッセージを送信することでチャット参加者と対話します。チャット参加者はChatResponseStreamを介してMarkdownまたは他の種類のコンテンツで応答できます。

関数

新しいチャット参加者インスタンスを作成します。

パラメーター説明
id: string

参加者の一意の識別子。

handler: ChatRequestHandler

参加者のリクエストハンドラー。

戻り値説明
ChatParticipant

新しいチャット参加者。

コマンド

コマンドを扱う名前空間。簡単に言えば、コマンドとは一意の識別子を持つ関数です。この関数は、コマンドハンドラーとも呼ばれます。

コマンドは、registerCommandおよびregisterTextEditorCommand関数を使用してエディターに追加できます。コマンドは手動またはUIジェスチャから実行できます。それらは、

  • パレット - package.jsoncommandsセクションを使用して、コマンドをコマンドパレットに表示させます。
  • キーバインド - package.jsonkeybindingsセクションを使用して、拡張機能のキーバインドを有効にします。

他の拡張機能やエディター自体からのコマンドは、拡張機能からアクセスできます。ただし、エディターコマンドを呼び出す場合、すべての引数タイプがサポートされているわけではありません。

これは、コマンドハンドラーを登録し、そのコマンドのエントリをパレットに追加するサンプルです。まず、識別子extension.sayHelloでコマンドハンドラーを登録します。

commands.registerCommand('extension.sayHello', () => {
  window.showInformationMessage('Hello World!');
});

次に、コマンド識別子を、パレットに表示されるタイトル(package.json)にバインドします。

{
  "contributes": {
    "commands": [
      {
        "command": "extension.sayHello",
        "title": "Hello World"
      }
    ]
  }
}

関数

指定されたコマンド識別子で示されるコマンドを実行します。

  • 注1: エディターコマンドを実行する場合、すべての型が引数として渡されることを許可されているわけではありません。許可されているのは、プリミティブ型stringbooleannumberundefinednull、およびPositionRangeUriLocationです。
  • 注2: 拡張機能によって提供されたコマンドを実行する場合、制限はありません。
パラメーター説明
command: string

実行するコマンドの識別子。

...rest: any[]

コマンド関数に渡されるパラメーター。

戻り値説明
Thenable<T>

指定されたコマンドの戻り値に解決されるthenable。コマンドハンドラー関数が何も返さない場合、undefinedを返します。

利用可能なすべてのコマンドのリストを取得します。アンダースコアで始まるコマンドは内部コマンドとして扱われます。

パラメーター説明
filterInternal?: boolean

内部コマンド (アンダースコアで始まるもの) を表示しない場合はtrueを設定します。

戻り値説明
Thenable<string[]>

コマンドIDのリストに解決されるThenable。

キーボードショートカット、メニュー項目、アクション、または直接呼び出すことができるコマンドを登録します。

既存のコマンド識別子でコマンドを2回登録すると、エラーが発生します。

パラメーター説明
command: string

コマンドの一意の識別子。

callback: (args: any[]) => any

コマンドハンドラー関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用されるthisコンテキスト。

戻り値説明
Disposable

破棄時にこのコマンドを登録解除するDisposable。

キーボードショートカット、メニュー項目、アクション、または直接呼び出すことができるテキストエディターコマンドを登録します。

テキストエディターコマンドは、コマンドが呼び出されたときにアクティブなエディターがある場合にのみ実行されるため、通常のコマンドとは異なります。また、エディターコマンドのコマンドハンドラーは、アクティブなエディターと編集ビルダーにアクセスできます。編集ビルダーはコールバックの実行中にのみ有効であることに注意してください。

パラメーター説明
command: string

コマンドの一意の識別子。

callback: (textEditor: TextEditor, edit: TextEditorEdit, args: any[]) => void

エディター編集にアクセスできるコマンドハンドラー関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用されるthisコンテキスト。

戻り値説明
Disposable

破棄時にこのコマンドを登録解除するDisposable。

コメント

関数

新しいコメントコントローラーインスタンスを作成します。

パラメーター説明
id: string

コメントコントローラーのid

label: string

コメントコントローラーの人間が読める文字列。

戻り値説明
CommentController

コメントコントローラーのインスタンス。

デバッグ

デバッグ機能の名前空間。

変数

現在アクティブなデバッグコンソール。デバッグセッションがアクティブでない場合、デバッグコンソールに送信された出力は表示されません。

現在アクティブなデバッグセッション、またはundefined。アクティブなデバッグセッションは、デバッグアクションのフローティングウィンドウで表示されるもの、またはデバッグアクションのフローティングウィンドウのドロップダウンメニューに現在表示されているものです。デバッグセッションがアクティブでない場合、値はundefinedです。

現在フォーカスされているスレッドまたはスタックフレーム、またはスレッドやスタックがフォーカスされていない場合はundefined。スレッドはアクティブなデバッグセッションがある場合はいつでもフォーカスでき、スタックフレームはセッションが一時停止され、コールスタックが取得された場合にのみフォーカスできます。

ブレークポイントのリスト。

イベント

アクティブなデバッグセッションが変更されたときに発生するイベント注意: アクティブなデバッグセッションがundefinedに変更された場合もこのイベントは発生します。

debug.activeStackItemが変更されたときに発生するイベント。

ブレークポイントのセットが追加、削除、または変更されたときに発行されるイベント

デバッグセッションからカスタムDAPイベントが受信されたときに発生するイベント

新しいデバッグセッションが開始されたときに発生するイベント

デバッグセッションが終了したときに発生するイベント

関数

ブレークポイントを追加します。

パラメーター説明
breakpoints: readonly Breakpoint[]

追加するブレークポイント。

戻り値説明
void

デバッグアダプタープロトコルを介して受信した「Source」ディスクリプターオブジェクトを、そのコンテンツをロードするために使用できるUriに変換します。ソースディスクリプターがパスに基づいている場合、ファイルUriが返されます。ソースディスクリプターが参照番号を使用する場合、対応するContentProviderと実行中のデバッグセッションを必要とする特定のデバッグUri (スキーム 'debug') が構築されます。

「Source」ディスクリプターにUriを作成するための情報が不足している場合、エラーがスローされます。

パラメーター説明
source: DebugProtocolSource

デバッグアダプタープロトコルで定義されているSource型に準拠するオブジェクト。

session?: DebugSession

ソースディスクリプターが参照番号を使用してアクティブなデバッグセッションからコンテンツをロードする場合に使用されるオプションのデバッグセッション。

戻り値説明
Uri

ソースのコンテンツをロードするために使用できるUri。

特定のデバッグタイプのデバッグアダプターディスクリプターファクトリを登録します。拡張機能は、拡張機能によって定義されたデバッグタイプに対してのみDebugAdapterDescriptorFactoryを登録できます。そうしないと、エラーがスローされます。デバッグタイプに対して複数のDebugAdapterDescriptorFactoryを登録すると、エラーが発生します。

パラメーター説明
debugType: string

ファクトリが登録されるデバッグタイプ。

factory: DebugAdapterDescriptorFactory
戻り値説明
Disposable

破棄時にこのファクトリを登録解除するDisposable

指定されたデバッグタイプのデバッグアダプタートラッカーファクトリを登録します。

パラメーター説明
debugType: string

ファクトリが登録されるデバッグタイプ、またはすべてのデバッグタイプに一致する「*」。

factory: DebugAdapterTrackerFactory
戻り値説明
Disposable

破棄時にこのファクトリを登録解除するDisposable

特定のデバッグタイプのデバッグ構成プロバイダーを登録します。オプションのtriggerKindは、プロバイダーのprovideDebugConfigurationsメソッドがトリガーされるタイミングを指定するために使用できます。現在、2つのトリガー種類が可能です: Initial (またはトリガー種類引数が指定されていない場合) の値を使用すると、provideDebugConfigurationsメソッドは新しく作成されたlaunch.jsonにコピーされる初期デバッグ構成を提供するために使用されます。Dynamicのトリガー種類を使用すると、provideDebugConfigurationsメソッドは、ユーザーに提示されるデバッグ構成を動的に決定するために使用されます (launch.jsonからの静的構成に加えて)。triggerKind引数はprovideDebugConfigurationsメソッドにのみ適用されることに注意してください。つまり、resolveDebugConfigurationメソッドはまったく影響を受けません。異なるトリガー種類に対してresolveメソッドを持つ単一のプロバイダーを登録すると、同じresolveメソッドが複数回呼び出されます。同じタイプに対して複数のプロバイダーを登録できます。

パラメーター説明
debugType: string

プロバイダーが登録されるデバッグタイプ。

provider: DebugConfigurationProvider
triggerKind?: DebugConfigurationProviderTriggerKind

プロバイダーの「provideDebugConfiguration」メソッドが登録されるトリガーtriggerKindが欠落している場合、値DebugConfigurationProviderTriggerKind.Initialが想定されます。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

ブレークポイントを削除します。

パラメーター説明
breakpoints: readonly Breakpoint[]

削除するブレークポイント。

戻り値説明
void

名前付き起動または名前付き複合構成を使用するか、DebugConfigurationを直接渡すことによって、デバッグを開始します。指定されたフォルダーにある'.vscode/launch.json'で名前付き構成が検索されます。デバッグが開始される前に、未保存のすべてのファイルが保存され、起動構成が最新の状態に更新されます。構成で使用されるフォルダー固有の変数 (例: '${workspaceFolder}') は、指定されたフォルダーに対して解決されます。

パラメーター説明
folder: WorkspaceFolder

名前付き構成の検索と変数の解決のためのワークスペースフォルダー、またはフォルダー以外のセットアップの場合はundefined

nameOrConfiguration: string | DebugConfiguration

デバッグまたは複合構成の名前、またはDebugConfigurationオブジェクト。

parentSessionOrOptions?: DebugSession | DebugSessionOptions

デバッグセッションオプション。親デバッグセッションが渡された場合、この親セッションのみのオプションとみなされます。

戻り値説明
Thenable<boolean>

デバッグが正常に開始されたときに解決されるthenable。

指定されたデバッグセッションを停止するか、セッションが省略された場合はすべてのデバッグセッションを停止します。

パラメーター説明
session?: DebugSession

停止するデバッグセッション。省略された場合、すべてのセッションが停止されます。

戻り値説明
Thenable<void>

セッションが停止されたときに解決されるthenable。

環境

エディターが実行される環境を記述する名前空間。

変数

アプリケーションのホストされている場所。デスクトップでは「desktop」であり、Webでは、指定されたエンベッダー、つまり「github.dev」、「codespaces」、またはエンベッダーがその情報を提供しない場合は「web」です。

エディターのアプリケーション名、例: 'VS Code'。

エディターが実行されているアプリケーションのルートフォルダー。

注意: アプリケーションのルートフォルダーを表すものがない環境で実行している場合、値は空文字列になります。

システムクリップボード。

これがアプリケーションの新規インストールであることを示します。インストール後1日以内であればtrue、それ以外の場合はfalse

ユーザーがテレメトリを有効にしているかどうかを示します。拡張機能がテレメトリを送信すべきかどうかを判断するために監視できます。

de-CHfren-USなどの優先ユーザー言語を表します。

エディターの現在のログレベル。

コンピューターの一意の識別子。

リモートの名前。拡張機能によって定義され、一般的なサンプルとしては、Windows Subsystem for Linuxのwslや、セキュアシェルを使用するリモートのssh-remoteがあります。

注意: リモート拡張機能ホストがない場合は値がundefinedになりますが、リモート拡張機能ホストが存在する場合は、すべての拡張機能ホスト (ローカルおよびリモート) で値が定義されます。特定の拡張機能がリモートで実行されているかどうかを知るには、Extension.extensionKindを使用します。

現在のセッションの一意の識別子。エディターが起動するたびに変更されます。

拡張機能ホストの検出されたデフォルトシェル。これは、拡張機能ホストのプラットフォームのterminal.integrated.defaultProfile設定によって上書きされます。シェルをサポートしない環境では、値は空文字列であることに注意してください。

UI種類のプロパティは、拡張機能がどのUIからアクセスされるかを示します。例えば、拡張機能はデスクトップアプリケーションやウェブブラウザからアクセスできます。

オペレーティングシステムにエディターが登録するカスタムURIスキーム。

イベント

エディターのログレベルが変更されたときに発生するイベント

デフォルトシェルが変更されたときに発生するイベント。これは新しいシェルパスと共に発生します。

ユーザーがテレメトリを有効または無効にしたときに発生するイベント。ユーザーがテレメトリを有効にした場合はtrue、無効にした場合はfalse

関数

外部からアクセス可能な形式にUriを解決します。

http: または https: スキーム

拡張機能が実行されている場所から、http:またはhttps:リンクなどの外部Uriを、クライアントマシン上の同じリソースへのUriに解決します。

拡張機能がクライアントマシンで実行されている場合、これはno-opです。

拡張機能がリモートで実行されている場合、この関数はローカルマシンからリモートのtargetへのポート転送トンネルを自動的に確立し、トンネルへのローカルUriを返します。ポート転送トンネルの有効期間はエディターによって管理され、トンネルはユーザーが閉じることができます。

注意: openExternalを介して渡されるUriは自動的に解決されるため、それらに対してasExternalUriを呼び出すべきではありません。

vscode.env.uriScheme

ブラウザで開かれた場合 (例: openExternal経由) に、登録されたUriHandlerをトリガーするUriを作成します。

拡張機能は、結果のUriについていかなる仮定もすべきではなく、いかなる方法でも変更すべきではありません。むしろ、拡張機能は、例えば、認証するサーバーへのコールバッククエリ引数としてUriを追加することにより、このUriを認証フローで使用できます。

注意: サーバーがUriに追加のクエリパラメータ (例: トークンやシークレット) を追加することを決定した場合、それはUriHandlerに渡されるUriに表示されます。

認証フローの

vscode.window.registerUriHandler({
  handleUri(uri: vscode.Uri): vscode.ProviderResult<void> {
    if (uri.path === '/did-authenticate') {
      console.log(uri.toString());
    }
  }
});

const callableUri = await vscode.env.asExternalUri(
  vscode.Uri.parse(vscode.env.uriScheme + '://my.extension/did-authenticate')
);
await vscode.env.openExternal(callableUri);

注意: 拡張機能はasExternalUriの結果をキャッシュすべきではありません。解決されたUriは、システムまたはユーザーのアクションによって無効になる可能性があるためです。例えば、リモートの場合、ユーザーはasExternalUriによって開かれたポート転送トンネルを閉じることがあります。

その他のスキーム

その他のスキームは、提供されたURIがワークスペースURIであるかのように処理されます。その場合、このメソッドは、処理されるとエディターがワークスペースを開くURIを返します。

パラメーター説明
target: Uri
戻り値説明
Thenable<Uri>

クライアントマシンで使用できるUri。

新しいテレメトリロガーを作成します。

パラメーター説明
sender: TelemetrySender

テレメトリロガーによって使用されるテレメトリ送信者。

options?: TelemetryLoggerOptions

テレメトリロガーのオプション。

戻り値説明
TelemetryLogger

新しいテレメトリロガー。

デフォルトのアプリケーションを使用して、リンクを外部で開きます。使用されるスキームに応じて、これは次のようになります。

  • ブラウザ (http:, https:)
  • メールクライアント (mailto:)
  • VSCode自体 (vscode.env.uriSchemeからのvscode:)

注意: showTextDocumentは、エディター内でテキストドキュメントを開くための正しい方法であり、この関数ではありません。

パラメーター説明
target: Uri

開かれるべきUri。

戻り値説明
Thenable<boolean>

開くのが成功したかどうかを示すプロミス。

拡張機能

インストールされた拡張機能を扱う名前空間。拡張機能は、それらに対するリフレクションを可能にするExtensionインターフェースによって表されます。

拡張機能の作成者は、activate呼び出しからAPIの公開インターフェースを返すことで、他の拡張機能にAPIを提供できます。

export function activate(context: vscode.ExtensionContext) {
  let api = {
    sum(a, b) {
      return a + b;
    },
    mul(a, b) {
      return a * b;
    }
  };
  // 'export' public api-surface
  return api;
}

別の拡張機能のAPIに依存する場合、package.jsonextensionDependenciesエントリを追加し、以下のようにgetExtension関数とexportsプロパティを使用します。

let mathExt = extensions.getExtension('genius.math');
let importedApi = mathExt.exports;

console.log(importedApi.mul(42, 1));

変数

現在システムに認識されているすべての拡張機能。

イベント

extensions.allが変更されたときに発生するイベント。これは、拡張機能がインストール、アンインストール、有効化、または無効化されたときに発生します。

関数

publisher.name形式の完全な識別子で拡張機能を取得します。

パラメーター説明
extensionId: string

拡張機能識別子。

戻り値説明
Extension<T> | undefined

拡張機能、またはundefined

l10n (ローカライゼーション)

拡張機能APIのローカライゼーション関連機能の名前空間。これを適切に使用するには、拡張機能マニフェストでl10nを定義し、bundle.l10nファイルが必要です。.jsonファイル。bundle.l10nファイルを生成する方法の詳細については、.jsonファイルの生成方法については、vscode-l10nリポジトリを参照してください。

注: 組み込み拡張機能 (例: Git、TypeScript言語機能、GitHub認証) は、l10nプロパティ要件から除外されます。つまり、翻訳された文字列は言語パックから提供されるため、拡張機能マニフェストにl10nを指定する必要はありません。

変数

拡張機能のためにロードされたローカライズされた文字列のバンドル。バンドルがロードされていない場合、undefinedです。バンドルが見つからなかった場合、またはデフォルト言語で実行している場合、通常バンドルはロードされません。

拡張機能のためにロードされたローカライゼーションバンドルのURI。バンドルがロードされていない場合、undefinedです。バンドルが見つからなかった場合、またはデフォルト言語で実行している場合、通常バンドルはロードされません。

関数

文字列をローカライゼーション用にマークします。env.languageで指定された言語にローカライズされたバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズされた値がある場合、そのローカライズされた値が返されます (テンプレート化された値にはargs値が挿入されます)。

l10n.t('Hello {0}!', 'World');
パラメーター説明
message: string

ローカライズするメッセージ。{0}{1}のような文字列がargs配列のそのインデックスの項目に置き換えられるインデックステンプレートをサポートします。

...args: Array<string | number | boolean>

ローカライズされた文字列で使用される引数。引数のインデックスは、ローカライズされた文字列のテンプレートプレースホルダーと一致させるために使用されます。

戻り値説明
string

挿入された引数を持つローカライズされた文字列。

文字列をローカライゼーション用にマークします。env.languageで指定された言語にローカライズされたバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズされた値がある場合、そのローカライズされた値が返されます (テンプレート化された値にはargs値が挿入されます)。

l10n.t('Hello {name}', { name: 'Erich' });
パラメーター説明
message: string

ローカライズするメッセージ。{foo}{bar}のような文字列が、そのキー (foo, barなど) のRecord内の値に置き換えられる名前付きテンプレートをサポートします。

args: Record<string, any>

ローカライズされた文字列で使用される引数。レコード内のキー名が、ローカライズされた文字列のテンプレートプレースホルダーと一致させるために使用されます。

戻り値説明
string

挿入された引数を持つローカライズされた文字列。

文字列をローカライゼーション用にマークします。env.languageで指定された言語にローカライズされたバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズされた値がある場合、そのローカライズされた値が返されます (テンプレート化された値にはargs値が挿入されます)。

パラメーター説明
options: {args: Array<string | number | boolean> | Record<string, any>, comment: string | string[], message: string}

メッセージをローカライズする際に使用するオプション。

戻り値説明
string

挿入された引数を持つローカライズされた文字列。

言語

IntelliSense、コードアクション、診断などの言語固有のエディター機能に参加するための名前空間。

多くのプログラミング言語が存在し、構文、セマンティクス、パラダイムには非常に多様性があります。それにもかかわらず、自動単語補完、コードナビゲーション、コードチェックなどの機能は、さまざまなプログラミング言語のさまざまなツールで普及しています。

エディターは、すべてのUIとアクションがすでに配置されており、データを提供するだけでそのような共通機能を提供することを簡単にするAPIを提供します。例えば、ホバー機能を提供するには、TextDocumentPositionで呼び出され、ホバー情報を返す関数を提供するだけで済みます。マウスの追跡、ホバーの位置決め、ホバーの安定化などは、エディターが処理します。

languages.registerHoverProvider('javascript', {
  provideHover(document, position, token) {
    return new Hover('I am a hover!');
  }
});

登録は、javascriptのような言語ID、または{ language: 'typescript', scheme: 'file' }のようなより複雑なフィルターであるドキュメントセレクターを使用して行われます。このようなセレクターに対してドキュメントを照合すると、プロバイダーが使用されるかどうか、およびどのように使用されるかを決定するために使用されるスコアが得られます。スコアが同じ場合、最後に登録されたプロバイダーが優先されます。ホバーのような完全なアリティを許可する機能の場合、スコアは>0であるかどうかのみがチェックされ、IntelliSenseのような他の機能の場合、スコアはプロバイダーに参加を要求する順序を決定するために使用されます。

イベント

グローバルな診断セットが変更されたときに発生するイベント。これは新しく追加された診断と削除された診断です。

関数

診断コレクションを作成します。

パラメーター説明
name?: string

コレクションの名前

戻り値説明
DiagnosticCollection

新しい診断コレクション。

新しい言語ステータス項目を作成します。

パラメーター説明
id: string

項目の識別子。

selector: DocumentSelector

項目が表示されるエディターを定義するドキュメントセレクター。

戻り値説明
LanguageStatusItem

新しい言語ステータス項目。

指定されたリソースのすべての診断を取得します。

パラメーター説明
resource: Uri

リソース

戻り値説明
Diagnostic[]

診断オブジェクトの配列、または空の配列。

すべての診断を取得します。

パラメーター説明
戻り値説明
Array<[Uri, Diagnostic[]]>

Uri-診断タプルの配列、または空の配列。

既知のすべての言語の識別子を返します。

パラメーター説明
戻り値説明
Thenable<string[]>

識別子文字列の配列に解決されるPromise。

ドキュメントセレクターとドキュメント間のマッチングを計算します。ゼロより大きい値は、セレクターがドキュメントに一致することを意味します。

一致はこれらのルールに従って計算されます

  1. DocumentSelectorが配列の場合、含まれる各DocumentFilterまたは言語識別子の一致を計算し、最大値を取ります。
  2. 文字列は、DocumentFilterlanguage部分となるようにデシュガーされます。したがって、"fooLang"{ language: "fooLang" }のようになります。
  3. DocumentFilterは、その部分をドキュメントと比較することでドキュメントと一致させます。以下のルールが適用されます。
    1. DocumentFilterが空 ({}) の場合、結果は0
    2. schemelanguagepattern、またはnotebookが定義されていても、いずれかが一致しない場合、結果は0
    3. *との一致はスコア5を与え、等価またはグロブパターンによる一致はスコア10を与えます。
    4. 結果は各マッチの最大値です。

サンプル

// default document from disk (file-scheme)
doc.uri; //'file:///my/file.js'
doc.languageId; // 'javascript'
match('javascript', doc); // 10;
match({ language: 'javascript' }, doc); // 10;
match({ language: 'javascript', scheme: 'file' }, doc); // 10;
match('*', doc); // 5
match('fooLang', doc); // 0
match(['fooLang', '*'], doc); // 5

// virtual document, e.g. from git-index
doc.uri; // 'git:/my/file.js'
doc.languageId; // 'javascript'
match('javascript', doc); // 10;
match({ language: 'javascript', scheme: 'git' }, doc); // 10;
match('*', doc); // 5

// notebook cell document
doc.uri; // `vscode-notebook-cell:///my/notebook.ipynb#gl65s2pmha`;
doc.languageId; // 'python'
match({ notebookType: 'jupyter-notebook' }, doc); // 10
match({ notebookType: 'fooNotebook', language: 'python' }, doc); // 0
match({ language: 'python' }, doc); // 10
match({ notebookType: '*' }, doc); // 5
パラメーター説明
selector: DocumentSelector

ドキュメントセレクター。

document: TextDocument

テキストドキュメント。

戻り値説明
number

セレクターが一致する場合は>0の数値、一致しない場合は0

コール階層プロバイダーを登録します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: CallHierarchyProvider

コール階層プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

コードアクションプロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: CodeActionProvider<CodeAction>

コードアクションプロバイダー。

metadata?: CodeActionProviderMetadata

プロバイダーが提供するコードアクションの種類に関するメタデータ。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

コードレンズプロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: CodeLensProvider<CodeLens>

コードレンズプロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

カラープロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentColorProvider

カラープロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

補完プロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、同等のスコアを持つグループは順次補完項目を要求されます。1つまたは複数のグループのプロバイダーが結果を返すと、プロセスは停止します。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

補完項目プロバイダーは、triggerCharactersのセットと関連付けることができます。トリガー文字が入力されると、補完が要求されますが、入力された文字を登録したプロバイダーからのみです。そのため、トリガー文字は単語文字とは異なるべきであり、一般的なトリガー文字はメンバー補完をトリガーするための.です。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: CompletionItemProvider<CompletionItem>

補完プロバイダー。

...triggerCharacters: string[]

ユーザーが文字のいずれかをタイプしたときに補完をトリガーします。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

宣言プロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DeclarationProvider

宣言プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

定義プロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DefinitionProvider

定義プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

新しいDocumentDropEditProviderを登録します。

1つの言語に対して複数のドロッププロバイダーを登録できます。コンテンツをエディターにドロップすると、エディターの言語に登録されたすべてのプロバイダーが、DocumentDropEditProviderMetadataで指定された処理するMIMEタイプに基づいて呼び出されます。

各プロバイダーは1つ以上のDocumentDropEditsを返すことができます。編集はDocumentDropEdit.yieldToプロパティを使用してソートされます。デフォルトでは最初の編集が適用されます。追加の編集がある場合、それらはドロップウィジェットで選択可能なドロップオプションとしてユーザーに表示されます。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentDropEditProvider<DocumentDropEdit>

ドロッププロバイダー。

metadata?: DocumentDropEditProviderMetadata

プロバイダーに関する追加のメタデータ。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

ドキュメントの書式設定プロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentFormattingEditProvider

ドキュメント書式設定編集プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

ドキュメントハイライトプロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、グループは順次ドキュメントハイライトを要求されます。プロバイダーがnon-falsyまたはnon-failureの結果を返すと、プロセスは停止します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentHighlightProvider

ドキュメントハイライトプロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

ドキュメントリンクプロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentLinkProvider<DocumentLink>

ドキュメントリンクプロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

新しいDocumentPasteEditProviderを登録します。

1つの言語に対して複数のプロバイダーを登録できます。ある言語に対して登録されているすべてのプロバイダーは、DocumentPasteProviderMetadataで指定された、処理するMIMEタイプに基づいてコピーアンドペースト操作で呼び出されます。

コピー操作の場合、各プロバイダーによって行われたDataTransferへの変更は、クリップボードを生成するために使用される単一のDataTransferにマージされます。

[DocumentPasteEditProvider.providerDocumentPasteEdits 貼り付け操作](#DocumentPasteEditProvider.providerDocumentPasteEdits paste operations)の場合、各プロバイダーが呼び出され、1つ以上のDocumentPasteEditを返すことができます。編集はDocumentPasteEdit.yieldToプロパティを使用してソートされます。デフォルトでは、最初の編集が適用され、残りの編集は貼り付けウィジェットで選択可能な貼り付けオプションとしてユーザーに表示されます。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentPasteEditProvider<DocumentPasteEdit>

貼り付けエディタープロバイダー。

metadata: DocumentPasteProviderMetadata

プロバイダーに関する追加のメタデータ。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

ドキュメント範囲の書式設定プロバイダーを登録します。

注意: ドキュメント範囲プロバイダーはドキュメントフォーマッターでもあるため、範囲プロバイダーを登録する際にドキュメントフォーマッターを登録する必要はありません。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentRangeFormattingEditProvider

ドキュメント範囲の書式設定編集プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

ドキュメント範囲のセマンティックトークンプロバイダーを登録します。

注意: ドキュメントにDocumentSemanticTokensProviderDocumentRangeSemanticTokensProviderの両方がある場合、範囲プロバイダーは最初にのみ呼び出され、フルドキュメントプロバイダーが最初の要求を解決するのにかかる間だけ機能します。フルドキュメントプロバイダーが最初の要求を解決すると、範囲プロバイダー経由で提供されたセマンティックトークンは破棄され、それ以降はドキュメントプロバイダーのみが使用されます。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentRangeSemanticTokensProvider

ドキュメント範囲のセマンティックトークンプロバイダー。

legend: SemanticTokensLegend
戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

ドキュメント全体のセマンティックトークンプロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentSemanticTokensProvider

ドキュメントのセマンティックトークンプロバイダー。

legend: SemanticTokensLegend
戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

ドキュメントシンボルプロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentSymbolProvider

ドキュメントシンボルプロバイダー。

metaData?: DocumentSymbolProviderMetadata

プロバイダーに関するメタデータ

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

テキストドキュメント内の評価可能な式を特定するプロバイダーを登録します。エディターはアクティブなデバッグセッションで式を評価し、その結果をデバッグホバーに表示します。

ある言語に対して複数のプロバイダーが登録されている場合、任意のプロバイダーが使用されます。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: EvaluatableExpressionProvider

評価可能な式プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

折りたたみ範囲プロバイダーを登録します。

ある言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。複数の折りたたみ範囲が同じ位置から始まる場合、最初に登録されたプロバイダーの範囲のみが使用されます。折りたたみ範囲がより小さい位置の他の範囲と重なる場合、それは無視されます。

失敗したプロバイダー(拒否されたPromiseまたは例外)は、操作全体が失敗する原因にはなりません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: FoldingRangeProvider

折りたたみ範囲プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

ホバープロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: HoverProvider

ホバープロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

実装プロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: ImplementationProvider

実装プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

インレイヒントプロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: InlayHintsProvider<InlayHint>

インレイヒントプロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

インライン補完プロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: InlineCompletionItemProvider

インライン補完プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

デバッガーの「インライン値」機能のデータを返すプロバイダーを登録します。汎用デバッガーがソースファイルで停止すると、ファイルの言語に登録されているプロバイダーが呼び出され、行末にエディターで表示されるテキストデータを返します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: InlineValuesProvider

インライン値プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

リンクされた編集範囲プロバイダーを登録します。

ある言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、結果を持つ最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体が失敗する原因となります。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: LinkedEditingRangeProvider

リンクされた編集範囲プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

入力時に動作する書式設定プロバイダーを登録します。このプロバイダーは、ユーザーが設定editor.formatOnTypeを有効にしたときにアクティブになります。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: OnTypeFormattingEditProvider

入力時書式設定編集プロバイダー。

firstTriggerCharacter: string

}のように、書式設定がトリガーされる文字。

...moreTriggerCharacter: string[]

その他のトリガー文字。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

参照プロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: ReferenceProvider

参照プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

名前変更プロバイダーを登録します。

ある言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、順番に要求されます。結果を生成した最初のプロバイダーが、操作全体の結果を定義します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: RenameProvider

名前変更プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

選択範囲プロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: SelectionRangeProvider

選択範囲プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

シグネチャヘルププロバイダーを登録します。

ある言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、有効な結果を返すプロバイダーが見つかるまで順番に呼び出されます。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: SignatureHelpProvider

シグネチャヘルププロバイダー。

...triggerCharacters: string[]

ユーザーが,(などの文字を入力したときにシグネチャヘルプをトリガーします。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: SignatureHelpProvider

シグネチャヘルププロバイダー。

metadata: SignatureHelpProviderMetadata

プロバイダーに関する情報。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

型定義プロバイダーを登録します。

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: TypeDefinitionProvider

型定義プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

型階層プロバイダーを登録します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: TypeHierarchyProvider

型階層プロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

ワークスペースシンボルプロバイダーを登録します。

複数のプロバイダーを登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー(拒否されたPromiseまたは例外)は、操作全体が失敗する原因にはなりません。

パラメーター説明
provider: WorkspaceSymbolProvider<SymbolInformation>

ワークスペースシンボルプロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

言語の言語構成を設定します。

パラメーター説明
language: string

typescriptのような言語識別子。

configuration: LanguageConfiguration

言語構成。

戻り値説明
Disposable

この設定を解除するDisposable

指定されたドキュメントに関連付けられている言語を設定(および変更)します。

注意: この関数を呼び出すと、onDidCloseTextDocumentイベントがトリガーされ、その後にonDidOpenTextDocumentイベントが続きます。

パラメーター説明
document: TextDocument

言語が変更されるドキュメント

languageId: string

新しい言語識別子。

戻り値説明
Thenable<TextDocument>

更新されたドキュメントで解決されるThenable。

lm (言語モデル)

言語モデル関連機能のネームスペース。

変数

lm.registerToolを使用してすべての拡張機能によって登録された、利用可能なすべてのツールのリストです。lm.invokeToolを介して、宣言されたinputSchemaと一致する入力で呼び出すことができます。

イベント

利用可能なチャットモデルのセットが変更されたときに発生するイベント。

関数

lm.toolsにリストされているツールを、指定された入力で名前によって呼び出します。入力はツールによって宣言されたスキーマに対して検証されます。

ツールは、チャットリクエストの処理コンテキストでチャット参加者によって呼び出されるか、またはカスタムフローで任意の拡張機能によってグローバルに呼び出されることができます。

前者の場合、呼び出し元は、チャットリクエストとともに提供されるtoolInvocationTokenを渡す必要があります。これにより、チャットUIが正しい会話に対してツールの呼び出しを表示することを保証します。

ツールの結果は、テキストおよびprompt-tsxのパーツの配列です。ツール呼び出し元がvscode/prompt-tsxを使用している場合、ToolResultを使用して応答パーツをプロンプトに組み込むことができます。そうでない場合、パーツはLanguageModelToolResultPartを含むユーザーメッセージを介してLanguageModelChatに渡すことができます。

チャット参加者が複数のターンにわたるリクエストのツール結果を保持したい場合、ハンドラーから返されたChatResult.metadataにツール結果を保存し、次のターンでChatResponseTurn.resultからそれらを取得できます。

パラメーター説明
name: string

呼び出すツールの名前。

options: LanguageModelToolInvocationOptions<object>

ツールを呼び出すときに使用するオプション。

token?: CancellationToken

キャンセル化トークン。CancellationTokenSourceを参照して作成方法を確認してください。

戻り値説明
Thenable<LanguageModelToolResult>

ツール呼び出しの結果。

エディターが利用するモデルコンテキストプロトコルサーバーを公開するプロバイダーを登録します。これにより、ユーザーが設定ファイルで作成したサーバーに加えて、MCPサーバーを動的にエディターに提供できるようになります。

このメソッドを呼び出す前に、拡張機能は、対応するIDを使用してcontributes.mcpServerDefinitionProviders拡張ポイントを登録する必要があります。例:

    "contributes": {
        "mcpServerDefinitionProviders": [
            {
                "id": "cool-cloud-registry.mcp-servers",
                "label": "Cool Cloud Registry",
            }
        ]
    }

新しいMcpServerDefinitionProviderが利用可能になると、エディターは新しいサーバーを検出するためにユーザーに「更新」アクションを提示します。このフローを有効にするには、拡張機能はアクティベーション中にregisterMcpServerDefinitionProviderを呼び出す必要があります。

パラメーター説明
id: string

プロバイダーのID。拡張機能に対して一意です。

provider: McpServerDefinitionProvider<McpServerDefinition>

登録するプロバイダー

戻り値説明
Disposable

破棄時にプロバイダーの登録を解除するDisposable。

LanguageModelToolを登録します。このツールは、package.jsonのlanguageModelTools貢献ポイントにも登録する必要があります。登録されたツールは、すべての拡張機能が参照できるようにlm.toolsリストで利用可能です。ただし、言語モデルによって認識されるには、LanguageModelChatRequestOptions.toolsの利用可能なツールのリストに渡す必要があります。

パラメーター説明
name: string
tool: LanguageModelTool<T>
戻り値説明
Disposable

破棄時にツールの登録を解除するDisposable

セレクターによってチャットモデルを選択します。これにより複数のチャットモデルが返される場合もあれば、全く返されない場合もあります。拡張機能はこれらのケース、特にチャットモデルが存在しない場合に適切に処理する必要があります。

const models = await vscode.lm.selectChatModels({ family: 'gpt-3.5-turbo' });
if (models.length > 0) {
    const [first] = models;
    const response = await first.sendRequest(...)
    // ...
} else {
    // NO chat models available
}

セレクターは、特定のベンダーやファミリーのすべてのモデルに広く一致するように記述することも、IDによって1つのモデルを厳密に選択することもできます。利用可能なモデルのセットは時間とともに変化する可能性があること、また、プロンプトが異なるモデルで異なるパフォーマンスを示す可能性があることに留意してください。

注意: 拡張機能はこの関数が返す結果を保持し、後で利用できます。ただし、onDidChangeChatModelsイベントが発火した場合、チャットモデルのリストが変更されている可能性があるため、拡張機能は再クエリを行う必要があります。

パラメーター説明
selector?: LanguageModelChatSelector

チャットモデルセレクター。省略された場合、すべてのチャットモデルが返されます。

戻り値説明
Thenable<LanguageModelChat[]>

チャットモデルの配列(空になることもあります!)。

ノートブック

ノートブック用ネームスペース。

ノートブックの機能は、3つの疎結合コンポーネントで構成されています。

  1. NotebookSerializerは、エディターがノートブックを開き、表示し、保存できるようにします。
  2. NotebookControllerはノートブックの実行を所有します。例えば、コードセルから出力を生成します。
  3. NotebookRendererはエディターにノートブックの出力を表示します。これらは別のコンテキストで実行されます。

関数

新しいノートブックコントローラーを作成します。

パラメーター説明
id: string

コントローラーの識別子。拡張機能ごとに一意である必要があります。

notebookType: string

このコントローラーが対象とするノートブックの種類。

label: string

コントローラーのラベル。

handler?: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable<void>

コントローラーの実行ハンドラー。

戻り値説明
NotebookController

新しいノートブックコントローラー。

特定のレンダラーと通信するために使用される新しいメッセージングインスタンスを作成します。

  • 注意1: 拡張機能は、package.jsonファイルで定義したレンダラーのみを作成できます。
  • 注意2: レンダーがメッセージングにアクセスできるのは、そのnotebookRenderer貢献でrequiresMessagingalwaysまたはoptionalに設定されている場合のみです。
パラメーター説明
rendererId: string

通信するレンダラーID

戻り値説明
NotebookRendererMessaging

新しいノートブックレンダラーメッセージングオブジェクト。

指定されたノートブックタイプに対してセルステータスバーアイテムプロバイダーを登録します。

パラメーター説明
notebookType: string

登録するノートブックのタイプ。

provider: NotebookCellStatusBarItemProvider

セルステータスバープロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

scm (ソース管理)

ソース管理機能のネームスペース。

変数

拡張機能によって最後に作成されたソース管理の入力ボックス

  • 非推奨 - 代わりにSourceControl.inputBoxを使用してください。

関数

新しいソース管理インスタンスを作成します。

パラメーター説明
id: string

ソース管理のID。短く、例えばgitなど。

label: string

ソース管理の人間が読める文字列。例:Git

rootUri?: Uri

ソース管理のルートのオプションのUri。例:Uri.parse(workspaceRoot)

戻り値説明
SourceControl

ソース管理のインスタンス。

タスク

タスク機能のネームスペース。

変数

現在アクティブなタスク実行、または空の配列。

イベント

タスクが終了したときに発生します。

基になるプロセスが終了したときに発生します。このイベントは、基になるプロセスを実行しないタスクでは発生しません。

タスクが開始したときに発生します。

基になるプロセスが開始されたときに発生します。このイベントは、基になるプロセスを実行しないタスクでは発生しません。

関数

エディターによって管理されるタスクを実行します。返されたタスク実行は、タスクを終了するために使用できます。

  • スロー - 新しいプロセスを開始できない環境でShellExecutionまたはProcessExecutionタスクを実行する場合。このような環境では、CustomExecutionタスクのみを実行できます。
パラメーター説明
task: Task

実行するタスク

戻り値説明
Thenable<TaskExecution>

タスク実行に解決されるThenable。

システムで利用可能なすべてのタスクを取得します。これには、tasks.jsonファイルからのタスクと、拡張機能を通じて貢献されたタスクプロバイダーからのタスクが含まれます。

パラメーター説明
filter?: TaskFilter

特定のタイプまたはバージョンのタスクを選択するためのオプションのフィルター。

戻り値説明
Thenable<Task[]>

タスクの配列に解決されるThenable。

タスクプロバイダーを登録します。

パラメーター説明
type: string

このプロバイダーが登録されているタスクの種類。

provider: TaskProvider<Task>

タスクプロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

テスト

テスト機能のネームスペース。テストはTestControllerインスタンスを登録し、次にTestItemを追加することで公開されます。コントローラーは、1つ以上のTestRunProfileインスタンスを作成することで、テストの実行方法を記述することもできます。

関数

新しいテストコントローラーを作成します。

パラメーター説明
id: string

コントローラーの識別子。グローバルに一意である必要があります。

label: string

コントローラーの人間が読めるラベル。

戻り値説明
TestController

TestControllerのインスタンス。

ウィンドウ

エディターの現在のウィンドウを扱うためのネームスペース。可視およびアクティブなエディター、メッセージ、選択の表示、ユーザー入力の要求を行うUI要素を含みます。

変数

設定で構成されている現在アクティブなカラーテーマ。アクティブなテーマは、workbench.colorTheme設定を介して変更できます。

現在アクティブなノートブックエディター、またはundefined。アクティブなエディターとは、現在フォーカスがあるもの、またはフォーカスがない場合に最近入力が変更されたものです。

現在アクティブなターミナル、またはundefined。アクティブなターミナルとは、現在フォーカスがあるもの、または最近フォーカスがあったものです。

現在アクティブなエディター、またはundefined。アクティブなエディターとは、現在フォーカスがあるもの、またはフォーカスがない場合に最近入力が変更されたものです。

現在のウィンドウの状態を表します。

メインエディター領域内のグリッドウィジェットを表します。

現在開いているターミナル、または空の配列。

現在表示されているノートブックエディター、または空の配列。

現在表示されているエディター、または空の配列。

イベント

アクティブなカラーテーマが変更されたり、変更があった場合に発生するイベント

アクティブなノートブックエディターが変更されたときに発生するイベント注意: アクティブなエディターがundefinedに変更された場合もこのイベントが発生します。

アクティブなターミナルが変更されたときに発生するイベント注意: アクティブなターミナルがundefinedに変更された場合もこのイベントが発生します。

アクティブなエディターが変更されたときに発生するイベント注意: アクティブなエディターがundefinedに変更された場合もこのイベントが発生します。

ノートブックエディターの選択が変更されたときに発生するイベント

イベント。これはノートブックエディターの表示範囲が変更されたときに発生します。

シェル統合がアクティブになったとき、またはターミナル内でそのプロパティのいずれかが変更されたときに発生します。

ターミナルの状態が変更されたときに発生するイベント

エディターのオプションが変更されたときに発生するイベント

エディターの選択範囲が変更されたときに発生するイベント

エディターのビュー列が変更されたときに発生するイベント

エディターの表示範囲が変更されたときに発生するイベント

表示されているエディターの配列が変更されたときに発生するイベント

現在のウィンドウのフォーカスまたはアクティビティ状態が変更されたときに発生するイベント。イベントの値は、ウィンドウがフォーカスされているかどうかを表します。

ターミナルが破棄されたときに発生するイベント

ターミナルコマンドが終了したときに発生します。このイベントは、ターミナルでシェル統合がアクティブになっている場合にのみ発生します。

createTerminal APIまたはコマンドを通じてターミナルが作成されたときに発生するイベント

ターミナルコマンドが開始されたときに発生します。このイベントは、ターミナルでシェル統合がアクティブになっている場合にのみ発生します。

関数

ユーザーにテキスト入力を促すためのInputBoxを作成します。

多くの場合、より便利なwindow.showInputBoxの方が使いやすいことに注意してください。window.showInputBoxが必要な柔軟性を提供しない場合に、window.createInputBoxを使用すべきです。

パラメーター説明
戻り値説明
InputBox

新しいInputBox

指定された名前と言語IDを持つ新しい出力チャンネルを作成します。言語IDが提供されない場合、デフォルトの言語IDとしてLogが使用されます。

表示されているエディターまたはアクティブなエディターから、可視またはアクティブな出力チャンネルをテキストドキュメントとしてアクセスし、言語IDを使用して構文の色付け、コードレンズなどの言語機能を提供できます。

パラメーター説明
name: string

UIでチャンネルを表すために使用される人間が読める文字列。

languageId?: string

チャンネルに関連付けられた言語の識別子。

戻り値説明
OutputChannel

新しい出力チャンネル。

指定された名前を持つ新しいログ出力チャンネルを作成します。

パラメーター説明
name: string

UIでチャンネルを表すために使用される人間が読める文字列。

options: {log: true}

ログ出力チャンネルのオプション。

戻り値説明
LogOutputChannel

新しいログ出力チャンネル。

ユーザーがT型のアイテムリストからアイテムを選択できるようにするQuickPickを作成します。

多くの場合、より便利なwindow.showQuickPickの方が使いやすいことに注意してください。window.showQuickPickが必要な柔軟性を提供しない場合に、window.createQuickPickを使用すべきです。

パラメーター説明
戻り値説明
QuickPick<T>

新しいQuickPick

ステータスバーアイテムを作成します。

パラメーター説明
id: string

アイテムの識別子。拡張機能内で一意である必要があります。

alignment?: StatusBarAlignment

アイテムの配置。

priority?: number

アイテムの優先順位。値が高いほど、アイテムはより左側に表示されます。

戻り値説明
StatusBarItem

新しいステータスバーアイテム。

ステータスバーアイテムを作成します。

参照: 識別子を持つステータスバーアイテムを作成するためのcreateStatusBarItem

パラメーター説明
alignment?: StatusBarAlignment

アイテムの配置。

priority?: number

アイテムの優先順位。値が高いほど、アイテムはより左側に表示されます。

戻り値説明
StatusBarItem

新しいステータスバーアイテム。

バックエンドのシェルプロセスを持つターミナルを作成します。ターミナルのCWDは、ワークスペースディレクトリが存在する場合はそれになります。

  • スロー - 新しいプロセスを開始できない環境で実行する場合。
パラメーター説明
name?: string

UIでターミナルを表すために使用されるオプションの人間が読める文字列。

shellPath?: string

ターミナルで使用するカスタムシェル実行可能ファイルへのオプションのパス。

shellArgs?: string | readonly string[]

カスタムシェル実行可能ファイルへのオプションの引数。Windowsでのみ文字列を使用でき、コマンドライン形式でシェル引数を指定できます。

戻り値説明
Terminal

新しいターミナル。

バックエンドのシェルプロセスを持つターミナルを作成します。

  • スロー - 新しいプロセスを開始できない環境で実行する場合。
パラメーター説明
options: TerminalOptions

新しいターミナルの特性を記述するTerminalOptionsオブジェクト。

戻り値説明
Terminal

新しいターミナル。

拡張機能がその入力と出力を制御するターミナルを作成します。

パラメーター説明
options: ExtensionTerminalOptions

新しいターミナルの特性を記述するExtensionTerminalOptionsオブジェクト。

戻り値説明
Terminal

新しいターミナル。

テキストエディターに装飾を追加するために使用できるTextEditorDecorationTypeを作成します。

パラメーター説明
options: DecorationRenderOptions

装飾タイプのレンダリングオプション。

戻り値説明
TextEditorDecorationType

新しい装飾タイプインスタンス。

拡張ポイントviewsを使用して貢献されたビューのためのTreeViewを作成します。

パラメーター説明
viewId: string

拡張ポイントviewsを使用して貢献されたビューのID。

options: TreeViewOptions<T>

TreeViewを作成するためのオプション

戻り値説明
TreeView<T>

新しいウェブビューパネルを作成して表示します。

パラメーター説明
viewType: string

ウェブビューパネルのタイプを識別します。

title: string

パネルのタイトル。

showOptions: ViewColumn | {preserveFocus: boolean, viewColumn: ViewColumn}

エディター内でウェブビューを表示する場所。preserveFocusが設定されている場合、新しいウェブビューはフォーカスを取得しません。

options?: WebviewPanelOptions & WebviewOptions

新しいパネルの設定。

戻り値説明
WebviewPanel

新しいウェブビューパネル。

customEditors拡張ポイントによって貢献されたviewTypeに対するカスタムエディターのプロバイダーを登録します。

カスタムエディターが開かれると、onCustomEditor:viewTypeアクティベーションイベントが発火します。拡張機能は、アクティベーションの一部として、viewTypeに対応するCustomTextEditorProviderCustomReadonlyEditorProviderCustomEditorProviderを登録する必要があります。

パラメーター説明
viewType: string

カスタムエディタープロバイダーの一意の識別子。これはcustomEditors貢献ポイントのviewTypeと一致する必要があります。

provider: CustomTextEditorProvider | CustomReadonlyEditorProvider<CustomDocument> | CustomEditorProvider<CustomDocument>

カスタムエディターを解決するプロバイダー。

options?: {supportsMultipleEditorsPerDocument: boolean, webviewOptions: WebviewPanelOptions}

プロバイダーのオプション。

戻り値説明
Disposable

プロバイダーの登録を解除するDisposable。

ファイルデコレーションプロバイダーを登録します。

パラメーター説明
provider: FileDecorationProvider
戻り値説明
Disposable

プロバイダーの登録を解除するDisposable

ターミナル内のリンクの検出と処理を可能にするプロバイダーを登録します。

パラメーター説明
provider: TerminalLinkProvider<TerminalLink>

ターミナルリンクを提供するプロバイダー。

戻り値説明
Disposable

プロバイダーの登録を解除するDisposable。

貢献されたターミナルプロファイルのプロバイダーを登録します。

パラメーター説明
id: string

貢献されたターミナルプロファイルのID。

provider: TerminalProfileProvider

ターミナルプロファイルプロバイダー。

戻り値説明
Disposable

プロバイダーの登録を解除するdisposable

拡張ポイントviewsを使用して貢献されたビューのためのTreeDataProviderを登録します。これにより、TreeViewにデータを貢献し、データが変更された場合に更新できるようになります。

注意: TreeViewにアクセスし、その上で操作を実行するには、createTreeViewを使用してください。

パラメーター説明
viewId: string

拡張ポイントviewsを使用して貢献されたビューのID。

treeDataProvider: TreeDataProvider<T>

ビューのツリーデータを提供するTreeDataProvider

戻り値説明
Disposable

TreeDataProviderの登録を解除するdisposable

システム全体で利用可能なURIを処理できるURIハンドラーを登録します。複数のウィンドウが開いている場合、最前面のウィンドウがURIを処理します。URIハンドラーは、それが寄与された拡張機能にスコープされており、その拡張機能自身に指定されたURIのみを処理できます。URIは以下の規則に従う必要があります。

  • URIスキームはvscode.env.uriSchemeである必要があります。
  • URIオーソリティは拡張機能ID(例:my.extension)である必要があります。
  • URIのパス、クエリ、フラグメント部分は任意です。

例えば、my.extension拡張機能がURIハンドラーを登録した場合、product-name://my.extensionというプレフィックスを持つURIのみを処理できます。

拡張機能は、アクティベーションの有効期間全体で1つのURIハンドラーしか登録できません。

  • 注: 現在の拡張機能に指定されたURIが処理されようとしているときに発生するアクティベーションイベントonUriがあります。
パラメーター説明
handler: UriHandler

この拡張機能に登録するURIハンドラーです。

戻り値説明
Disposable

ハンドラーの登録を解除するDisposableオブジェクト。

Webviewパネルシリアライザーを登録します。

リバイバルをサポートする拡張機能は、"onWebviewPanel:viewType"アクティベーションイベントを持ち、アクティベーション中にregisterWebviewPanelSerializerが呼び出されることを確認する必要があります。

指定されたviewTypeに対して、一度に登録できるシリアライザーは1つだけです。

パラメーター説明
viewType: string

シリアライズ可能なWebviewパネルの型です。

serializer: WebviewPanelSerializer<unknown>

Webviewシリアライザーです。

戻り値説明
Disposable

シリアライザーの登録を解除するDisposableオブジェクト。

Webviewビューの新しいプロバイダーを登録します。

パラメーター説明
viewId: string

ビューの一意のID。これはpackage.jsonのviewsコントリビューションのidと一致する必要があります。

provider: WebviewViewProvider

Webviewビューのプロバイダーです。

options?: {webviewOptions: {retainContextWhenHidden: boolean}}
戻り値説明
Disposable

プロバイダーの登録を解除するDisposable。

ステータスバーにメッセージを設定します。これは、より強力なステータスバーアイテムの省略形です。

パラメーター説明
text: string

表示するメッセージで、ステータスバーアイテムのようにアイコンの置換をサポートします。

hideAfterTimeout: number

メッセージが破棄されるまでのミリ秒単位のタイムアウトです。

戻り値説明
Disposable

ステータスバーメッセージを非表示にするDisposableオブジェクト。

ステータスバーにメッセージを設定します。これは、より強力なステータスバーアイテムの省略形です。

パラメーター説明
text: string

表示するメッセージで、ステータスバーアイテムのようにアイコンの置換をサポートします。

hideWhenDone: Thenable<any>

メッセージが完了(解決または拒否)したときに破棄されるThenable。

戻り値説明
Disposable

ステータスバーメッセージを非表示にするDisposableオブジェクト。

ステータスバーにメッセージを設定します。これは、より強力なステータスバーアイテムの省略形です。

注: ステータスバーメッセージはスタックされ、使用されなくなったら破棄する必要があります。

パラメーター説明
text: string

表示するメッセージで、ステータスバーアイテムのようにアイコンの置換をサポートします。

戻り値説明
Disposable

ステータスバーメッセージを非表示にするDisposableオブジェクト。

エラーメッセージを表示します。

関連項目: showInformationMessage

パラメーター説明
message: string

表示するメッセージです。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

エラーメッセージを表示します。

関連項目: showInformationMessage

パラメーター説明
message: string

表示するメッセージです。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

エラーメッセージを表示します。

関連項目: showInformationMessage

パラメーター説明
message: string

表示するメッセージです。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

エラーメッセージを表示します。

関連項目: showInformationMessage

パラメーター説明
message: string

表示するメッセージです。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

ユーザーに情報メッセージを表示します。オプションで、クリック可能なボタンとして表示されるアイテムの配列を提供できます。

パラメーター説明
message: string

表示するメッセージです。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

ユーザーに情報メッセージを表示します。オプションで、クリック可能なボタンとして表示されるアイテムの配列を提供できます。

パラメーター説明
message: string

表示するメッセージです。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

情報メッセージを表示します。

関連項目: showInformationMessage

パラメーター説明
message: string

表示するメッセージです。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

情報メッセージを表示します。

関連項目: showInformationMessage

パラメーター説明
message: string

表示するメッセージです。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

ユーザーに入力を求める入力ボックスを開きます。

入力ボックスがキャンセルされた場合(例: ESCキーを押した場合)、返される値はundefinedになります。それ以外の場合、返される値はユーザーが入力した文字列、またはユーザーが何も入力せずにOKで入力ボックスを閉じたら空文字列になります。

パラメーター説明
options?: InputBoxOptions

入力ボックスの動作を設定します。

token?: CancellationToken

キャンセルを通知するために使用できるトークンです。

戻り値説明
Thenable<string | undefined>

ユーザーが提供した文字列、または却下された場合はundefinedに解決されるプロミスです。

指定されたNotebookDocumentノートブックエディターで表示します。

パラメーター説明
document: NotebookDocument

表示するテキストドキュメントです。

options?: NotebookDocumentShowOptions

ノートブックエディターの表示動作を設定するためのエディターオプションです。

戻り値説明
Thenable<NotebookEditor>

ノートブックエディターに解決されるプロミスです。

ユーザーにファイルを開くためのファイルオープンダイアログを表示し、ファイルを選択できるようにします。

パラメーター説明
options?: OpenDialogOptions

ダイアログを制御するオプションです。

戻り値説明
Thenable<Uri[] | undefined>

選択されたリソース、またはundefinedに解決されるプロミスです。

複数選択を許可する選択リストを表示します。

パラメーター説明
items: readonly string[] | Thenable<readonly string[]>

文字列の配列、または文字列の配列に解決されるプロミスです。

options: QuickPickOptions & {canPickMany: true}

選択リストの動作を設定します。

token?: CancellationToken

キャンセルを通知するために使用できるトークンです。

戻り値説明
Thenable<string[] | undefined>

選択されたアイテム、またはundefinedに解決されるプロミスです。

選択リストを表示します。

パラメーター説明
items: readonly string[] | Thenable<readonly string[]>

文字列の配列、または文字列の配列に解決されるプロミスです。

options?: QuickPickOptions

選択リストの動作を設定します。

token?: CancellationToken

キャンセルを通知するために使用できるトークンです。

戻り値説明
Thenable<string | undefined>

選択、またはundefinedに解決されるプロミスです。

複数選択を許可する選択リストを表示します。

パラメーター説明
items: readonly T[] | Thenable<readonly T[]>

アイテムの配列、またはアイテムの配列に解決されるプロミスです。

options: QuickPickOptions & {canPickMany: true}

選択リストの動作を設定します。

token?: CancellationToken

キャンセルを通知するために使用できるトークンです。

戻り値説明
Thenable<T[] | undefined>

選択されたアイテム、またはundefinedに解決されるプロミスです。

選択リストを表示します。

パラメーター説明
items: readonly T[] | Thenable<readonly T[]>

アイテムの配列、またはアイテムの配列に解決されるプロミスです。

options?: QuickPickOptions

選択リストの動作を設定します。

token?: CancellationToken

キャンセルを通知するために使用できるトークンです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、またはundefinedに解決されるプロミスです。

ユーザーにファイルを保存するためのファイル保存ダイアログを表示し、ファイルを選択できるようにします。

パラメーター説明
options?: SaveDialogOptions

ダイアログを制御するオプションです。

戻り値説明
Thenable<Uri | undefined>

選択されたリソース、またはundefinedに解決されるプロミスです。

指定されたドキュメントをテキストエディターで表示します。を指定して、エディターの表示場所を制御できます。アクティブなエディターが変更される可能性があります。

パラメーター説明
document: TextDocument

表示するテキストドキュメントです。

column?: ViewColumn

エディターを表示するビューの列。デフォルトはアクティブです。存在しない列は、ViewColumn.Nineの最大値まで必要に応じて作成されます。現在アクティブなエディターの隣にエディターを開くには、ViewColumn.Besideを使用します。

preserveFocus?: boolean

trueの場合、エディターはフォーカスを取得しません。

戻り値説明
Thenable<TextEditor>

エディターに解決されるプロミスです。

指定されたドキュメントをテキストエディターで表示します。オプションを指定して、表示されるエディターのオプションを制御できます。アクティブなエディターが変更される可能性があります。

パラメーター説明
document: TextDocument

表示するテキストドキュメントです。

options?: TextDocumentShowOptions

エディターの表示動作を設定するためのエディターオプションです。

戻り値説明
Thenable<TextEditor>

エディターに解決されるプロミスです。

openTextDocument(uri).then(document => showTextDocument(document, options))の省略形です。

関連項目: workspace.openTextDocument

パラメーター説明
uri: Uri

リソース識別子です。

options?: TextDocumentShowOptions

エディターの表示動作を設定するためのエディターオプションです。

戻り値説明
Thenable<TextEditor>

エディターに解決されるプロミスです。

警告メッセージを表示します。

関連項目: showInformationMessage

パラメーター説明
message: string

表示するメッセージです。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

警告メッセージを表示します。

関連項目: showInformationMessage

パラメーター説明
message: string

表示するメッセージです。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

警告メッセージを表示します。

関連項目: showInformationMessage

パラメーター説明
message: string

表示するメッセージです。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

警告メッセージを表示します。

関連項目: showInformationMessage

パラメーター説明
message: string

表示するメッセージです。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内のアクションとしてレンダリングされるアイテムのセットです。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じた場合はundefinedに解決されるthenableです。

選択可能なワークスペースフォルダーの選択リストを表示します。フォルダーが開かれていない場合はundefinedを返します。

パラメーター説明
options?: WorkspaceFolderPickOptions

ワークスペースフォルダーリストの動作を設定します。

戻り値説明
Thenable<WorkspaceFolder | undefined>

ワークスペースフォルダー、またはundefinedに解決されるプロミスです。

エディターに進行状況を表示します。進行状況は、指定されたコールバックの実行中、およびそれが返したプロミスが解決または拒否されるまで表示されます。進行状況を表示する場所(およびその他の詳細)は、渡されたProgressOptionsを介して定義されます。

パラメーター説明
options: ProgressOptions

進行状況を表示するためのオプション(場所など)を記述するProgressOptionsオブジェクトです。

task: (progress: Progress<{increment: number, message: string}>, token: CancellationToken) => Thenable<R>

プロミスを返すコールバック。提供されたProgressオブジェクトで進行状況を報告できます。

個別進行状況を報告するには、incrementを使用して作業の完了度を示します。increment値を持つ各呼び出しは合計され、100%に達するまで全体的な進行状況として反映されます(例えば10の値は作業の10%に相当します)。現在、個別進行状況を表示できるのはProgressLocation.Notificationのみであることに注意してください。

ユーザーによって操作がキャンセルされたかどうかを監視するには、提供されたCancellationTokenを使用します。現在、長時間実行される操作をキャンセルするためのキャンセルボタンの表示をサポートしているのはProgressLocation.Notificationのみであることに注意してください。

戻り値説明
Thenable<R>

タスクコールバックが返したthenableです。

指定されたコールバックの実行中、およびそれが返したプロミスが解決または拒否されるまで、ソース管理ビューレットに進行状況を表示します。

  • 非推奨 - 代わりにwithProgressを使用してください。
パラメーター説明
task: (progress: Progress<number>) => Thenable<R>

プロミスを返すコールバック。提供されたProgressオブジェクトで進行状況の増分を報告できます。

戻り値説明
Thenable<R>

タスクが返したthenableです。

ワークスペース

現在のワークスペースを扱うための名前空間。ワークスペースとは、エディターウィンドウ(インスタンス)で開かれている1つ以上のフォルダーの集合です。

ワークスペースなしでエディターを開くことも可能です。たとえば、プラットフォームのファイルメニューからファイルを選択して新しいエディターウィンドウを開いた場合、ワークスペース内にはいません。このモードでは、エディターの一部の機能は制限されますが、テキストファイルを開いて編集することはできます。

ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。

ワークスペースは、fsイベントのリッスンとファイルの検索をサポートしています。どちらもパフォーマンスが良く、エディタープロセスで実行されるため、nodejsの同等機能の代わりに常にこれらを使用する必要があります。

変数

ローカルファイルおよびリモートファイルとやり取りできるファイルシステムインスタンスです。例えば、vscode.workspace.fs.readDirectory(someUri)はディレクトリのすべてのエントリを取得でき、vscode.workspace.fs.stat(anotherUri)はファイルのメタデータを返します。

trueの場合、ユーザーはワークスペースの内容を明示的に信頼しています。

ワークスペースの名前。ワークスペースが開かれていない場合はundefinedです。

ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。

現在エディターが認識しているすべてのノートブックドキュメント。

workspaceFoldersの最初の項目のURIをstringとして表したもの。最初の項目がない場合はundefinedです。

ワークスペースの詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。

現在エディターが認識しているすべてのテキストドキュメント。

ワークスペースファイルの場所です(例:

file:///Users/name/Development/myProject.code-workspace

または

untitled:1555503116870

無題でまだ保存されていないワークスペースの場合。

開かれているワークスペースに応じて、値は次のようになります。

  • ワークスペースが開かれていない場合はundefined
  • それ以外の場合はワークスペースファイルのパスをUriとして返します。ワークスペースが無題の場合は、返されるURIはuntitled:スキームを使用します。

この場所は、たとえばvscode.openFolderコマンドと組み合わせて、閉じたワークスペースを再度開くために使用できます。

vscode.commands.executeCommand('vscode.openFolder', uriOfWorkspace);

ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。

注: 構成データをファイルに書き込むためにworkspace.workspaceFileを使用することは推奨されません。その目的にはworkspace.getConfiguration().update()を使用でき、これは単一のフォルダーが開かれている場合も、無題または保存されたワークスペースの場合も機能します。

エディターで開かれているワークスペースフォルダーのリスト (0-N)。ワークスペースが開かれていない場合はundefinedです。

ワークスペースの詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。

イベント

構成が変更されたときに発生するイベントです。

ノートブックが変更されたときに発生するイベントです。

テキストドキュメントが変更されたときに発生するイベントです。これは通常、内容が変更されたときに発生しますが、ダーティ状態が変更されるなどの場合にも発生します。

ワークスペースフォルダーが追加または削除されたときに発生するイベントです。

注: 最初のワークスペースフォルダーが追加、削除、または変更された場合、このイベントは発生しません。その場合、現在実行中の拡張機能(このイベントをリッスンしている拡張機能を含む)は終了して再起動され、(非推奨の)rootPathプロパティが最初のワークスペースフォルダーを指すように更新されるためです。

ノートブックが破棄されたときに発生するイベントです。

注1: エディタータブが閉じられたときにこのイベントが発生するという保証はありません。

注2: ノートブックが開いていてもエディターに表示されていない場合があります。つまり、このイベントはエディターに表示されていないノートブックに対しても発生する可能性があります。

テキストドキュメントが破棄されたとき、またはテキストドキュメントの言語IDが変更されたときに発生するイベントです。

注1: エディタータブが閉じられたときにこのイベントが発生するという保証はありません。エディターが変更されたことを知るには、onDidChangeVisibleTextEditorsイベントを使用してください。

注2: ドキュメントが開いていてもエディターに表示されていない場合があります。つまり、このイベントはエディターに表示されていないドキュメントに対しても発生する可能性があります。

ファイルが作成されたときに発生するイベントです。

注意: このイベントは、エクスプローラーからのファイル作成、またはworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません

ファイルが削除されたときに発行されるイベントです。

注意1: このイベントは、エクスプローラーからのファイルの削除、またはworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません

注意2: 子を持つフォルダを削除する場合、1つのイベントのみが発行されます。

現在のワークスペースが信頼されたときに発生するイベントです。

ノートブックが開かれたときに発行されるイベントです。

テキストドキュメントが開かれたとき、またはテキストドキュメントの言語IDが変更されたときに発行されるイベントです。

表示されているテキストドキュメントが開かれたときにイベントリスナーを追加するには、window名前空間のTextEditorイベントを使用します。なお、

ファイルの名前が変更されたときに発行されるイベントです。

注意1: このイベントは、エクスプローラーからのファイル名の変更、およびworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません

注意2: 子を持つフォルダの名前を変更する場合、1つのイベントのみが発行されます。

ノートブックが保存されたときに発行されるイベントです。

テキストドキュメントがディスクに保存されたときに発行されるイベントです。

ファイルが作成されているときに発行されるイベントです。

注意1: このイベントは、エクスプローラーからのファイル作成、またはworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされます。ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません

注意2: このイベントが発行されたとき、作成中のファイルへの編集は適用できません。

ファイルが削除されているときに発行されるイベントです。

注意1: このイベントは、エクスプローラーからのファイルの削除、またはworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません

注意2: 子を持つフォルダを削除する場合、1つのイベントのみが発行されます。

ファイルの名前が変更されているときに発行されるイベントです。

注意1: このイベントは、エクスプローラーからのファイル名の変更、およびworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません

注意2: 子を持つフォルダの名前を変更する場合、1つのイベントのみが発行されます。

ノートブックドキュメントがディスクに保存されるときに発行されるイベントです。

注意1: 購読者は非同期作業を登録することで保存を遅延させることができます。データ整合性のために、エディターはこのイベントを発行せずに保存する場合があります。例えば、変更されたファイルを保持したままシャットダウンする場合などです。

注意2: 購読者は順次呼び出され、非同期作業を登録することで保存を遅延させることができます。不適切な動作をするリスナーに対する保護は、次のように実装されています。

  • すべてのリスナーが共有する全体的な時間予算があり、それが使い果たされると、それ以上リスナーは呼び出されません。
  • 長時間かかるリスナー、または頻繁にエラーを生成するリスナーは、それ以上呼び出されなくなります。

現在のしきい値は、全体的な時間予算として1.5秒、リスナーが無視されるまでに3回不適切な動作をしても許容されます。

テキストドキュメントがディスクに保存されるときに発行されるイベントです。

注意1: 購読者は非同期作業を登録することで保存を遅延させることができます。データ整合性のために、エディターはこのイベントを発行せずに保存する場合があります。例えば、変更されたファイルを保持したままシャットダウンする場合などです。

注意2: 購読者は順次呼び出され、非同期作業を登録することで保存を遅延させることができます。不適切な動作をするリスナーに対する保護は、次のように実装されています。

  • すべてのリスナーが共有する全体的な時間予算があり、それが使い果たされると、それ以上リスナーは呼び出されません。
  • 長時間かかるリスナー、または頻繁にエラーを生成するリスナーは、それ以上呼び出されなくなります。

現在のしきい値は、全体的な時間予算として1.5秒、リスナーが無視されるまでに3回不適切な動作をしても許容されます。

関数

指定されたワークスペース編集によって定義された通りに、1つまたは複数のリソースに変更を加える、またはリソースを作成、削除、名前変更します。

ワークスペース編集のすべての変更は、追加された順序と同じ順序で適用されます。同じ位置に複数のテキスト挿入が行われた場合、それらがリソース編集と interleaved されていなければ、結果のテキストには「挿入」が行われた順序でこれらの文字列が表示されます。「ファイルaを削除」→「ファイルaにテキストを挿入」のような無効なシーケンスは、操作の失敗を引き起こします。

テキスト編集のみで構成されるワークスペース編集を適用する場合、「全か無か」の戦略が使用されます。リソースの作成または削除を伴うワークスペース編集は操作を中止し、例えば、単一の編集が失敗した場合、連続する編集は試行されません。

パラメーター説明
edit: WorkspaceEdit

ワークスペース編集。

metadata?: WorkspaceEditMetadata

編集のためのオプションのメタデータ

戻り値説明
Thenable<boolean>

編集が適用できたときに解決されるthenable。

ワークスペースフォルダまたはフォルダに対する相対パスを返します。

ワークスペースフォルダがない場合、またはパスがそれらに含まれていない場合、入力が返されます。

パラメーター説明
pathOrUri: string | Uri

パスまたはURI。fsPathがURIとして与えられた場合、それが使用されます。

includeWorkspaceFolder?: boolean

trueの場合、指定されたパスがワークスペースフォルダ内に含まれている場合、ワークスペースの名前が前置されます。複数のワークスペースフォルダがある場合はデフォルトでtrue、それ以外の場合はfalseです。

戻り値説明
string

ルートまたは入力に対する相対パス。

提供されたパラメータに基づいて、ファイルイベント(作成、変更、削除)が通知されるファイルシステムウォッチャーを作成します。

デフォルトでは、開かれているすべてのワークスペースフォルダは再帰的にファイル変更が監視されます。

ファイル監視のために、baseパスを持つRelativePatternを提供することで、追加のパスを追加できます。パスがフォルダであり、patternが複雑な場合(例:**またはパスセグメントを含む場合)、それは再帰的に監視され、そうでない場合は非再帰的に監視されます(つまり、パスの第一レベルの変更のみが報告されます)。

ファイルシステムに存在しないパスは、作成されるまで遅延して監視され、その後、提供されたパラメータに基づいて監視されることに注意してください。監視対象のパスが削除された場合、ウォッチャーは一時停止し、パスが再度作成されるまでイベントを報告しません。

再帰的なファイル監視はかなりのリソースを消費するため、可能であれば、再帰ウォッチャーの使用は最小限に抑えてください。

globPatternとしてstringを提供することは、開いているすべてのワークスペースフォルダでファイルイベントを監視するための便利なメソッドとして機能します。これは、ファイル監視のためのフォルダを追加するために使用することはできず、開いているワークスペースフォルダの一部ではないフォルダからのファイルイベントを報告することもありません。

オプションで、特定の種類のイベントを無視するためのフラグを提供できます。

イベントの監視を停止するには、ウォッチャーを破棄する必要があります。

再帰的なファイルウォッチャーからのファイルイベントは、ユーザー設定に基づいて除外される場合があることに注意してください。files.watcherExclude設定は、一度に多くのファイル変更を生成することが知られているフォルダ(例:.gitフォルダ)からのファイルイベントのオーバーヘッドを削減するのに役立ちます。そのため、除外設定が無視され、イベントを完全に制御できる、再帰ウォッチャーを必要としないシンプルなパターンで監視することを強くお勧めします。

シンボリックリンク自体が監視対象パスでない限り、ファイル監視のためにシンボリックリンクが自動的に追跡されないことに注意してください。

変更されたと報告されるファイルパスは、大文字・小文字を区別しないプラットフォーム(通常macOSとWindowsで、Linuxではない)のディスク上の実際のパスの大文字・小文字とは異なる場合があることに注意してください。ユーザーが任意のパス大文字・小文字でワークスペースフォルダを開くことを許可し、それを維持しようとします。これは次のことを意味します。

  • パスがワークスペースフォルダ内のいずれかにある場合、そのパスはその部分までのワークスペースフォルダの大文字・小文字と一致し、子要素についてはディスク上の大文字・小文字と一致します。
  • パスがワークスペースフォルダの外部にある場合、大文字・小文字は監視のために提供されたパスの大文字・小文字と一致します。同様に、シンボリックリンクは保持されます。つまり、ファイルイベントは、監視のために提供されたシンボリックリンクのパスを報告し、ターゲットは報告しません。

ファイルウォッチャーの基本的な構成は次のとおりです。

const watcher = vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(<folder>, <pattern>));

watcher.onDidChange(uri => { ... }); // listen to files being changed
watcher.onDidCreate(uri => { ... }); // listen to files/folders being created
watcher.onDidDelete(uri => { ... }); // listen to files/folders getting deleted

watcher.dispose(); // dispose after usage

ワークスペースファイル監視

特定のワークスペースフォルダ内のファイルイベントのみに関心がある場合

vscode.workspace.createFileSystemWatcher(
  new vscode.RelativePattern(vscode.workspace.workspaceFolders[0], '**/*.js')
);

開いているすべてのワークスペースフォルダのファイルイベントを監視したい場合

vscode.workspace.createFileSystemWatcher('**/*.js');

注意: ワークスペースが開かれていない場合(空のウィンドウ)、ワークスペースフォルダの配列は空になることがあります。

ワークスペース外のファイル監視

ワークスペース外の*.jsファイルの変更を監視するために(非再帰的に)、そのようなフォルダへのUriを渡します。

vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '*.js'));

そして、複雑なglobパターンを使用して再帰的に監視します。

vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '**/*.js'));

アクティブなエディターのファイル変更を監視する例を以下に示します。

vscode.workspace.createFileSystemWatcher(
  new vscode.RelativePattern(vscode.window.activeTextEditor.document.uri, '*')
);
パラメーター説明
globPattern: GlobPattern

ウォッチャーが報告すべきファイルイベントを制御するglobパターン

ignoreCreateEvents?: boolean

ファイルが作成されたときに無視します。

ignoreChangeEvents?: boolean

ファイルが変更されたときに無視します。

ignoreDeleteEvents?: boolean

ファイルが削除されたときに無視します。

戻り値説明
FileSystemWatcher

新しいファイルシステムウォッチャーインスタンス。不要になったら破棄する必要があります。

Uint8Arrayからstringへコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供しなければなりません。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。不正確な結果につながる可能性があります。

設定とバッファの内容(例えば、バイトオーダーマーク)に基づいてエンコーディングを選択します。

エンコーディングによってサポートされていないコンテンツをデコードした場合、結果には適切な代替文字が含まれる場合があることに注意してください。

  • スロー - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
パラメーター説明
content: Uint8Array

Uint8Arrayとしてデコードするテキストコンテンツ。

戻り値説明
Thenable<string>

デコードされたstringに解決されるthenable。

提供されたエンコーディングを使用して、Uint8Arrayからstringへコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供しなければなりません。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。不正確な結果につながる可能性があります。

エンコーディングによってサポートされていないコンテンツをデコードした場合、結果には適切な代替文字が含まれる場合があることに注意してください。

  • スロー - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
パラメーター説明
content: Uint8Array

Uint8Arrayとしてデコードするテキストコンテンツ。

options: {encoding: string}

エンコーディングを選択するための追加のコンテキスト。

戻り値説明
Thenable<string>

デコードされたstringに解決されるthenable。

Uint8Arrayからstringへコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供しなければなりません。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。不正確な結果につながる可能性があります。

エンコーディングは、設定とバッファの内容(例えば、バイトオーダーマーク)に基づいて選択されます。

エンコーディングによってサポートされていないコンテンツをデコードした場合、結果には適切な代替文字が含まれる場合があることに注意してください。

  • スロー - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
パラメーター説明
content: Uint8Array

Uint8Arrayとしてデコードするコンテンツ。

options: {uri: Uri}

エンコーディングを選択するための追加のコンテキスト。

戻り値説明
Thenable<string>

デコードされたstringに解決されるthenable。

stringのコンテンツをUint8Arrayにエンコードします。

設定に基づいてエンコーディングを選択します。

パラメーター説明
content: string

stringとしてデコードするコンテンツ。

戻り値説明
Thenable<Uint8Array>

エンコードされたUint8Arrayに解決されるthenable。

提供されたエンコーディングを使用して、stringのコンテンツをUint8Arrayにエンコードします。

パラメーター説明
content: string

stringとしてデコードするコンテンツ。

options: {encoding: string}

エンコーディングを選択するための追加のコンテキスト。

戻り値説明
Thenable<Uint8Array>

エンコードされたUint8Arrayに解決されるthenable。

stringのコンテンツをUint8Arrayにエンコードします。

エンコーディングは設定に基づいて選択されます。

パラメーター説明
content: string

stringとしてデコードするコンテンツ。

options: {uri: Uri}

エンコーディングを選択するための追加のコンテキスト。

戻り値説明
Thenable<Uint8Array>

エンコードされたUint8Arrayに解決されるthenable。

ワークスペース内のすべてのワークスペースフォルダでファイルを検索します。

findFiles('**/*.js', '**/node_modules/**', 10);
パラメーター説明
include: GlobPattern

検索するファイルを定義するglobパターン。globパターンは、結果として得られる一致のファイルパスをワークスペースに対して相対的に照合します。ワークスペースフォルダに検索結果を制限するには、相対パターンを使用します。

exclude?: GlobPattern

除外するファイルとフォルダを定義するglobパターン。globパターンは、結果として得られる一致のファイルパスをワークスペースに対して相対的に照合します。undefinedの場合、デフォルトのファイル除外(例: files.exclude設定。search.excludeは含まれない)が適用されます。nullの場合、除外は適用されません。

maxResults?: number

結果の上限。

token?: CancellationToken

基盤となる検索エンジンにキャンセルを通知するために使用できるトークン。

戻り値説明
Thenable<Uri[]>

リソース識別子の配列に解決されるthenable。ワークスペースフォルダが開かれていない場合、結果は返されません。

ワークスペース構成オブジェクトを取得します。

セクション識別子が指定された場合、構成のその部分のみが返されます。セクション識別子内のドットは、{ myExt: { setting: { doIt: true }}}getConfiguration('myExt.setting').get('doIt') === trueのように、子へのアクセスとして解釈されます。

スコープが提供された場合、そのスコープに限定された構成が返されます。スコープはリソース、言語識別子、またはその両方になります。

パラメーター説明
section?: string

ドットで区切られた識別子。

scope?: ConfigurationScope

設定が要求されるスコープ。

戻り値説明
WorkspaceConfiguration

完全な構成、またはそのサブセット。

指定されたURIを含むワークスペースフォルダを返します。

  • 指定されたURIがどのワークスペースフォルダとも一致しない場合、undefinedを返します。
  • 指定されたURIがワークスペースフォルダ自体である場合、入力を返します。
パラメーター説明
uri: Uri

URI。

戻り値説明
WorkspaceFolder | undefined

ワークスペースフォルダまたはundefined

ノートブックを開きます。このノートブックがすでに読み込まれている場合は、早期に返されます。そうでない場合、ノートブックが読み込まれ、onDidOpenNotebookDocumentイベントが発行されます。

返されたノートブックのライフサイクルは、エディターが所有し、拡張機能が所有するものではないことに注意してください。つまり、onDidCloseNotebookDocumentイベントは、その後のいつでも発生する可能性があります。

ノートブックを開いても、ノートブックエディターは表示されないことに注意してください。この関数は、ノートブックエディターで表示できるノートブックドキュメントを返すだけであり、他の用途にも使用できます。

パラメーター説明
uri: Uri

開くリソース。

戻り値説明
Thenable<NotebookDocument>

ノートブックに解決されるプロミス。

無題のノートブックを開きます。ドキュメントを保存する際、エディターはユーザーにファイルパスの入力を求めます。

参照 workspace.openNotebookDocument

パラメーター説明
notebookType: string

使用すべきノートブックタイプ。

content?: NotebookData

ノートブックの初期コンテンツ。

戻り値説明
Thenable<NotebookDocument>

ノートブックに解決されるプロミス。

ドキュメントを開きます。このドキュメントがすでに開かれている場合は、早期に返されます。そうでない場合、ドキュメントが読み込まれ、didOpenイベントが発行されます。

ドキュメントはUriによって示されます。スキームに応じて、以下のルールが適用されます。

  • fileスキーム: ディスク上のファイルを開きます(openTextDocument(Uri.file(path)))。ファイルが存在しないか、読み込めない場合は拒否されます。
  • untitledスキーム: 関連付けられたパスを持つ空の無題ファイルを開きます(openTextDocument(Uri.file(path).with({ scheme: 'untitled' })))。言語はファイル名から派生します。
  • その他のすべてのスキームについては、貢献されたテキストドキュメントコンテンツプロバイダーおよびファイルシステムプロバイダーが参照されます。

返されたドキュメントのライフサイクルは、エディターが所有し、拡張機能が所有するものではないことに注意してください。つまり、onDidCloseイベントは、それを開いた後のいつでも発生する可能性があります。

パラメーター説明
uri: Uri

開くリソースを識別します。

options?: {encoding: string}
戻り値説明
Thenable<TextDocument>

ドキュメントに解決されるプロミス。

openTextDocument(Uri.file(path))のショートハンド。

関連項目: workspace.openTextDocument

パラメーター説明
path: string

ディスク上のファイルのパス。

options?: {encoding: string}
戻り値説明
Thenable<TextDocument>

ドキュメントに解決されるプロミス。

無題のテキストドキュメントを開きます。ドキュメントを保存する際、エディターはユーザーにファイルパスの入力を求めます。optionsパラメータを使用すると、ドキュメントの言語コンテンツを指定できます。

パラメーター説明
options?: {content: string, encoding: string, language: string}

ドキュメントがどのように作成されるかを制御するオプション。

戻り値説明
Thenable<TextDocument>

ドキュメントに解決されるプロミス。

指定されたスキーム、例: ftpのファイルシステムプロバイダーを登録します。

1つのスキームにつき1つのプロバイダーのみ登録でき、スキームが別のプロバイダーによって占有されている場合、または予約されている場合はエラーがスローされます。

パラメーター説明
scheme: string

プロバイダーが登録するURI-スキーム

provider: FileSystemProvider

ファイルシステムプロバイダー。

options?: {isCaseSensitive: boolean, isReadonly: boolean | MarkdownString}

プロバイダーに関する不変のメタデータ。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

ノートブックシリアライザを登録します。

ノートブックシリアライザは、notebooks拡張ポイントを通じて提供されなければなりません。ノートブックファイルを開くと、エディターはonNotebook:<notebookType>アクティベーションイベントを送信し、拡張機能はそれに応じてシリアライザを登録する必要があります。

パラメーター説明
notebookType: string

ノートブック。

serializer: NotebookSerializer

ノートブックシリアライザ。

options?: NotebookDocumentContentOptions

ノートブックのどの部分を永続化すべきかを定義するオプションのコンテキストオプション。

戻り値説明
Disposable

破棄されたときにこのシリアライザを登録解除するDisposable

タスクプロバイダーを登録します。

  • 非推奨 - 代わりにtasks名前空間の対応する関数を使用してください。
パラメーター説明
type: string

このプロバイダーが登録されているタスクの種類。

provider: TaskProvider<Task>

タスクプロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

テキストドキュメントコンテンツプロバイダーを登録します。

1つのスキームにつき1つのプロバイダーのみ登録できます。

パラメーター説明
scheme: string

登録するURIスキーム。

provider: TextDocumentContentProvider

コンテンツプロバイダー。

戻り値説明
Disposable

破棄時にこのプロバイダーを登録解除するDisposable

指定されたリソースで識別されるエディターを保存し、保存が成功しなかった場合、または指定されたリソースを持つエディターが見つからなかった場合は、結果のリソースまたはundefinedを返します。

保存するためには、提供されたリソースを持つエディターが開かれている必要があることに**注意**してください。

パラメーター説明
uri: Uri

開いているエディターを保存するための関連URI。

戻り値説明
Thenable<Uri | undefined>

保存操作が完了したときに解決されるthenable。

すべてのダーティファイルを保存します。

パラメーター説明
includeUntitled?: boolean

このセッション中に作成されたファイルも保存します。

戻り値説明
Thenable<boolean>

ファイルが保存されたときに解決されるthenable。保存に失敗したファイルについてはfalseを返します。

指定されたリソースで識別されるエディターを、ユーザーが提供する新しいファイル名で保存し、保存が成功しなかった、キャンセルされた、または指定されたリソースを持つエディターが見つからなかった場合は、結果のリソースまたはundefinedを返します。

名前を付けて保存するには、提供されたリソースを持つエディターが開かれている必要があることに**注意**してください。

パラメーター説明
uri: Uri

開いているエディターを名前を付けて保存するための関連URI。

戻り値説明
Thenable<Uri | undefined>

名前を付けて保存操作が完了したときに解決されるthenable。

このメソッドは、vscode.workspace.workspaceFolders配列上のインデックスstartから始まるdeleteCount個のワークスペースフォルダを、オプションのworkspaceFoldersToAddセットに置き換えます。この「splice」動作は、単一の操作でワークスペースフォルダを追加、削除、変更するために使用できます。

**注意:** このメソッドを呼び出すと、現在実行中の拡張機能(このメソッドを呼び出したものを含む)が終了し、再起動される場合があります。例えば、最初のワークスペースフォルダが追加、削除、または変更された場合、(非推奨の)rootPathプロパティが最初のワークスペースフォルダを指すように更新されます。もう一つのケースは、空または単一フォルダのワークスペースから複数フォルダのワークスペースへの移行時です(参照: https://vscode.dokyumento.jp/docs/editor/workspaces)。

ワークスペースフォルダが更新されたときに通知を受け取るには、onDidChangeWorkspaceFolders()イベントを使用します。

**例:** ワークスペースフォルダの末尾に新しいワークスペースフォルダを追加する

workspace.updateWorkspaceFolders(workspace.workspaceFolders ? workspace.workspaceFolders.length : 0, null, { uri: ...});

**例:** 最初のワークスペースフォルダを削除する

workspace.updateWorkspaceFolders(0, 1);

**例:** 既存のワークスペースフォルダを新しいものに置き換える

workspace.updateWorkspaceFolders(0, 1, { uri: ...});

既存のワークスペースフォルダを削除し、別の名前で再度追加することで、そのフォルダの名前を変更することは有効です。

**注意:** onDidChangeWorkspaceFolders()が発行されるのを待たずに、updateWorkspaceFolders()を複数回呼び出すことは無効です。

パラメーター説明
start: number

現在開かれているワークスペースフォルダのリスト内のゼロベースの場所で、ワークスペースフォルダの削除を開始する位置。

deleteCount: number

削除するワークスペースフォルダのオプションの数。

...workspaceFoldersToAdd: Array<{name: string, uri: Uri}>

削除されたワークスペースフォルダの代わりにオプションで追加するワークスペースフォルダの可変セット。各ワークスペースは必須のURIとオプションの名前で識別されます。

戻り値説明
boolean

操作が正常に開始された場合はtrue、そうでない場合は、無効なワークスペースフォルダの状態(例:同じURIを持つ2つのフォルダ)を引き起こす引数が使用された場合はfalse。

AccessibilityInformation

スクリーンリーダーの動作を制御するアクセシビリティ情報。

プロパティ

アイテムにフォーカスが当たったときにスクリーンリーダーによって読み上げられるラベル。

スクリーンリーダーがウィジェットとどのように対話するかを定義するウィジェットの役割。この役割は、例えばツリー状の要素がチェックボックスのように動作する場合など、特殊なケースで設定されるべきです。役割が指定されていない場合、エディターは適切な役割を自動的に選択します。ARIAの役割に関する詳細は、https://w3c.github.io/aria/#widget_rolesで確認できます。

AuthenticationForceNewSessionOptions

forceNewSessionフラグを指定してauthentication.getSessionを呼び出すときに使用するオプションです。

AuthenticationGetSessionOptions

AuthenticationProviderからAuthenticationSessionを取得する際に使用するオプション。

プロパティ

セッションを取得したいアカウント。これは、適切なセッションを作成するためにAuthentication Providerに渡されます。

既存のセッション設定をクリアするかどうか。

複数のアカウントへの同時サインインをサポートする認証プロバイダーの場合、getSessionが呼び出されたときに、ユーザーは使用するアカウントを選択するよう求められます。この設定は、このフラグを指定してgetSessionが呼び出されるまで記憶されます。

注意: この設定は拡張機能固有です。したがって、ある拡張機能がgetSessionを呼び出しても、別の拡張機能がgetSessionを呼び出した際のセッション設定には影響しません。さらに、この設定は現在のワークスペースとグローバルの両方に対して行われます。これは、新しいワークスペースでは最初に「グローバル」値が使用され、このフラグが提供されたときにそのワークスペースに対して新しい値を設定できることを意味します。また、これは、新しいワークスペースがこのフラグを設定しても、既存のワークスペースがその設定を失わないことも意味します。

デフォルトはfalseです。

一致するセッションがない場合にログインを実行するかどうか。

trueの場合、ユーザーにサインインを促すモーダルダイアログが表示されます。falseの場合、アカウントアクティビティバーアイコンに数字付きのバッジが表示されます。拡張機能のエントリがサインインメニューの下に追加されます。これにより、ユーザーに静かにサインインを促すことができます。

オプションを提供すると、ダイアログも表示されますが、追加のコンテキストが提供されます。

一致するセッションがあるものの、拡張機能にアクセスが許可されていない場合、これをtrueに設定すると、すぐにモーダルダイアログが表示され、falseに設定するとアカウントアイコンに数字付きのバッジが追加されます。

デフォルトはfalseです。

注: このオプションはsilentと一緒に使用することはできません。

すでにセッションが利用可能な場合でも、再認証を試みるべきかどうか。

trueの場合、ユーザーに再度サインインを求めるモーダルダイアログが表示されます。これは主に、トークンが一部の認証を失ったために再発行が必要なシナリオで使用されます。

オプションを提供すると、ダイアログも表示されますが、追加のコンテキストが提供されます。

既存のセッションがなく、forceNewSessionがtrueの場合、それはcreateIfNoneと全く同じように動作します。

これはデフォルトでfalseです。

アカウントメニューにサインインの表示をすべきかどうか。

falseの場合、ユーザーにはアカウントメニューに拡張機能のサインインオプション付きのバッジが表示されます。trueの場合、表示はされません。

デフォルトはfalseです。

注: このオプションをcreateIfNoneのような、ユーザーにプロンプトを表示する他のオプションと一緒に使用することはできません。

AuthenticationGetSessionPresentationOptions

インタラクティブオプションforceNewSessionおよびcreateIfNoneを指定してauthentication.getSessionを呼び出すときに使用するオプションです。

プロパティ

再認証を求める際にユーザーに表示されるオプションのメッセージ。ユーザーに再認証を求める理由に関する追加のコンテキストを提供することで、ユーザーが同意する可能性を高めることができます。

AuthenticationProvider

サービスへの認証を実行するためのプロバイダー。

イベント

セッションの配列が変更された、またはセッション内のデータが変更されたときに発生するイベント

メソッド

ユーザーにログインを促します。

ログインが成功した場合、onDidChangeSessionsイベントが発行されるべきです。

ログインが失敗した場合、拒否されたプロミスが返されるべきです。

プロバイダーが複数のアカウントをサポートしないと指定している場合、これらのスコープに一致する既存のセッションがすでに存在するときは、これを呼び出すべきではありません。

パラメーター説明
scopes: readonly string[]

新しいセッションを作成する際に使用すべきスコープ(パーミッション)のリスト。

options: AuthenticationProviderSessionOptions

セッション作成のための追加オプション。

戻り値説明
Thenable<AuthenticationSession>

認証セッションに解決されるプロミス。

セッションのリストを取得します。

パラメーター説明
scopes: readonly string[]

スコープのオプションリスト。提供された場合、返されるセッションはこれらのパーミッションと一致する必要があり、そうでない場合はすべてのセッションが返されます。

options: AuthenticationProviderSessionOptions

セッションを取得するための追加オプション。

戻り値説明
Thenable<AuthenticationSession[]>

認証セッションの配列に解決されるプロミス。

セッションIDに対応するセッションを削除します。

除去が成功した場合、onDidChangeSessions イベントが発火される必要があります。

セッションを削除できない場合、プロバイダーはエラーメッセージとともに拒否する必要があります。

パラメーター説明
sessionId: string

削除するセッションのID。

戻り値説明
Thenable<void>

AuthenticationProviderAuthenticationSessionsChangeEvent

AuthenticationSession が追加、削除、または変更されたときに発火される Event です。

プロパティ

AuthenticationProvider に追加された AuthenticationSession のリストです。

AuthenticationProvider で変更された AuthenticationSession のリストです。セッションはID以外のデータが更新されたときに変更されます。これの例としては、新しいアクセストークンがセッションに設定される結果となるセッションの更新が挙げられます。

AuthenticationProvider から削除された AuthenticationSession のリストです。

AuthenticationProviderInformation

AuthenticationProvider の基本情報。

プロパティ

認証プロバイダーの一意の識別子。

認証プロバイダーの人間が読める名前。

AuthenticationProviderOptions

AuthenticationProvider を作成するためのオプション。

プロパティ

このプロバイダーで同時に複数のアカウントにサインインできるかどうか。指定しない場合、デフォルトは false になります。

AuthenticationProviderSessionOptions

AuthenticationProvider.getSessions および AuthenticationProvider.createSession の呼び出しに渡されるオプション。

プロパティ

問い合わせ対象のアカウント。これが渡された場合、プロバイダーはこのアカウントにのみ関連するセッションを返そうと試みる必要があります。

AuthenticationSession

現在ログインしているユーザーのセッションを表します。

プロパティ

アクセストークン。

セッションに関連付けられたアカウント。

認証セッションの識別子。

セッションのアクセストークンによって付与されたパーミッション。AuthenticationProvider によって利用可能なスコープが定義されます。

AuthenticationSessionAccountInformation

AuthenticationSession に関連付けられたアカウントの情報。

プロパティ

アカウントの一意の識別子。

アカウントの人間が読める名前。

AuthenticationSessionsChangeEvent

AuthenticationSession が追加、削除、または変更されたときに発火される Event です。

プロパティ

セッションが変更された AuthenticationProvider

AutoClosingPair

開き文字列を入力したときに閉じ文字列が自動的に挿入される文字列のペアを記述します。

プロパティ

開き文字列を入力したときに自動的に挿入される閉じ文字列。

ペアを自動的に閉じないトークンのセット。

閉じ文字列の自動挿入をトリガーする文字列。

BranchCoverage

StatementCoverage のブランチのコードカバレッジ情報を含みます。

コンストラクタ

パラメーター説明
executed: number | boolean

このブランチが実行された回数、または正確なカウントが不明な場合に実行されたかどうかを示すブール値。ゼロまたは false の場合、ブランチは未カバーとしてマークされます。

location?: Range | Position

ブランチの位置。

label?: string
戻り値説明
BranchCoverage

プロパティ

このブランチが実行された回数、または正確なカウントが不明な場合に実行されたかどうかを示すブール値。ゼロまたは false の場合、ブランチは未カバーとしてマークされます。

ブランチのラベル。例えば、「${label} ブランチは実行されませんでした」という文脈で使用されます。

ブランチの位置。

Breakpoint

すべてのブレークポイント型の基底クラス。

コンストラクタ

新しいブレークポイントを作成します。

パラメーター説明
enabled?: boolean

ブレークポイントが有効であるか。

condition?: string

条件付きブレークポイントの式。

hitCondition?: string

ブレークポイントのヒット数をいくつ無視するかを制御する式。

logMessage?: string

ブレークポイントがヒットしたときに表示するログメッセージ。

戻り値説明
Breakpoint

プロパティ

条件付きブレークポイントのためのオプションの式。

ブレークポイントが有効であるか。

ブレークポイントのヒットをいくつ無視するかを制御するオプションの式。

ブレークポイントの一意のID。

このブレークポイントがヒットしたときにログに記録されるオプションのメッセージ。{} 内の埋め込み式は、デバッグアダプターによって補間されます。

BreakpointsChangeEvent

ブレークポイントのセットへの変更を記述するイベント。

プロパティ

追加されたブレークポイント。

変更されたブレークポイント。

削除されたブレークポイント。

CallHierarchyIncomingCall

メソッドやコンストラクタの呼び出し元など、着信呼び出しを表します。

コンストラクタ

新しい呼び出しオブジェクトを作成します。

パラメーター説明
item: CallHierarchyItem

呼び出しを行っている項目。

fromRanges: Range[]

呼び出しが出現する範囲。

戻り値説明
CallHierarchyIncomingCall

プロパティ

呼び出しを行う項目。

呼び出しが出現する範囲。これは this.from で示される呼び出し元に対する相対パスです。

CallHierarchyItem

呼び出し階層のコンテキストにおける関数やコンストラクタのようなプログラミング構造を表します。

コンストラクタ

新しい呼び出し階層項目を作成します。

パラメーター説明
kind: SymbolKind
name: string
detail: string
uri: Uri
range: Range
selectionRange: Range
戻り値説明
CallHierarchyItem

プロパティ

この項目の詳細情報。例: 関数のシグネチャ。

この項目の種類。

この項目の名前。

このシンボルを囲む範囲で、先頭/末尾の空白は含まれませんが、コメントやコードなどその他すべてが含まれます。

このシンボルが選択され表示されるときに選択されるべき範囲。例: 関数の名前。range に含まれている必要があります。

この項目のタグ。

この項目のリソース識別子。

CallHierarchyOutgoingCall

メソッドからのゲッター呼び出しやコンストラクタからのメソッド呼び出しなど、発信呼び出しを表します。

コンストラクタ

新しい呼び出しオブジェクトを作成します。

パラメーター説明
item: CallHierarchyItem

呼び出されている項目。

fromRanges: Range[]

呼び出しが出現する範囲。

戻り値説明
CallHierarchyOutgoingCall

プロパティ

この項目が呼び出される範囲。これは呼び出し元に対する相対範囲であり、provideCallHierarchyOutgoingCalls に渡された項目に対するものであり、this.to ではありません。

呼び出される項目。

CallHierarchyProvider

呼び出し階層プロバイダーインターフェースは、拡張機能と呼び出し階層機能との間の契約を記述します。これにより、関数、メソッド、コンストラクタなどの呼び出しと呼び出し元を閲覧できます。

メソッド

指定されたドキュメントと位置で示される項目を返すことで、呼び出し階層をブートストラップします。この項目は呼び出しグラフへのエントリーとして使用されます。プロバイダーは、指定された位置に項目がない場合、undefined または null を返す必要があります。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<CallHierarchyItem | CallHierarchyItem[]>

1つ以上の呼び出し階層項目、またはそれに解決するthenable。結果がないことは、undefinednull、または空の配列を返すことで示されます。

項目のすべての着信呼び出しを提供します。例えば、メソッドのすべての呼び出し元です。グラフの観点から見ると、これは呼び出しグラフ内の方向性のある、注釈付きのエッジを記述します。つまり、与えられた項目が開始ノードであり、結果は到達可能なノードです。

パラメーター説明
item: CallHierarchyItem

着信呼び出しを計算すべき階層項目。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<CallHierarchyIncomingCall[]>

着信呼び出しのセット、またはそれに解決するthenable。結果がないことは、undefined または null を返すことで示されます。

項目のすべての発信呼び出しを提供します。例えば、与えられた項目からの関数、メソッド、またはコンストラクタへのすべての呼び出しです。グラフの観点から見ると、これは呼び出しグラフ内の方向性のある、注釈付きのエッジを記述します。つまり、与えられた項目が開始ノードであり、結果は到達可能なノードです。

パラメーター説明
item: CallHierarchyItem

発信呼び出しを計算すべき階層項目。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<CallHierarchyOutgoingCall[]>

発信呼び出しのセット、またはそれに解決するthenable。結果がないことは、undefined または null を返すことで示されます。

CancellationError

操作のキャンセルを通知するために使用されるべきエラータイプ。

この型は、キャンセルトークンがキャンセルされた場合、または操作がその操作の実行者によってキャンセルされている場合に応答して使用できます。

コンストラクタ

新しいキャンセルエラーを作成します。

パラメーター説明
戻り値説明
CancellationError

CancellationToken

キャンセルトークンは、ユーザーが入力し続けたために補完項目の要求をキャンセルする場合など、キャンセルを要求するために非同期または長時間実行される操作に渡されます。

CancellationToken のインスタンスを取得するには、CancellationTokenSource を使用します。

プロパティ

トークンがキャンセルされた場合は true、それ以外の場合は false です。

キャンセル時に発火される Event

CancellationTokenSource

キャンセルトークンソースは、キャンセルトークンを作成し、制御します。

コンストラクタ

パラメーター説明
戻り値説明
CancellationTokenSource

プロパティ

このソースのキャンセルトークン。

メソッド

トークンでキャンセルを通知します。

パラメーター説明
戻り値説明
void

オブジェクトを破棄し、リソースを解放します。

パラメーター説明
戻り値説明
void

CharacterPair

開き括弧と閉じ括弧のペアのような、2つの文字のタプル。

ChatContext

参加者に渡される追加のコンテキスト。

プロパティ

現在のチャットセッションにおけるこれまでのすべてのチャットメッセージ。現在、現在の参加者のチャットメッセージのみが含まれます。

ChatErrorDetails

チャットリクエストからのエラー結果を表します。

プロパティ

ユーザーに表示されるエラーメッセージ。

true に設定すると、応答の一部がぼかされます。

ChatFollowup

参加者によって提案されたフォローアップの質問。

プロパティ

デフォルトでは、フォローアップは同じ参加者/コマンドに送られます。しかし、このプロパティを設定することで、別のコマンドを呼び出すことができます。

ユーザーに表示するタイトル。指定しない場合、デフォルトではプロンプトが表示されます。

デフォルトでは、フォローアップは同じ参加者/コマンドに送られます。しかし、このプロパティを設定することで、IDによって別の参加者を呼び出すことができます。フォローアップは、同じ拡張機能によって貢献された参加者のみを呼び出すことができます。

チャットに送信するメッセージ。

ChatFollowupProvider

ユーザーに表示する推奨フォローアップ質問を取得するため、各リクエスト後に1回呼び出されます。ユーザーはフォローアップをクリックしてチャットに送信できます。

メソッド

指定された結果に対するフォローアップを提供します。

パラメーター説明
result: ChatResult

このオブジェクトは、metadata を含む、参加者コールバックから返された結果と同じプロパティを持ちますが、同じインスタンスではありません。

context: ChatContext

参加者に渡される追加のコンテキスト。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<ChatFollowup[]>

ChatLanguageModelToolReference

ユーザーが手動でリクエストに添付したツールへの参照。インラインで # 構文を使用するか、ペーパークリップボタンから添付として使用します。

プロパティ

ツール名。lm.tools にリストされているツールを参照します。

プロンプト内の参照の開始インデックスと終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。

注意: インデックスには先頭の # 文字が考慮されているため、それらをそのままプロンプトの変更に使用できます。

ChatParticipant

チャット参加者は、チャットセッションでユーザーが 接頭辞を使用して呼び出すことができます。呼び出されると、チャットリクエストを処理し、ユーザーに応答を提供する唯一の責任を負います。ChatParticipant は chat.createChatParticipant を使用して作成されます。

イベント

結果に対するフィードバックが受信されるたびに発火するイベント。例えば、ユーザーが結果をアップ投票またはダウン投票したときなど。

渡された result は、このチャット参加者のハンドラーから以前に返された結果と同じプロパティを持つことが保証されます。

プロパティ

このプロバイダーは、推奨されるフォローアップの質問を取得するために、各リクエスト後に一度呼び出されます。

UIに表示される参加者のアイコン。

この参加者の一意のID。

この参加者へのリクエストのハンドラー。

メソッド

この参加者を破棄し、リソースを解放します。

パラメーター説明
戻り値説明
void

ChatParticipantToolToken

チャットリクエストの処理コンテキスト内でツールを呼び出すときに、lm.invokeTool に渡すことができるトークン。

ChatPromptReference

ユーザーがチャットリクエストに追加した値への参照。

プロパティ

この種類の参照のための一意の識別子。

LLM プロンプトで使用できる、この値の説明。

プロンプト内の参照の開始インデックスと終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。

注意: インデックスには先頭の # 文字が考慮されているため、それらをそのままプロンプトの変更に使用できます。

この参照の値。現在、string | Uri | Location 型が使用されていますが、将来的には拡張される可能性があります。

ChatRequest

チャット参加者へのリクエスト。

プロパティ

このリクエストで選択された [ChatCommand コマンド](#ChatCommand command) の名前。

これは現在UIで選択されているモデルです。拡張機能はこれを使用することも、lm.selectChatModels を使用して別のモデルを選択することもできます。このオブジェクトをリクエストのライフタイムを超えて保持しないでください。

ユーザーが入力したプロンプト。

このリクエストで使用される参照に関する情報は、ChatRequest.references に格納されます。

注意: 参加者の [ChatParticipant.name 名](#ChatParticipant.name name) および [ChatCommand.name コマンド](#ChatCommand.name command) はプロンプトの一部ではありません。

プロンプトで参照されている参照とその値のリスト。

注意: プロンプトには作成されたままの参照が含まれており、参照値をインライン化したり、解決された値を含む見出しへのリンクを作成したりするなど、プロンプトをさらに変更するかどうかは参加者次第です。参照はプロンプト内の範囲の逆順にソートされています。つまり、プロンプトの最後の参照がこのリストの最初になります。これにより、プロンプトの文字列操作が単純化されます。

チャットリクエストの処理コンテキスト内でツールを呼び出すときに、lm.invokeTool に渡すことができるトークン。これは、ツールの呼び出しをチャットセッションに関連付けます。

ユーザーがリクエストに添付したツールのリスト。

ツール参照が存在する場合、チャット参加者は LanguageModelChatToolMode.Required を使用してチャットリクエストを行い、言語モデルにツールへの入力を強制的に生成させるべきです。その後、参加者は lm.invokeTool を使用してツールを使用し、その結果をユーザーのプロンプトに対するリクエストに添付できます。ツールは、ユーザーのリクエストに役立つ追加のコンテキストを提供する可能性があります。

ChatRequestHandler

ChatRequestTurn

チャット履歴におけるユーザーリクエストを表します。

プロパティ

このリクエストで選択された [ChatCommand コマンド](#ChatCommand command) の名前。

このリクエストの宛先となったチャット参加者のID。

ユーザーが入力したプロンプト。

このリクエストで使用される参照に関する情報は、ChatRequestTurn.references に格納されます。

注意: 参加者の [ChatParticipant.name 名](#ChatParticipant.name name) および [ChatCommand.name コマンド](#ChatCommand.name command) はプロンプトの一部ではありません。

このメッセージで使用された参照。

このリクエストに添付されたツールのリスト。

ChatResponseAnchorPart

チャット応答の一部で、アンカー(ターゲットへのリンクとしてレンダリングされる)を表します。

コンストラクタ

新しい ChatResponseAnchorPart を作成します。

パラメーター説明
value: Uri | Location

URI または位置。

title?: string

値とともにレンダリングされるオプションのタイトル。

戻り値説明
ChatResponseAnchorPart

プロパティ

値とともにレンダリングされるオプションのタイトル。

このアンカーのターゲット。

ChatResponseCommandButtonPart

コマンドを実行するボタンであるチャット応答の一部を表します。

コンストラクタ

新しい ChatResponseCommandButtonPart を作成します。

パラメーター説明
value: Command

ボタンがクリックされたときに実行される Command。

戻り値説明
ChatResponseCommandButtonPart

プロパティ

ボタンがクリックされたときに実行されるコマンド。

ChatResponseFileTree

チャット応答におけるファイルツリー構造を表します。

プロパティ

現在のファイルツリーがディレクトリである場合の子ファイルツリーの配列。

ファイルまたはディレクトリの名前。

ChatResponseFileTreePart

チャット応答の一部で、ファイルツリーであるものを表します。

コンストラクタ

新しい ChatResponseFileTreePart を作成します。

パラメーター説明
value: ChatResponseFileTree[]

ファイルツリーデータ。

baseUri: Uri

このファイルツリーが相対的な基準URI。

戻り値説明
ChatResponseFileTreePart

プロパティ

このファイルツリーが相対的な基準URI。

ファイルツリーデータ。

ChatResponseMarkdownPart

チャット応答の一部で、Markdown としてフォーマットされたものを表します。

コンストラクタ

新しい ChatResponseMarkdownPart を作成します。

パラメーター説明
value: string | MarkdownString

Markdown 文字列、または Markdown として解釈されるべき文字列。MarkdownString.isTrusted のブール型はサポートされていません。

戻り値説明
ChatResponseMarkdownPart

プロパティ

Markdown 文字列、または Markdown として解釈されるべき文字列。

ChatResponsePart

異なるチャット応答タイプを表します。

ChatResponseProgressPart

チャット応答の一部で、進捗メッセージであるものを表します。

コンストラクタ

新しい ChatResponseProgressPart を作成します。

パラメーター説明
value: string

進捗メッセージ。

戻り値説明
ChatResponseProgressPart

プロパティ

進捗メッセージ。

ChatResponseReferencePart

チャット応答の一部で、コンテンツとは別にレンダリングされる参照を表します。

コンストラクタ

新しい ChatResponseReferencePart を作成します。

パラメーター説明
value: Uri | Location

URI または位置。

iconPath?: IconPath

UIに表示される参照のアイコン。

戻り値説明
ChatResponseReferencePart

プロパティ

参照のアイコン。

参照ターゲット。

ChatResponseStream

ChatResponseStream は、参加者がチャットビューにコンテンツを返す方法です。チャットビューで適切にレンダリングされる様々な種類のコンテンツをストリーミングするためのいくつかのメソッドを提供します。参加者は、返したいコンテンツのタイプに応じたヘルパーメソッドを使用することも、ChatResponsePart のインスタンスを作成し、汎用的な ChatResponseStream.push メソッドを使用してそれを返すこともできます。

メソッド

このストリームにアンカーパーツをプッシュします。push(new ChatResponseAnchorPart(value, title)) のショートハンドです。アンカーは、何らかのリソースタイプへのインライン参照です。

パラメーター説明
value: Uri | Location

URI または位置。

title?: string

値とともにレンダリングされるオプションのタイトル。

戻り値説明
void

このストリームにコマンドボタンパーツをプッシュします。push(new ChatResponseCommandButtonPart(value, title)) のショートハンドです。

パラメーター説明
command: Command

ボタンがクリックされたときに実行される Command。

戻り値説明
void

このストリームにファイルツリーパーツをプッシュします。push(new ChatResponseFileTreePart(value)) のショートハンドです。

パラメーター説明
value: ChatResponseFileTree[]

ファイルツリーデータ。

baseUri: Uri

このファイルツリーが相対的な基準URI。

戻り値説明
void

このストリームにMarkdownパーツをプッシュします。push(new ChatResponseMarkdownPart(value)) のショートハンドです。

関連項目: ChatResponseStream.push

パラメーター説明
value: string | MarkdownString

Markdown 文字列、または Markdown として解釈されるべき文字列。MarkdownString.isTrusted のブール型はサポートされていません。

戻り値説明
void

このストリームに進捗パーツをプッシュします。push(new ChatResponseProgressPart(value)) のショートハンドです。

パラメーター説明
value: string

進捗メッセージ。

戻り値説明
void

このストリームにパーツをプッシュします。

パラメーター説明
part: ChatResponsePart

レンダリングされる応答パーツまたはメタデータ。

戻り値説明
void

このストリームに参照をプッシュします。push(new ChatResponseReferencePart(value)) のショートハンドです。

注意: 参照は応答とインラインでレンダリングされません。

パラメーター説明
value: Uri | Location

URI または位置。

iconPath?: IconPath

UIに表示される参照のアイコン。

戻り値説明
void

ChatResponseTurn

チャット履歴におけるチャット参加者の応答を表します。

プロパティ

この応答の元となったコマンドの名前。

この応答の元となったチャット参加者のID。

チャット参加者から受信したコンテンツ。実際のコンテンツを表すストリームパーツ(メタデータではない)のみが表現されます。

チャット参加者から受信した結果。

ChatResult

チャットリクエストの結果。

プロパティ

リクエストがエラーになった場合、このプロパティはエラーの詳細を定義します。

この結果に関する任意のメタデータ。何でも構いませんが、JSON文字列化可能である必要があります。

ChatResultFeedback

結果に対するユーザーフィードバックを表します。

プロパティ

受信したフィードバックの種類。

ユーザーがフィードバックを提供している ChatResult。このオブジェクトは、metadata を含む、参加者コールバックから返された結果と同じプロパティを持ちますが、同じインスタンスではありません。

ChatResultFeedbackKind

受信したユーザーフィードバックの種類を表します。

列挙メンバー

ユーザーが結果を「役に立たない」とマークしました。

ユーザーが結果を「役に立つ」とマークしました。

Clipboard

クリップボードは、システムのクリップボードへの読み取りおよび書き込みアクセスを提供します。

メソッド

現在のクリップボードの内容をテキストとして読み取ります。

パラメーター説明
戻り値説明
Thenable<string>

文字列に解決する thenable。

テキストをクリップボードに書き込みます。

パラメーター説明
value: string
戻り値説明
Thenable<void>

書き込みが発生したときに解決する thenable。

CodeAction

コードアクションは、問題の修正やコードのリファクタリングなど、コード内で実行できる変更を表します。

CodeAction は、edit および/または command のいずれかを設定する必要があります。両方が指定された場合、まず edit が適用され、その後コマンドが実行されます。

コンストラクタ

新しいコードアクションを作成します。

コードアクションには、少なくとも titleedits および/または command が必要です。

パラメーター説明
title: string

コードアクションのタイトル。

kind?: CodeActionKind

コードアクションの種類。

戻り値説明
CodeAction

プロパティ

このコードアクションが実行する Command

このコマンドが例外をスローすると、エディタは現在のカーソル位置でエディタに例外メッセージをユーザーに表示します。

このコードアクションが解決する Diagnostics

コードアクションが現在適用できないことを示します。

  • 無効化されたコードアクションは、自動的な 電球 コードアクションメニューには表示されません。

  • 無効化されたアクションは、ユーザーがリファクタリングのようなより具体的な種類のコードアクションを要求したときに、コードアクションメニューで薄く表示されます。

  • ユーザーがコードアクションを自動適用する キーバインディング を持っており、無効化されたコードアクションのみが返された場合、エディタはエディタ内のユーザーに reason を含むエラーメッセージを表示します。

パラメーター説明
reason: string

コードアクションが現在無効になっている理由を人間が読める形で説明します。

これはコードアクションUIに表示されます。

このコードアクションが実行する ワークスペース編集

これを推奨されるアクションとしてマークします。推奨されるアクションは、auto fix コマンドで使用され、キーバインディングによってターゲットにすることができます。

クイックフィックスは、基礎となるエラーに適切に対処する場合に推奨されるとマークされるべきです。リファクタリングは、実行すべきアクションの中で最も合理的な選択である場合に推奨されるとマークされるべきです。

コードアクションの種類

コードアクションをフィルターするために使用されます。

このコードアクションの、短く人間が読めるタイトル。

CodeActionContext

コードアクションが実行されるコンテキストに関する追加の診断情報を含みます。

プロパティ

診断の配列。

返されるアクションの要求された種類。

この種類ではないアクションは、電球アイコンによって表示される前にフィルターで除外されます。

コードアクションが要求された理由。

CodeActionKind

コードアクションの種類。

種類は、. で区切られた識別子の階層リストです。例: "refactor.extract.function"

コードアクションの種類は、リファクタリングコンテキストメニューなどのUI要素にエディターによって使用されます。ユーザーは、editor.action.codeAction コマンドを使用して、特定の種類のコードアクションをトリガーすることもできます。

静的

空の種類。

ノートブック全体のスコープに適用されるすべてのコードアクションのベースとなる種類。これを使用するCodeActionKindsは常にnotebook.で始まる必要があります。

これには、新しいCodeActionsが作成され、拡張機能を通じて貢献される必要があります。既存の種類に新しいnotebook.プレフィックスを追加することはできません。機能がノートブック全体のスコープに固有であるためです。

ノートブックのCodeActionKindsは、以下のいずれかの方法で初期化できます(どちらもnotebook.source.xyzになります)。

  • const newKind = CodeActionKind.Notebook.append(CodeActionKind.Source.append('xyz').value)
  • const newKind = CodeActionKind.Notebook.append('source.xyz')

種類の例/アクション

  • notebook.source.organizeImports (すべてのインポートを新しいトップセルに移動する可能性があります)
  • notebook.source.normalizeVariableNames (すべての変数を標準化されたケーシング形式にリネームする可能性があります)

クイックフィックスアクションのベースとなる種類: quickfix

クイックフィックスアクションは、コード内の問題に対処し、通常のコードアクションコンテキストメニューに表示されます。

リファクタリングアクションのベースとなる種類: refactor

リファクタリングアクションは、リファクタリングコンテキストメニューに表示されます。

リファクタリングの抽出アクションのベースとなる種類: refactor.extract

抽出アクションの例

  • メソッドの抽出
  • 関数の抽出
  • 変数の抽出
  • クラスからのインターフェース抽出
  • ...

リファクタリングのインライン化アクションのベースとなる種類: refactor.inline

インライン化アクションの例

  • 関数のインライン化
  • 変数のインライン化
  • 定数のインライン化
  • ...

リファクタリングの移動アクションのベースとなる種類: refactor.move

移動アクションの例

  • 関数を新しいファイルに移動
  • プロパティをクラス間で移動
  • メソッドを基底クラスに移動
  • ...

リファクタリングの書き換えアクションのベースとなる種類: refactor.rewrite

書き換えアクションの例

  • JavaScript関数をクラスに変換
  • パラメーターの追加または削除
  • フィールドのカプセル化
  • メソッドを静的にする
  • ...

ソースアクションのベースとなる種類: source

ソースコードアクションはファイル全体に適用されます。これらは明示的に要求される必要があり、通常の電球アイコンメニューには表示されません。ソースアクションは、editor.codeActionsOnSave を使用して保存時に実行でき、source コンテキストメニューにも表示されます。

自動修正ソースアクションのベースとなる種類: source.fixAll

「すべて修正」アクションは、ユーザー入力が不要な明確な修正があるエラーを自動的に修正します。これらは、エラーを抑制したり、新しい型やクラスの生成などの安全でない修正を実行したりすべきではありません。

インポート整理ソースアクションのベースとなる種類: source.organizeImports

コンストラクタ

プライベートコンストラクタです。既存のコードアクションの種類から派生させるには、静的 CodeActionKind.XYZ を使用してください。

パラメーター説明
value: string

refactor.extract.function のような、種類の値。

戻り値説明
CodeActionKind

プロパティ

種類の文字列値。例: "refactor.extract.function"

メソッド

現在の種類により具体的なセレクターを追加して、新しい種類を作成します。

現在の種類は変更しません。

パラメーター説明
parts: string
戻り値説明
CodeActionKind

other がこの CodeActionKind のサブ種類であるかを確認します。

例えば、種類 "refactor.extract" には "refactor.extract" および "refactor.extract.function" が含まれますが、"unicorn.refactor.extract""refactor.extractAll"、またはrefactor は含まれません。

パラメーター説明
other: CodeActionKind

確認する種類。

戻り値説明
boolean

このコードアクションの種類が other と交差するかどうかを確認します。

例えば、種類 "refactor.extract"refactor"refactor.extract"、および "refactor.extract.function" と交差しますが、"unicorn.refactor.extract""refactor.extractAll" とは交差しません。

パラメーター説明
other: CodeActionKind

確認する種類。

戻り値説明
boolean

CodeActionProvider<T>

コードのコンテキストアクションを提供します。コードアクションは通常、問題を修正するか、コードを整形/リファクタリングします。

コードアクションは、いくつかの異なる方法でユーザーに表示されます。

  • 現在のカーソル位置でコードアクションのリストを表示する電球アイコン機能。電球アイコンのアクションリストには、クイックフィックスとリファクタリングの両方が含まれます。
  • Refactor のように、ユーザーが実行できるコマンドとして。ユーザーはこれらをコマンドパレットから、またはキーバインディングで実行できます。
  • Organize Imports などのソースアクションとして。
  • クイックフィックスは、問題ビューに表示されます。
  • editor.codeActionsOnSave 設定による保存時に適用される変更。

メソッド

ドキュメント内の指定された範囲のコードアクションを取得します。

要求された範囲のユーザーに関連するコードアクションのみを返してください。また、返されるコードアクションがUIでどのように表示されるかにも注意してください。例えば、電球アイコンウィジェットや Refactor コマンドは、返されたコードアクションをリストとして表示するため、ユーザーを圧倒するような多数のコードアクションを返さないでください。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

range: Range | Selection

コマンドが呼び出されたセレクターまたは範囲。現在アクティブなエディターでアクションが要求されている場合、これは常に選択範囲になります。

context: CodeActionContext

どのコードアクションが要求されているかに関する追加情報を提供します。これを使用して、エディターが要求している特定の種類のコードアクションを確認し、より関連性の高いアクションを返し、エディターが破棄する無関係なコードアクションを返さないようにすることができます。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<Array<Command | T>>

クイックフィックスやリファクタリングなどのコードアクションの配列。結果がない場合は、undefinednull、または空の配列を返すことで示されます。

レガシーな理由から Command を返すこともサポートしていますが、すべての新しい拡張機能は代わりに CodeAction オブジェクトを返す必要があります。

コードアクションが与えられたら、そのeditプロパティを埋めます。タイトルなどの他のすべてのプロパティへの変更は無視されます。編集を持つコードアクションは解決されません。

注意: コードアクションではなくコマンドを返すコードアクションプロバイダーは、この関数を正常に実装できません。コマンドを返すことは非推奨であり、代わりにコードアクションが返されるべきです。

パラメーター説明
codeAction: T

コードアクション。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T>

解決されたコードアクション、またはそのようなものに解決されるthenable。指定された item を返しても構いません。結果が返されない場合、指定された item が使用されます。

CodeActionProviderMetadata

CodeActionProvider が提供するコードアクションのタイプに関するメタデータ。

プロパティ

コードアクションのクラスに関する静的ドキュメント。

プロバイダーからのドキュメントは、以下のいずれかの場合にコードアクションメニューに表示されます。

  • エディターによって kind のコードアクションが要求された場合。この場合、エディターは要求されたコードアクションの種類に最も近いドキュメントを表示します。例えば、プロバイダーが RefactorRefactorExtract の両方のドキュメントを持っている場合、ユーザーが RefactorExtract のコードアクションを要求すると、エディターは Refactor のドキュメントではなく RefactorExtract のドキュメントを使用します。

  • kind の任意のコードアクションがプロバイダーによって返された場合。

プロバイダーごとに最大1つのドキュメントエントリが表示されます。

CodeActionProvider が返す可能性のある CodeActionKind のリスト。

このリストは、特定の CodeActionProvider を呼び出すべきかどうかを決定するために使用されます。不要な計算を避けるために、すべての CodeActionProviderprovidedCodeActionKinds をリストに含めるべきです。種類のリストは、[CodeActionKind.Refactor] のように一般的であるか、または [CodeActionKind.Refactor.Extract.append('function'), CodeActionKind.Refactor.Extract.append('constant'), ...] のように提供されるすべての種類をリストアップすることもできます。

CodeActionTriggerKind

コードアクションが要求された理由。

列挙メンバー

コードアクションは、ユーザーまたは拡張機能によって明示的に要求されました。

コードアクションは自動的に要求されました。

これは通常、ファイル内の現在の選択が変更されたときに発生しますが、ファイルの内容が変更されたときにもトリガーされることがあります。

CodeLens

コードレンズは、参照数、テスト実行方法など、ソーステキストと一緒に表示されるべきCommandを表します。

コードレンズは、コマンドが関連付けられていない場合に未解決です。パフォーマンス上の理由から、コードレンズの作成と解決は2つの段階で行う必要があります。

参照

コンストラクタ

新しいコードレンズオブジェクトを作成します。

パラメーター説明
range: Range

このコードレンズが適用される範囲。

command?: Command

このコードレンズに関連付けられたコマンド。

戻り値説明
CodeLens

プロパティ

このコードレンズが表すコマンド。

コマンドが関連付けられている場合に true

このコードレンズが有効な範囲。単一行のみを範囲とする必要があります。

CodeLensProvider<T>

コードレンズプロバイダーは、ソーステキストにコマンドを追加します。コマンドは、ソーステキストの間に専用の水平線として表示されます。

イベント

このプロバイダーからのコードレンズが変更されたことを通知するオプションのイベント。

メソッド

レンズのリストを計算します。この呼び出しは可能な限り高速に返されるべきであり、コマンドの計算にコストがかかる場合は、実装者は範囲が設定されたコードレンズオブジェクトのみを返し、解決を実装すべきです。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T[]>

コードレンズの配列、またはそのようなものに解決されるthenable。結果がない場合は、undefinednull、または空の配列を返すことで示されます。

この関数は、表示されている各コードレンズに対して呼び出されます。通常、スクロール時やcompute-lensesの呼び出し後です。

パラメーター説明
codeLens: T

解決されなければならないコードレンズ。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T>

指定された、解決されたコードレンズ、またはそのようなものに解決されるthenable。

Color

RGBA空間の色を表します。

コンストラクタ

新しい色インスタンスを作成します。

パラメーター説明
red: number

赤成分。

green: number

緑成分。

blue: number

青成分。

alpha: number

アルファ成分。

戻り値説明
Color

プロパティ

この色のアルファ成分(範囲 [0-1] 内)。

この色の青成分(範囲 [0-1] 内)。

この色の緑成分(範囲 [0-1] 内)。

この色の赤成分(範囲 [0-1] 内)。

ColorInformation

ドキュメントからの色範囲を表します。

コンストラクタ

新しい色範囲を作成します。

パラメーター説明
range: Range

色が表れる範囲。空であってはなりません。

color: Color

色の値。

戻り値説明
ColorInformation

プロパティ

この色範囲の実際の色値。

この色が出現するドキュメント内の範囲。

ColorPresentation

色プレゼンテーションオブジェクトは、Color がテキストとしてどのように表現されるべきか、およびソースコードからそれを参照するためにどのような編集が必要かについて説明します。

一部の言語では、1つの色が複数の表現を持つことができます。例えば、CSSでは赤色を定数 Red、16進値 #ff0000、またはRGBAおよびHSLA形式で表現できます。C#では、System.Drawing.Color.Red のような他の表現が適用されます。

コンストラクタ

新しい色プレゼンテーションを作成します。

パラメーター説明
label: string

この色プレゼンテーションのラベル。

戻り値説明
ColorPresentation

プロパティ

この色プレゼンテーションを選択したときに適用される追加のテキスト編集のオプション配列。編集は、メインの編集やそれ自体と重複してはなりません。

この色プレゼンテーションのラベル。カラーピッカーのヘッダーに表示されます。デフォルトでは、この色プレゼンテーションを選択したときに挿入されるテキストでもあります。

色のこのプレゼンテーションを選択したときにドキュメントに適用される編集falsy の場合、ラベルが使用されます。

ColorTheme

カラーテーマを表します。

プロパティ

このカラーテーマの種類: ライト、ダーク、ハイコントラストダーク、ハイコントラストライト。

ColorThemeKind

カラーテーマの種類を表します。

列挙メンバー

ライトカラーテーマ。

ダークカラーテーマ。

ダークハイコントラストカラーテーマ。

ライトハイコントラストカラーテーマ。

Command

コマンドへの参照を表します。UIでコマンドを表すために使用されるタイトルと、オプションで、呼び出されたときにコマンドハンドラー関数に渡される引数の配列を提供します。

プロパティ

コマンドハンドラーが呼び出されるべき引数。

実際のコマンドハンドラーの識別子。

参照 commands.registerCommand

コマンドのタイトル。例: save

UIで表示される際の、コマンドのツールチップ。

Comment

コメントは、提供方法に応じて、エディター内またはコメントパネル内に表示されます。

プロパティ

コメントの作成者情報

人間が読めるコメント本文

コメントのコンテキスト値。これはコメント固有のアクションを寄与するために使用できます。例えば、コメントに editable というコンテキスト値が与えられます。menus 拡張ポイントを使用して comments/comment/title にアクションを寄与する場合、when 式で comment == editable のようにキー comment のコンテキスト値を指定できます。

    "contributes": {
        "menus": {
            "comments/comment/title": [
                {
                    "command": "extension.deleteComment",
                    "when": "comment == editable"
                }
            ]
        }
    }

これにより、contextValueeditable であるコメントのみにアクション extension.deleteComment が表示されます。

オプションのコメントのラベル。存在する場合は、`authorName` の隣にラベルがレンダリングされます。

コメントのコメントモード

オプションのコメントのリアクション

コメントに表示されるオプションのタイムスタンプ。日付はユーザーのロケールと設定に従ってフォーマットされます。

CommentAuthorInformation

コメントの作成者情報

プロパティ

作成者のオプションのアイコンパス

コメント作成者の表示名

CommentController

コメントコントローラーは、エディターにコメントサポートを提供し、ユーザーがコメントと対話するためのさまざまな方法を提供できます。

プロパティ

オプションのコメント範囲プロバイダー。任意の指定されたリソースURIにコメントをサポートする範囲のリストを提供します。

提供されない場合、ユーザーはコメントを残すことができません。

このコメントコントローラーのID。

このコメントコントローラーの人間が読めるラベル。

コメントコントローラーのオプション

コメントへのリアクションの作成と削除のためのオプションのリアクションハンドラー。

パラメーター説明
comment: Comment
reaction: CommentReaction
戻り値説明
Thenable<void>

メソッド

コメントスレッドを作成します。コメントスレッドは、作成されると、表示されているテキストエディター(リソースが一致する場合)およびコメントパネルに表示されます。

パラメーター説明
uri: Uri

スレッドが作成されたドキュメントのURI。

range: Range

コメントスレッドがドキュメント内に位置する範囲。

comments: readonly Comment[]

スレッドの順序付けされたコメント。

戻り値説明
CommentThread

このコメントコントローラーを破棄します。

破棄されると、このコメントコントローラーによって作成されたすべてのコメントスレッドも、エディターおよびコメントパネルから削除されます。

パラメーター説明
戻り値説明
void

CommentingRangeProvider

コメントコントローラーのコメント範囲プロバイダー。

メソッド

新しいコメントスレッドの作成を許可する範囲のリスト、または指定されたドキュメントのnullを提供します。

パラメーター説明
document: TextDocument
token: CancellationToken
戻り値説明
ProviderResult<Range[] | CommentingRanges>

CommentingRanges

CommentingRangeProvider がコメントを有効にする範囲。

プロパティ

特定の範囲なしでファイルにコメントを追加できるようにします。

新しいコメントスレッドの作成を許可する範囲。

CommentMode

コメントのコメントモード

列挙メンバー

コメントエディターを表示します

コメントのプレビューを表示します

CommentOptions

プロパティ

コメント入力ボックスがフォーカスされているときにプレースホルダーとして表示するオプションの文字列。

コメント入力ボックスが折りたたまれているときに表示するオプションの文字列。

CommentReaction

コメントのリアクション

プロパティ

コメントの作成者がこのリアクションに反応したかどうか

このリアクションに反応したユーザーの数

UIに表示されるリアクションのアイコン。

リアクションの人間が読めるラベル

CommentReply

comments/commentThread/context に登録されたアクションのコマンド引数。

プロパティ

コメントエディター内の値

アクティブなコメントスレッド

CommentRule

言語のコメントがどのように機能するかを記述します。

プロパティ

ブロックコメント文字ペア。例: /* block comment */

行コメントトークン。例: // this is a comment

CommentThread

ドキュメント内の特定の範囲における会話を表す、コメントのコレクション。

プロパティ

スレッドが返信をサポートするかどうか。デフォルトはtrueです。

ドキュメントを開いたときにスレッドを折りたたむか展開するか。デフォルトはCollapsedです。

スレッドの順序付けされたコメント。

コメントスレッドのコンテキスト値。これはスレッド固有のアクションを寄与するために使用できます。例えば、コメントスレッドに editable というコンテキスト値が与えられます。menus 拡張ポイントを使用して comments/commentThread/title にアクションを寄与する場合、when 式で commentThread == editable のようにキー commentThread のコンテキスト値を指定できます。

"contributes": {
  "menus": {
    "comments/commentThread/title": [
      {
        "command": "extension.deleteCommentThread",
        "when": "commentThread == editable"
      }
    ]
  }
}

これにより、contextValueeditable であるコメントスレッドのみにアクション extension.deleteCommentThread が表示されます。

オプションの人間が読める、コメントスレッドを記述するラベル

コメントスレッドがドキュメント内に位置する範囲。スレッドアイコンは範囲の最後の行に表示されます。未定義に設定された場合、コメントはファイルに関連付けられ、特定の範囲には関連付けられません。

コメントスレッドのオプションの状態。コメントの表示方法に影響を与える可能性があります。

スレッドが作成されたドキュメントのURI。

メソッド

このコメントスレッドを破棄します。

破棄されると、このコメントスレッドは適切なときに表示されているエディターおよびコメントパネルから削除されます。

パラメーター説明
戻り値説明
void

CommentThreadCollapsibleState

コメントスレッドの折りたたみ可能な状態

列挙メンバー

項目が折りたたまれているかを決定します

項目が展開されているかを決定します

CommentThreadState

コメントスレッドの状態。

列挙メンバー

未解決のスレッド状態

解決済みのスレッド状態

CompletionContext

補完プロバイダーがトリガーされるコンテキストに関する追加情報を含みます。

プロパティ

補完項目プロバイダーをトリガーした文字。

プロバイダーが文字によってトリガーされなかった場合は undefined

補完プロバイダーがトリガーされた時点で、トリガー文字はすでにドキュメント内に存在します。

補完がどのようにトリガーされたか。

CompletionItem

補完項目は、入力中のテキストを補完するために提案されるテキストスニペットを表します。

ラベルだけで補完項目を作成するだけで十分です。その場合、補完項目はカーソルまでの単語を指定されたラベルまたはinsertTextで置き換えます。それ以外の場合は、指定された編集が使用されます。

エディターで補完項目を選択すると、定義または合成されたテキスト編集がすべてのカーソル/選択に適用され、一方、additionalTextEdits は提供されたとおりに適用されます。

参照

コンストラクタ

新しい補完項目を作成します。

補完項目には少なくともラベルが必要であり、それが挿入テキストとして、またソートとフィルタリングのために使用されます。

パラメーター説明
label: string | CompletionItemLabel

補完のラベル。

kind?: CompletionItemKind

補完の種類

戻り値説明
CompletionItem

プロパティ

この補完を選択したときに適用される追加のテキスト編集のオプション配列。編集は、メインの編集やそれ自体と重複してはなりません。

この補完を挿入した後に実行されるオプションのCommand注意: 現在のドキュメントへの追加の変更は、additionalTextEditsプロパティで記述されるべきです。

この補完がアクティブなときに押すと、最初にそれを受け入れ、その文字を入力するオプションの文字セット。注意: すべてのコミット文字は length=1 であるべきであり、余分な文字は無視されます。

型やシンボル情報など、この項目に関する追加情報を含む人間が読める文字列。

ドキュメントコメントを表す人間が読める文字列。

補完項目のセットをフィルタリングする際に使用されるべき文字列。falsy の場合、ラベルが使用されます。

フィルターテキストは、rangeプロパティによって定義される先頭の単語(プレフィックス)に対して照合されることに注意してください。

この補完を選択したときにドキュメントに挿入されるべき文字列またはスニペット。falsy の場合、ラベルが使用されます。

insertText の空白をそのまま保持します。デフォルトでは、エディターは新しい行の先頭の空白を、項目が受け入れられる行のインデントと一致するように調整します。これを true に設定すると、それが防止されます。

この補完項目の種類。種類に基づいて、エディターがアイコンを選択します。

この補完項目のラベル。デフォルトでは、この補完を選択したときに挿入されるテキストでもあります。

表示時にこの項目を選択します。注意: 選択できる補完項目は1つだけであり、どの項目を選択するかはエディターが決定します。ルールは、最もよく一致する項目のうち最初のものが選択されることです。

この補完項目によって置き換えられるべきテキストを選択する範囲、または挿入と置換の範囲。

省略された場合、現在の単語の範囲が置換範囲として使用され、現在の単語の開始から現在の位置までが挿入範囲として使用されます。

注意1: 範囲は単一行である必要があり、補完が要求された位置を含む必要があります。注意2: 挿入範囲は置換範囲のプレフィックスである必要があり、つまり、同じ位置で開始され、その中に含まれる必要があります。

この項目を他の項目と比較する際に使用されるべき文字列。falsy の場合、ラベルが使用されます。

sortText は補完項目の初期順序付けにのみ使用されることに注意してください。先頭の単語(プレフィックス)がある場合、順序付けは補完がそのプレフィックスとどれだけ一致するかに基づいており、初期順序付けは補完が同等によく一致する場合にのみ使用されます。プレフィックスはrangeプロパティによって定義されるため、各補完で異なる場合があります。

この補完項目のタグ。

  • 非推奨 - 代わりに CompletionItem.insertTextCompletionItem.range を使用してください。

この補完を選択したときにドキュメントに適用される編集。編集が提供された場合、insertText の値は無視されます。

編集の範囲は単一行である必要があり、補完が要求された行と同じ行にある必要があります。

CompletionItemKind

補完項目の種類。

列挙メンバー

Text 補完項目の種類。

Method 補完項目の種類。

Function 補完項目の種類。

Constructor 補完項目の種類。

Field 補完項目の種類。

Variable 補完項目の種類。

Class 補完項目の種類。

Interface 補完項目の種類。

Module 補完項目の種類。

Property 補完項目の種類。

Unit 補完項目の種類。

Value 補完項目の種類。

Enum 補完項目の種類。

Keyword 補完項目の種類。

Snippet 補完項目の種類。

Color 補完項目の種類。

File 補完項目の種類。

Reference 補完項目の種類。

Folder 補完項目の種類。

EnumMember 補完項目の種類。

Constant 補完項目の種類。

Struct 補完項目の種類。

Event 補完項目の種類。

Operator 補完項目の種類。

TypeParameter 補完項目の種類。

User 補完項目の種類。

Issue 補完項目の種類。

CompletionItemLabel

補完項目の構造化されたラベル。

プロパティ

これは、CompletionItemLabel.detail の後に、より控えめにレンダリングされるオプションの文字列です。完全修飾名やファイルパスに使用されるべきです。

これは、label の直後に、スペースなしでより控えめにレンダリングされるオプションの文字列です。関数シグネチャや型アノテーションに使用されるべきです。

この補完項目のラベルです。

デフォルトでは、これはこの補完が選択されたときに挿入されるテキストでもあります。

CompletionItemProvider<T>

補完項目プロバイダーインターフェースは、拡張機能とIntelliSense間の契約を定義します。

プロバイダーは、resolveCompletionItem関数を実装することで、detailおよびdocumentationプロパティの計算を遅延させることができます。ただし、sortTextfilterTextinsertTextrangeなど、初期のソートとフィルタリングに必要なプロパティは、解決中に変更してはなりません。

プロバイダーは、ユーザーのジェスチャーによって明示的に、または構成によっては、単語やトリガー文字を入力するときに暗黙的に補完を要求されます。

メソッド

指定された位置とドキュメントに対する補完項目を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセルトークン。

context: CompletionContext

補完がどのようにトリガーされたか。

戻り値説明
ProviderResult<CompletionList<T> | T[]>

補完の配列、補完リスト、またはそれらのいずれかに解決されるThenable。結果がないことは、undefinednull、または空の配列を返すことで示されます。

補完項目に、doc-commentdetailsなどの追加データを入力します。

エディターは補完項目を1回のみ解決します。

注意: この関数は、補完項目がすでにUIに表示されているとき、または挿入のために項目が選択されたときに呼び出されます。そのため、表示(ラベル、ソート、フィルタリングなど)や(主要な)挿入動作(insertText)を変更するプロパティは変更できません。

この関数はadditionalTextEditsに入力できます。ただし、これは解決が完了する前に項目が挿入される可能性があることを意味し、その場合、エディターは追加のテキスト編集を適用するために最善を尽くします。

パラメーター説明
item: T

現在UIでアクティブな補完項目です。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T>

解決された補完項目、またはそのような項目に解決されるThenable。指定されたitemを返しても問題ありません。結果が返されない場合、指定されたitemが使用されます。

CompletionItemTag

補完項目タグは、補完項目のレンダリングを調整する追加のアノテーションです。

列挙メンバー

補完を非推奨としてレンダリングします。通常は打ち消し線を使用します。

CompletionList<T>

エディターに表示される補完項目のコレクションを表します。

コンストラクタ

新しい補完リストを作成します。

パラメーター説明
items?: T[]

補完項目。

isIncomplete?: boolean

リストが不完全です。

戻り値説明
CompletionList<T>

プロパティ

このリストは不完全です。さらなる入力によってこのリストが再計算されるはずです。

補完項目。

CompletionTriggerKind

補完プロバイダーがどのようにトリガーされたか

列挙メンバー

補完は通常通りトリガーされました。

補完はトリガー文字によってトリガーされました。

現在の補完リストが不完全であるため、補完が再トリガーされました。

ConfigurationChangeEvent

構成の変更を記述するイベント

メソッド

指定されたセクションが変更されたかどうかをチェックします。スコープが指定されている場合、指定されたスコープ内のリソースに対してセクションが変更されたかどうかをチェックします。

パラメーター説明
section: string

設定名、ドット区切り名をサポートします。

scope?: ConfigurationScope

チェックするスコープです。

戻り値説明
boolean

指定されたセクションが変更された場合、true

ConfigurationScope

構成スコープは以下である可能性があります。

  • リソースを表すUri
  • 開いているテキストドキュメントを表すTextDocument
  • ワークスペースフォルダーを表すWorkspaceFolder
  • 以下の内容を含むオブジェクト
    • uri: テキストドキュメントのオプションのUri
    • languageId: テキストドキュメントの言語識別子

ConfigurationTarget

構成ターゲット

列挙メンバー

グローバル構成

ワークスペース構成

ワークスペースフォルダー構成

CustomDocument

CustomEditorProviderによって使用されるカスタムドキュメントを表します。

カスタムドキュメントは、特定のCustomEditorProvider内でのみ使用されます。CustomDocumentのライフサイクルはエディターによって管理されます。CustomDocumentへの参照がなくなると、破棄されます。

プロパティ

このドキュメントに関連付けられたURIです。

メソッド

カスタムドキュメントを破棄します。

これは、特定のCustomDocumentへの参照がなくなったとき(例えば、ドキュメントに関連付けられたすべてのエディターが閉じられたとき)にエディターによって呼び出されます。

パラメーター説明
戻り値説明
void

CustomDocumentBackup

CustomDocumentのバックアップです。

プロパティ

バックアップの一意の識別子です。

このIDは、バックアップからカスタムエディターを開くときに、openCustomDocumentで拡張機能に渡されます。

メソッド

現在のバックアップを削除します。

これは、新しいバックアップが作成されたときやファイルが保存されたときなど、現在のバックアップが不要になったことが明らかになったときにエディターによって呼び出されます。

パラメーター説明
戻り値説明
void

CustomDocumentBackupContext

CustomDocumentBackupを実装するために使用される追加情報です。

プロパティ

新しいバックアップを書き込む推奨ファイル場所です。

拡張機能はこの推奨を無視し、独自のバックアップ戦略を使用しても構いません。

エディターが現在のワークスペースからのリソースである場合、destinationExtensionContext.storagePath内のファイルを指します。destinationの親フォルダーは存在しない場合があるため、この場所にバックアップを書き込む前に作成してください。

CustomDocumentContentChangeEvent<T>

CustomDocumentのコンテンツが変更されたことをエディターに通知するために拡張機能によってトリガーされるイベントです。

参照 CustomEditorProvider.onDidChangeCustomDocument

プロパティ

変更対象のドキュメントです。

CustomDocumentEditEvent<T>

CustomDocument上で編集が発生したことをエディターに通知するために拡張機能によってトリガーされるイベントです。

参照 CustomEditorProvider.onDidChangeCustomDocument

プロパティ

編集対象のドキュメントです。

編集を説明する表示名です。

これは元に戻す/やり直し操作のためにUIでユーザーに表示されます。

メソッド

編集操作をやり直します。

これは、ユーザーがこの編集をやり直すときにエディターによって呼び出されます。redoを実装するには、拡張機能は、この編集がonDidChangeCustomDocumentによってエディターの内部編集スタックに追加された直後の状態にドキュメントとエディターを復元する必要があります。

パラメーター説明
戻り値説明
void | Thenable<void>

編集操作を元に戻します。

これは、ユーザーがこの編集を元に戻すときにエディターによって呼び出されます。undoを実装するには、拡張機能は、この編集がonDidChangeCustomDocumentによってエディターの内部編集スタックに追加される直前の状態にドキュメントとエディターを復元する必要があります。

パラメーター説明
戻り値説明
void | Thenable<void>

CustomDocumentOpenContext

カスタムドキュメントを開くに関する追加情報です。

プロパティ

ドキュメントを復元するバックアップのID、またはバックアップがない場合はundefined

これが提供されている場合、拡張機能はユーザーのワークスペースからファイルを読み込む代わりに、バックアップからエディターを復元する必要があります。

URIがタイトルなしのファイルの場合、このファイルにはそのファイルのバイトデータが入力されます。

これが提供されている場合、拡張機能は渡されたURIでfs APIを実行する代わりに、このバイトデータを活用する必要があります。

CustomEditorProvider<T>

カスタムドキュメントモデルを使用する編集可能なカスタムエディターのプロバイダーです。

カスタムエディターは、ドキュメントモデルとしてTextDocumentの代わりにCustomDocumentを使用します。これにより、編集、保存、バックアップなどのアクションを拡張機能が完全に制御できるようになります。

バイナリファイルやより複雑なシナリオを扱う場合は、このタイプのカスタムエディターを使用してください。単純なテキストベースのドキュメントの場合は、代わりにCustomTextEditorProviderを使用してください。

イベント

カスタムエディター内で編集が発生したことを通知するイベントです。

このイベントは、カスタムエディターで編集が発生するたびに、拡張機能によって発生させる必要があります。編集は、テキストの変更から画像のトリミング、リストの並べ替えまで、何でもかまいません。拡張機能は、編集とは何か、各編集にどのようなデータが保存されるかを自由に定義できます。

onDidChangeを発生させると、エディターはダーティとしてマークされます。これは、ユーザーがファイルを保存または元に戻すとクリアされます。

元に戻す/やり直しをサポートするエディターは、編集が発生するたびにCustomDocumentEditEventを発生させる必要があります。これにより、ユーザーはエディターの標準的なキーボードショートカットを使用して編集を元に戻したり、やり直したりできます。ユーザーが最後に保存された状態まですべての編集を元に戻した場合、エディターはダーティとしてマークされなくなります。

編集をサポートするが、エディターの標準的な元に戻す/やり直しメカニズムを使用できないエディターは、CustomDocumentContentChangeEventを発生させる必要があります。元に戻す/やり直しをサポートしないエディターのダーティ状態をクリアする唯一の方法は、ファイルをsaveまたはrevertすることです。

エディターは、常にCustomDocumentEditEventイベントのみを発生させるか、常にCustomDocumentContentChangeEventイベントのみを発生させるべきです。

メソッド

ダーティなカスタムドキュメントをバックアップします。

バックアップは、ホットエグジットとデータ損失防止のために使用されます。backupメソッドは、現在の状態、つまり編集が適用された状態でリソースを永続化する必要があります。通常、これはリソースをExtensionContext.storagePathにディスクに保存することを意味します。エディターが再ロードされ、カスタムエディターがリソースに対して開かれるとき、拡張機能はまずそのリソースに対してバックアップが存在するかどうかを確認する必要があります。バックアップがある場合、拡張機能はワークスペースのリソースからではなく、そこからファイルの内容をロードする必要があります。

backupは、ユーザーがドキュメントの編集を停止してから約1秒後にトリガーされます。ユーザーがドキュメントを素早く編集した場合、編集が停止するまでbackupは呼び出されません。

auto saveが有効な場合(自動保存がすでにリソースを永続化しているため)、backupは呼び出されません。

パラメーター説明
document: T

バックアップするドキュメント。

context: CustomDocumentBackupContext

ドキュメントのバックアップに使用できる情報。

cancellation: CancellationToken

新しいバックアップが来るため、現在のバックアップがキャンセルされたことを通知するトークン。キャンセルにどのように応答するかは、拡張機能に委ねられています。たとえば、拡張機能が時間のかかる操作で大きなファイルをバックアップしている場合、エディターに有効なバックアップがあることを確認するために、キャンセルせずに進行中のバックアップを完了することを決定するかもしれません。

戻り値説明
Thenable<CustomDocumentBackup>

指定されたリソースの新しいドキュメントを作成します。

openCustomDocumentは、特定のリソースに対してエディターが初めて開かれるときに呼び出されます。開かれたドキュメントは、その後resolveCustomEditorに渡され、エディターがユーザーに表示されるようにします。

ユーザーが追加のエディターを開いた場合、すでに開かれているCustomDocumentが再利用されます。特定のリソースのすべてのエディターが閉じられると、CustomDocumentは破棄されます。この時点でエディターを開くと、openCustomDocumentの別の呼び出しがトリガーされます。

パラメーター説明
uri: Uri

開くドキュメントのURI。

openContext: CustomDocumentOpenContext

カスタムドキュメントを開くに関する追加情報です。

token: CancellationToken

結果が不要になったことを示すキャンセル・トークン。

戻り値説明
T | Thenable<T>

カスタムドキュメント。

指定されたリソースのカスタムエディターを解決します。

これは、ユーザーがこのCustomEditorProviderの新しいエディターを開くたびに呼び出されます。

パラメーター説明
document: T

解決中のリソースのドキュメント。

webviewPanel: WebviewPanel

このリソースのエディターUIを表示するために使用されるウェブビューパネルです。

解決中、プロバイダーはコンテンツウェブビューパネルの初期HTMLを埋め込み、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、後でコマンドなどで使用するためにWebviewPanelを保持することもできます。詳細については、WebviewPanelを参照してください。

token: CancellationToken

結果が不要になったことを示すキャンセル・トークン。

戻り値説明
void | Thenable<void>

カスタムエディターが解決されたことを示すオプションのThenable。

カスタムドキュメントを最後に保存された状態に戻します。

このメソッドは、ユーザーがカスタムエディターでファイル: ファイルを元に戻すをトリガーしたときにエディターによって呼び出されます。(これはエディターのファイル: ファイルを元に戻すコマンドを使用する場合にのみ使用され、ファイルのgit revertでは使用されないことに注意してください)。

revertを実装するには、実装者はdocumentのすべてのエディターインスタンス(ウェブビュー)が、保存された状態と同じ状態でドキュメントを表示していることを確認する必要があります。これは通常、ワークスペースからファイルを再ロードすることを意味します。

パラメーター説明
document: T

元に戻すドキュメント。

cancellation: CancellationToken

元に戻す操作が不要になったことを示すトークン。

戻り値説明
Thenable<void>

変更が完了したことを通知するThenable。

カスタムドキュメントを保存します。

このメソッドは、ユーザーがカスタムエディターを保存するときにエディターによって呼び出されます。これは、ユーザーがカスタムエディターがアクティブなときに保存をトリガーしたり、すべて保存などのコマンドを使用したり、有効になっている場合は自動保存によって発生する可能性があります。

saveを実装するには、実装者はカスタムエディターを永続化する必要があります。これは通常、カスタムドキュメントのファイルデータをディスクに書き込むことを意味します。saveが完了すると、関連するエディターインスタンスはダーティとしてマークされなくなります。

パラメーター説明
document: T

保存するドキュメント。

cancellation: CancellationToken

保存が不要になったことを示すトークン(例: 別の保存がトリガーされた場合)。

戻り値説明
Thenable<void>

保存が完了したことを通知するThenable。

カスタムドキュメントを別の場所に保存します。

このメソッドは、ユーザーがカスタムエディターで「名前を付けて保存」をトリガーしたときにエディターによって呼び出されます。実装者は、カスタムエディターをdestinationに永続化する必要があります。

ユーザーが名前を付けて保存を受け入れると、現在のエディターは新しく保存されたファイルのダーティでないエディターに置き換えられます。

パラメーター説明
document: T

保存するドキュメント。

destination: Uri

保存先。

cancellation: CancellationToken

保存が不要になったことを示すトークン。

戻り値説明
Thenable<void>

保存が完了したことを通知するThenable。

CustomExecution

タスクとして拡張機能のコールバックを実行するために使用されるクラスです。

コンストラクタ

CustomExecutionタスクオブジェクトを構築します。このコールバックはタスクが実行されたときに実行され、その時点で拡張機能は「実行される」Pseudoterminalを返す必要があります。タスクは、Pseudoterminal.openが呼び出されるまで、それ以上の実行を待機する必要があります。タスクのキャンセルはPseudoterminal.closeを使用して処理されるべきです。タスクが完了したらPseudoterminal.onDidCloseを発生させます。

パラメーター説明
callback: (resolvedDefinition: TaskDefinition) => Thenable<Pseudoterminal>

タスクがユーザーによって開始されたときに呼び出されるコールバック。タスク定義に含まれていた${}形式の変数はすべて解決され、resolvedDefinitionとしてコールバックに渡されます。

戻り値説明
CustomExecution

CustomReadonlyEditorProvider<T>

カスタムドキュメントモデルを使用する読み取り専用カスタムエディターのプロバイダーです。

カスタムエディターは、ドキュメントモデルとしてTextDocumentの代わりにCustomDocumentを使用します。

バイナリファイルやより複雑なシナリオを扱う場合は、このタイプのカスタムエディターを使用してください。単純なテキストベースのドキュメントの場合は、代わりにCustomTextEditorProviderを使用してください。

メソッド

指定されたリソースの新しいドキュメントを作成します。

openCustomDocumentは、特定のリソースに対してエディターが初めて開かれるときに呼び出されます。開かれたドキュメントは、その後resolveCustomEditorに渡され、エディターがユーザーに表示されるようにします。

ユーザーが追加のエディターを開いた場合、すでに開かれているCustomDocumentが再利用されます。特定のリソースのすべてのエディターが閉じられると、CustomDocumentは破棄されます。この時点でエディターを開くと、openCustomDocumentの別の呼び出しがトリガーされます。

パラメーター説明
uri: Uri

開くドキュメントのURI。

openContext: CustomDocumentOpenContext

カスタムドキュメントを開くに関する追加情報です。

token: CancellationToken

結果が不要になったことを示すキャンセル・トークン。

戻り値説明
T | Thenable<T>

カスタムドキュメント。

指定されたリソースのカスタムエディターを解決します。

これは、ユーザーがこのCustomEditorProviderの新しいエディターを開くたびに呼び出されます。

パラメーター説明
document: T

解決中のリソースのドキュメント。

webviewPanel: WebviewPanel

このリソースのエディターUIを表示するために使用されるウェブビューパネルです。

解決中、プロバイダーはコンテンツウェブビューパネルの初期HTMLを埋め込み、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、後でコマンドなどで使用するためにWebviewPanelを保持することもできます。詳細については、WebviewPanelを参照してください。

token: CancellationToken

結果が不要になったことを示すキャンセル・トークン。

戻り値説明
void | Thenable<void>

カスタムエディターが解決されたことを示すオプションのThenable。

CustomTextEditorProvider

テキストベースのカスタムエディターのプロバイダーです。

テキストベースのカスタムエディターは、データモデルとしてTextDocumentを使用します。これにより、元に戻すやバックアップなどの一般的な操作をエディターが処理できるため、カスタムエディターの実装が大幅に簡素化されます。プロバイダーは、ウェブビューとTextDocumentの間でテキストの変更を同期する責任があります。

メソッド

指定されたテキストリソースのカスタムエディターを解決します。

これは、ユーザーが初めてCustomTextEditorProviderのリソースを開いたとき、またはこのCustomTextEditorProviderを使用して既存のエディターを再開したときに呼び出されます。

パラメーター説明
document: TextDocument

解決するリソースのドキュメント。

webviewPanel: WebviewPanel

このリソースのエディターUIを表示するために使用されるウェブビューパネルです。

解決中、プロバイダーはコンテンツウェブビューパネルの初期HTMLを埋め込み、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、後でコマンドなどで使用するためにWebviewPanelを保持することもできます。詳細については、WebviewPanelを参照してください。

token: CancellationToken

結果が不要になったことを示すキャンセル・トークン。

戻り値説明
void | Thenable<void>

カスタムエディターが解決されたことを示すThenable。

DataTransfer

対応する転送データのMIMEタイプのマッピングを含むマップです。

handleDragを実装するドラッグアンドドロップコントローラーは、データ転送に追加のMIMEタイプを追加できます。これらの追加MIMEタイプは、ドラッグが同じドラッグアンドドロップコントローラー内の要素から開始された場合にのみhandleDropに含まれます。

コンストラクタ

パラメーター説明
戻り値説明
DataTransfer

メソッド

このデータ転送の各要素の[mime, item]ペアを含む新しいイテレーターを取得します。

パラメーター説明
戻り値説明
IterableIterator<[mimeType: string, item: DataTransferItem]>

データ転送項目を反復処理できます。

パラメーター説明
callbackfn: (item: DataTransferItem, mimeType: string, dataTransfer: DataTransfer) => void

データ転送項目を反復処理するためのコールバック。

thisArg?: any

ハンドラー関数を呼び出すときに使用されるthisコンテキスト。

戻り値説明
void

指定されたMIMEタイプに対応するデータ転送項目を取得します。

パラメーター説明
mimeType: string

text/plainimage/pngなど、データ転送項目を取得するMIMEタイプです。MIMEタイプの検索は大文字と小文字を区別しません。

特殊なMIMEタイプ

  • text/uri-list\r\nで区切られたtoString()化されたURIの文字列。ファイル内のカーソル位置を指定するには、URIのフラグメントをL3,5に設定します。ここで、3は行番号、5は列番号です。
戻り値説明
DataTransferItem

MIMEタイプからデータ転送項目へのマッピングを設定します。

パラメーター説明
mimeType: string

データを設定するMIMEタイプです。MIMEタイプは小文字で保存され、大文字と小文字を区別しない検索が行われます。

value: DataTransferItem

指定されたMIMEタイプのデータ転送項目。

戻り値説明
void

DataTransferFile

DataTransferItemに関連付けられたファイルです。

この型のインスタンスはエディターのみが作成でき、拡張機能は作成できません。

プロパティ

ファイルの名前。

ファイルの完全なファイルパス。

Webではundefinedになる場合があります。

メソッド

ファイルの完全なファイル内容。

パラメーター説明
戻り値説明
Thenable<Uint8Array>

DataTransferItem

ドラッグアンドドロップ操作中に転送されるデータをカプセル化します。

コンストラクタ

パラメーター説明
value: any

この項目に保存されているカスタムデータ。DataTransferItem.valueを使用して取得できます。

戻り値説明
DataTransferItem

プロパティ

この項目に保存されているカスタムデータです。

valueを使用して、操作間でデータを共有できます。元のオブジェクトは、DataTransferItemを作成した拡張機能が同じ拡張ホストで実行されている限り、取得できます。

メソッド

このデータ転送項目に関連付けられたファイルを取得しようとします。

ファイルオブジェクトはドラッグアンドドロップ操作のスコープ内でのみ有効であることに注意してください。

パラメーター説明
戻り値説明
DataTransferFile

データ転送のファイル、または項目がファイルではないか、ファイルデータにアクセスできない場合はundefined

この項目の文字列表現を取得します。

DataTransferItem.valueがオブジェクトの場合、これはDataTransferItem.value値をJSON文字列化した結果を返します。

パラメーター説明
戻り値説明
Thenable<string>

DebugAdapter

Debug Adapter Protocolを実装するデバッグアダプターは、DebugAdapterインターフェースを実装していれば、エディターに登録できます。

イベント

デバッグアダプターがDebug Adapter Protocolメッセージをエディターに送信した後に発生するイベント。メッセージは要求、応答、またはイベントです。

メソッド

このオブジェクトを破棄します。

パラメーター説明
戻り値説明
any

Debug Adapter Protocolメッセージを処理します。メッセージは要求、応答、またはイベントです。結果またはエラーは、onSendMessageイベントを介して返されます。

パラメーター説明
message: DebugProtocolMessage

Debug Adapter Protocolメッセージ

戻り値説明
void

DebugAdapterDescriptor

さまざまな種類のデバッグアダプターを表します。

DebugAdapterDescriptorFactory

デバッグアダプター記述子を作成するデバッグアダプターファクトリです。

メソッド

'createDebugAdapterDescriptor'は、デバッグセッションの開始時に、使用するデバッグアダプターに関する詳細を提供するために呼び出されます。これらの詳細はDebugAdapterDescriptor型のオブジェクトとして返される必要があります。現在、2種類のデバッグアダプターがサポートされています。

  • コマンドパスと引数として指定されるデバッグアダプター実行可能ファイル(DebugAdapterExecutableを参照)、
  • 通信ポート経由で到達可能なデバッグアダプターサーバー(DebugAdapterServerを参照)。このメソッドが実装されていない場合、デフォルトの動作は次のとおりです: createDebugAdapter(session: DebugSession, executable: DebugAdapterExecutable) { if (typeof session.configuration.debugServer === 'number') { return new DebugAdapterServer(session.configuration.debugServer); } return executable; }
パラメーター説明
session: DebugSession

デバッグアダプターが使用されるデバッグセッション

executable: DebugAdapterExecutable

package.jsonで指定されたデバッグアダプターの実行可能情報(情報がない場合は未定義)。

戻り値説明
ProviderResult<DebugAdapterDescriptor>

デバッグアダプター記述子、またはundefined。

DebugAdapterExecutable

デバッグアダプターの実行可能ファイルと、それに渡されるオプションの引数およびランタイムオプションを表します。

コンストラクタ

実行可能プログラムに基づいたデバッグアダプターの説明を作成します。

パラメーター説明
command: string

デバッグアダプターを実装するコマンドまたは実行可能パス。

args?: string[]

コマンドまたは実行可能ファイルに渡されるオプションの引数。

options?: DebugAdapterExecutableOptions

コマンドまたは実行可能ファイルの起動時に使用されるオプションのオプション。

戻り値説明
DebugAdapterExecutable

プロパティ

デバッグアダプター実行可能ファイルに渡される引数。デフォルトは空の配列です。

デバッグアダプター実行可能ファイルのコマンドまたはパス。コマンドは実行可能ファイルの絶対パスであるか、PATH環境変数で検索されるコマンド名である必要があります。特殊な値「node」はエディターに組み込まれたNode.jsランタイムにマッピングされます。

デバッグアダプターの起動時に使用されるオプションのオプション。デフォルトはundefinedです。

DebugAdapterExecutableOptions

デバッグアダプター実行可能ファイルのオプション。

プロパティ

実行されたデバッグアダプターの現在の作業ディレクトリ。

実行されるプログラムまたはシェルの追加の環境。省略された場合、親プロセスの環境が使用されます。提供された場合、親プロセスの環境とマージされます。

DebugAdapterInlineImplementation

インライン実装のデバッグアダプター記述子。

コンストラクタ

デバッグアダプターのインライン実装の記述子を作成します。

パラメーター説明
implementation: DebugAdapter
戻り値説明
DebugAdapterInlineImplementation

DebugAdapterNamedPipeServer

名前付きパイプ(Windows上)/UNIXドメインソケット(非Windows上)ベースのサーバーとして実行されるデバッグアダプターを表します。

コンストラクタ

名前付きパイプ(Windows)/UNIXドメインソケット(非Windows)ベースのサーバーとして実行されるデバッグアダプターの説明を作成します。

パラメーター説明
path: string
戻り値説明
DebugAdapterNamedPipeServer

プロパティ

NamedPipe/UNIXドメインソケットへのパス。

DebugAdapterServer

ソケットベースのサーバーとして実行されるデバッグアダプターを表します。

コンストラクタ

ソケットベースのサーバーとして実行されるデバッグアダプターの説明を作成します。

パラメーター説明
port: number
host?: string
戻り値説明
DebugAdapterServer

プロパティ

ホスト。

ポート。

DebugAdapterTracker

Debug Adapter Trackerは、エディターとデバッグアダプター間の通信を追跡する手段です。

イベント

デバッグアダプターがDebug Adapter Protocolメッセージをエディターに送信しました。

パラメーター説明
message: any
戻り値説明
void

デバッグアダプターは、エディターからDebug Adapter Protocolメッセージを受信しようとしています。

パラメーター説明
message: any
戻り値説明
void

デバッグアダプターとのセッションが開始されようとしています。

パラメーター説明
戻り値説明
void

デバッグアダプターセッションが停止しようとしています。

パラメーター説明
戻り値説明
void

メソッド

デバッグアダプターでエラーが発生しました。

パラメーター説明
error: Error
戻り値説明
void

デバッグアダプターが指定された終了コードまたはシグナルで終了しました。

パラメーター説明
code: number
signal: string
戻り値説明
void

DebugAdapterTrackerFactory

デバッグアダプタートラッカーを作成するデバッグアダプターファクトリです。

メソッド

'createDebugAdapterTracker'メソッドは、デバッグセッションの開始時に呼び出され、エディターとデバッグアダプター間の通信への読み取りアクセスを提供する「トラッカー」オブジェクトを返します。

パラメーター説明
session: DebugSession

デバッグアダプタートラッカーが使用されるデバッグセッション

戻り値説明
ProviderResult<DebugAdapterTracker>

DebugConfiguration

デバッグセッションの構成。

プロパティ

デバッグセッションの名前。

デバッグセッションの要求タイプ。

デバッグセッションのタイプ。

DebugConfigurationProvider

デバッグ構成プロバイダーは、デバッグサービスにデバッグ構成を追加したり、デバッグセッションの開始に使用される前に起動構成を解決したりすることができます。デバッグ構成プロバイダーは、debug.registerDebugConfigurationProviderを介して登録されます。

メソッド

デバッグサービスにデバッグ構成を提供します。同じタイプに対して複数のデバッグ構成プロバイダーが登録されている場合、デバッグ構成は任意の順序で連結されます。

パラメーター説明
folder: WorkspaceFolder

構成が使用されるワークスペースフォルダー、またはフォルダーなしのセットアップの場合はundefined

token?: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<DebugConfiguration[]>

デバッグ構成の配列。

不足している値を埋めたり、属性を追加/変更/削除したりすることで、デバッグ構成を解決します。同じタイプに対して複数のデバッグ構成プロバイダーが登録されている場合、resolveDebugConfiguration呼び出しは任意の順序でチェーンされ、初期のデバッグ構成はチェーンを介してパイプされます。値「undefined」を返すと、デバッグセッションの開始が防止されます。値「null」を返すと、デバッグセッションの開始が防止され、代わりに基になるデバッグ構成が開きます。

パラメーター説明
folder: WorkspaceFolder

構成の元となるワークスペースフォルダ、またはフォルダーなしのセットアップの場合はundefined

debugConfiguration: DebugConfiguration

解決するデバッグ構成

token?: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<DebugConfiguration>

解決されたデバッグ構成、またはundefined、またはnull。

このフックは「resolveDebugConfiguration」の直後に呼び出されますが、すべての変数が置換されています。不足している値を埋めたり、属性を追加/変更/削除したりすることで、デバッグ構成を解決または検証するために使用できます。同じタイプに対して複数のデバッグ構成プロバイダーが登録されている場合、「resolveDebugConfigurationWithSubstitutedVariables」呼び出しは任意の順序でチェーンされ、初期のデバッグ構成はチェーンを介してパイプされます。値「undefined」を返すと、デバッグセッションの開始が防止されます。値「null」を返すと、デバッグセッションの開始が防止され、代わりに基になるデバッグ構成が開きます。

パラメーター説明
folder: WorkspaceFolder

構成の元となるワークスペースフォルダ、またはフォルダーなしのセットアップの場合はundefined

debugConfiguration: DebugConfiguration

解決するデバッグ構成

token?: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<DebugConfiguration>

解決されたデバッグ構成、またはundefined、またはnull。

DebugConfigurationProviderTriggerKind

DebugConfigurationProviderTriggerKindは、DebugConfigurationProviderprovideDebugConfigurationsメソッドがいつトリガーされるかを指定します。現在、2つの状況があります: 新しく作成されたlaunch.jsonの初期デバッグ構成を提供するため、またはユーザーがUI(例: 「デバッグの選択と開始」コマンド)を通じて要求したときに動的に生成されたデバッグ構成を提供するためです。トリガーの種類は、debug.registerDebugConfigurationProviderDebugConfigurationProviderを登録するときに使用されます。

列挙メンバー

DebugConfigurationProvider.provideDebugConfigurationsは、新しく作成されたlaunch.jsonの初期デバッグ構成を提供するために呼び出されます。

DebugConfigurationProvider.provideDebugConfigurationsは、ユーザーがUI(例: 「デバッグの選択と開始」コマンド)を通じて要求したときに、動的に生成されたデバッグ構成を提供するために呼び出されます。

DebugConsole

デバッグコンソールを表します。

メソッド

指定された値をデバッグコンソールに追加します。

パラメーター説明
value: string

文字列。偽値は出力されません。

戻り値説明
void

指定された値と改行文字をデバッグコンソールに追加します。

パラメーター説明
value: string

文字列。偽値も出力されます。

戻り値説明
void

DebugConsoleMode

デバッグセッションで使用されるデバッグコンソールモード。optionsを参照。

列挙メンバー

デバッグセッションは個別のデバッグコンソールを持つべきです。

デバッグセッションは親セッションとデバッグコンソールを共有するべきです。この値は、親セッションを持たないセッションには影響しません。

DebugProtocolBreakpoint

DebugProtocolBreakpointは、Debug Adapter Protocolで定義されているBreakpoint型の不透明なスタンドイン型です。

DebugProtocolMessage

DebugProtocolMessageは、Debug Adapter Protocolで定義されているProtocolMessage型の不透明なスタンドイン型です。

DebugProtocolSource

DebugProtocolSourceは、Debug Adapter Protocolで定義されているSource型の不透明なスタンドイン型です。

DebugSession

デバッグセッション。

プロパティ

このセッションの「解決済み」デバッグ構成。「解決済み」とは、

  • すべての変数が置換されており、
  • プラットフォーム固有の属性セクションが、一致するプラットフォームに対して「フラット化」され、一致しないプラットフォームに対して削除されていることを意味します。

このデバッグセッションの一意のID。

デバッグセッションの名前は、最初はデバッグ構成から取得されます。変更はUIに適切に反映されます。

このデバッグセッションが子として作成された場合の、このデバッグセッションの親セッション。

参照 DebugSessionOptions.parentSession

デバッグ構成からのデバッグセッションのタイプ。

このセッションのワークスペースフォルダー、またはフォルダーなしのセットアップの場合はundefined

メソッド

デバッグアダプターにカスタムリクエストを送信します。

パラメーター説明
command: string
args?: any
戻り値説明
Thenable<any>

エディター内のブレークポイントを、デバッグセッションのデバッグアダプターによって管理される対応するDebug Adapter Protocol (DAP) ブレークポイントにマッピングします。DAPブレークポイントが存在しない場合(エディターブレークポイントがまだ登録されていないか、デバッグアダプターがブレークポイントに関心がないため)、値undefinedが返されます。

パラメーター説明
breakpoint: Breakpoint

エディターのブレークポイント

戻り値説明
Thenable<DebugProtocolBreakpoint>

Debug Adapter Protocolブレークポイント、またはundefinedに解決されるプロミス。

DebugSessionCustomEvent

デバッグセッションから受信したカスタムDebug Adapter Protocolイベント。

プロパティ

イベント固有の情報。

イベントの種類。

カスタムイベントを受信したデバッグセッション

DebugSessionOptions

デバッグセッションを開始するためのオプションです。

プロパティ

デバッグセッションの親セッションが、単一の子しか持たない場合でも「呼び出しスタック」ビューに表示されるかどうかを制御します。デフォルトでは、デバッグセッションは親を非表示にすることはありません。compactがtrueの場合、単一の子を持つデバッグセッションは、ツリーをよりコンパクトにするために「呼び出しスタック」ビューで非表示になります。

このセッションが個別のデバッグコンソールを持つべきか、親セッションと共有すべきかを制御します。親セッションを持たないセッションには影響しません。デフォルトはSeparateです。

「再起動」などのライフサイクル要求が、新しく作成されたセッションに送信されるか、その親セッションに送信されるかを制御します。デフォルトでは(プロパティがfalseまたは存在しない場合)、ライフサイクル要求は新しいセッションに送信されます。セッションに親セッションがない場合、このプロパティは無視されます。

このセッションがデバッグなしで実行されるべきかどうか、したがってブレークポイントを無視すべきかどうかを制御します。このプロパティが指定されていない場合、親セッション(存在する場合)の値が使用されます。

指定された場合、新しく作成されたデバッグセッションは、この「親」デバッグセッションの「子」セッションとして登録されます。

trueの場合、このセッションではウィンドウのステータスバーの色は変更されません。

true の場合、このセッションではデバッグツールバーは表示されません。

true の場合、このセッションではデバッグビューレットは自動的に表示されません。

true の場合、debug.saveBeforeStart 設定の値に関わらず、デバッグセッションの開始時に開いているエディターの保存はトリガーされません。

デバッグセッションがテスト実行リクエストから開始されたことをエディターに通知します。これは、UIアクションにおけるデバッグセッションとテスト実行のライフサイクルをリンクするために使用されます。

DebugStackFrame

デバッグセッションにおけるスタックフレームを表します。

プロパティ

デバッグプロトコルにおけるスタックフレームのID。

スレッドのデバッグセッション。

デバッグプロトコルにおける関連スレッドのID。

DebugThread

デバッグセッションにおけるスレッドを表します。

プロパティ

スレッドのデバッグセッション。

デバッグプロトコルにおける関連スレッドのID。

Declaration

シンボル表現の宣言を、1つまたは複数のロケーションまたはロケーションリンクとして表します。

DeclarationCoverage

宣言のカバレッジ情報を含みます。レポーターと言語によっては、関数、メソッド、名前空間などの型になります。

コンストラクタ

パラメーター説明
name: string
executed: number | boolean

この宣言が実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたはfalseの場合、宣言は未カバーとしてマークされます。

location: Range | Position

宣言の位置。

戻り値説明
DeclarationCoverage

プロパティ

この宣言が実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたはfalseの場合、宣言は未カバーとしてマークされます。

宣言の位置。

宣言の名前。

DeclarationProvider

宣言プロバイダーインターフェースは、拡張機能と宣言へ移動機能間の契約を定義します。

メソッド

指定された位置とドキュメントのシンボルの宣言を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<Declaration>

宣言、またはそれに解決されるThenable。結果がない場合は、undefinedまたはnullを返すことで通知できます。

DecorationInstanceRenderOptions

デコレーションインスタンスのレンダリングオプションを表します。DecorationOptions.renderOptionsを参照してください。

プロパティ

装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。

装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。

ダークテーマのオプションを上書きします。

ライトテーマのオプションを上書きします。

DecorationOptions

デコレーションセット内の特定のデコレーションのオプションを表します。

プロパティ

デコレーションにカーソルを合わせたときにレンダリングされるメッセージ。

このデコレーションが適用される範囲。範囲は空であってはなりません。

現在のデコレーションに適用されるレンダリングオプション。パフォーマンス上の理由から、デコレーション固有のオプションは少なくし、可能な限りデコレーションの種類を使用してください。

DecorationRangeBehavior

デコレーションの端での入力/編集時の動作を記述します。

列挙メンバー

デコレーションの範囲は、開始または終了時に編集が行われると広くなります。

デコレーションの範囲は、開始または終了時に編集が行われても広くなりません。

デコレーションの範囲は、開始時に編集が行われると広くなりますが、終了時には広くなりません。

デコレーションの範囲は、終了時に編集が行われると広くなりますが、開始時には広くなりません。

DecorationRenderOptions

テキストエディターのデコレーションのレンダリングスタイルを表します。

プロパティ

装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。

デコレーションの背景色。rgba() を使用し、透明な背景色を定義して他のデコレーションと調和させます。または、カラーレジストリからの色を参照できます。

装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

ダークテーマのオプションを上書きします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

ガターにレンダリングされる画像の絶対パスまたはURI。

ガターアイコンのサイズを指定します。利用可能な値は「auto」、「contain」、「cover」、および任意のパーセンテージ値です。詳細については、https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspx を参照してください。

デコレーションを、行テキストの後の空白部分にもレンダリングするかどうか。デフォルトはfalseです。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

ライトテーマのオプションを上書きします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。

概要ルーラー内のデコレーションの色。rgba() を使用し、透明な色を定義して他のデコレーションと調和させます。

デコレーションがレンダリングされる概要ルーラー内の位置。

デコレーションの範囲の端で編集が発生したときのデコレーションの拡張動作をカスタマイズします。デフォルトはDecorationRangeBehavior.OpenOpenです。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

Definition

1つまたは複数のロケーションとして表されるシンボルの定義。ほとんどのプログラミング言語では、シンボルが定義されるロケーションは1つだけです。

シンボルがどこで定義されているかに関する情報。

通常のLocation定義に加え、定義するシンボルの範囲を含む追加のメタデータを提供します

DefinitionProvider

定義プロバイダーインターフェースは、拡張機能と定義へ移動および定義ピーク機能間の契約を定義します。

メソッド

指定された位置とドキュメントのシンボルの定義を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<Definition | LocationLink[]>

定義、またはそれに解決されるThenable。結果がない場合は、undefinedまたはnullを返すことで通知できます。

Diagnostic

コンパイラエラーや警告などの診断を表します。診断オブジェクトはファイルのスコープ内でのみ有効です。

コンストラクタ

新しい診断オブジェクトを作成します。

パラメーター説明
range: Range

この診断が適用される範囲。

message: string

人間が読めるメッセージ。

severity?: DiagnosticSeverity

重要度。デフォルトはエラーです。

戻り値説明
Diagnostic

プロパティ

この診断のコードまたは識別子。後処理、例えばコードアクションを提供する場合などに使用されます。

人間が読めるメッセージ。

この診断が適用される範囲。

関連する診断情報の配列。例えば、スコープ内のシンボル名が衝突する場合、このプロパティを介してすべての定義にマークを付けることができます。

重要度。デフォルトはエラーです。

この診断のソースを記述する人間が読める文字列。例:「typescript」または「super lint」。

診断に関する追加のメタデータ。

DiagnosticChangeEvent

診断が変更されたときに発生するイベント。

プロパティ

診断が変更されたリソースの配列。

DiagnosticCollection

診断コレクションは、一連の診断を管理するコンテナです。診断は常に診断コレクションとリソースにスコープされます。

DiagnosticCollectionのインスタンスを取得するには、createDiagnosticCollectionを使用します。

プロパティ

この診断コレクションの名前。例えば、typescript。このコレクションからのすべての診断は、この名前に関連付けられます。また、タスクフレームワークは問題マッチング機能を定義する際にこの名前を使用します。

メソッド

このコレクションからすべての診断を削除します。#set(undefined)を呼び出すのと同じです。

パラメーター説明
戻り値説明
void

提供されたuriに属するすべての診断をこのコレクションから削除します。#set(uri, undefined)と同じです。

パラメーター説明
uri: Uri

リソース識別子です。

戻り値説明
void

関連リソースを破棄し解放します。clearを呼び出します。

パラメーター説明
戻り値説明
void

このコレクションの各エントリを反復処理します。

パラメーター説明
callback: (uri: Uri, diagnostics: readonly Diagnostic[], collection: DiagnosticCollection) => any

各エントリに対して実行する関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用されるthisコンテキスト。

戻り値説明
void

指定されたリソースの診断を取得します。この呼び出しから返される診断配列は変更できません。

パラメーター説明
uri: Uri

リソース識別子です。

戻り値説明
readonly Diagnostic[]

診断の不変の配列、またはundefined

このコレクションに、指定されたリソースの診断が含まれているか確認します。

パラメーター説明
uri: Uri

リソース識別子です。

戻り値説明
boolean

このコレクションに指定されたリソースの診断がある場合、true

指定されたリソースに診断を割り当てます。そのリソースの既存の診断を置き換えます。

パラメーター説明
uri: Uri

リソース識別子です。

diagnostics: readonly Diagnostic[]

診断の配列、またはundefined

戻り値説明
void

このコレクション内の複数のリソースの診断を置き換えます。

Note: 同じURIの複数のタプルはマージされます。例えば、[[file1, [d1]], [file1, [d2]]][[file1, [d1, d2]]] と同等です。診断項目が [file1, undefined] のように undefined の場合、以前の診断はすべて削除されますが、以降の診断は削除されません。

パラメーター説明
entries: ReadonlyArray<[Uri, readonly Diagnostic[]]>

[[file1, [d1, d2]], [file2, [d3, d4, d5]]] のようなタプルの配列、または undefined

戻り値説明
void

DiagnosticRelatedInformation

診断に関連するメッセージとソースコードの場所を表します。これは、診断の原因となる、または関連するコードの場所を指すために使用されます。例えば、スコープ内でシンボルを重複させる場合など。

コンストラクタ

新しい関連診断情報オブジェクトを作成します。

パラメーター説明
location: Location

場所。

message: string

メッセージ。

戻り値説明
DiagnosticRelatedInformation

プロパティ

この関連診断情報の場所。

この関連診断情報のメッセージ。

DiagnosticSeverity

診断の重大度を表します。

列挙メンバー

言語規則または他の手段によって許可されていないもの。

疑わしいが許可されているもの。

問題ではないが、情報として知らせるべきもの。

より良い方法を提案するためのヒント。例えば、リファクタリングの提案など。

DiagnosticTag

診断のタイプに関する追加のメタデータ。

列挙メンバー

未使用または不要なコード。

このタグが付いた診断は、フェードアウトしてレンダリングされます。フェードの量は、"editorUnnecessaryCode.opacity" テーマカラーによって制御されます。例えば、"editorUnnecessaryCode.opacity": "#000000c0" はコードを75%の不透明度でレンダリングします。ハイコントラストテーマの場合、不要なコードをフェードアウトする代わりに、"editorUnnecessaryCode.border" テーマカラーを使用して下線を引きます。

非推奨または廃止されたコード。

このタグが付いた診断は、取り消し線付きでレンダリングされます。

Disposable

イベントリスニングやタイマーなど、リソースを解放できる型を表します。

静的

複数の disposable-like オブジェクトを1つに結合します。Disposable のインスタンスではないが dispose 関数を持つオブジェクトがある場合、このメソッドを使用できます。

パラメーター説明
...disposableLikes: Array<{dispose: () => any}>

少なくともdispose関数メンバーを持つオブジェクト。非同期のdispose関数は待機されません。

戻り値説明
Disposable

破棄時に、提供されたすべてのdisposableオブジェクトを破棄する新しいdisposableオブジェクトを返します。

コンストラクタ

破棄時に指定された関数を呼び出す新しい Disposable を作成します。

: 非同期関数は待機されません。

パラメーター説明
callOnDispose: () => any

何かを破棄する関数。

戻り値説明
Disposable

メソッド

このオブジェクトを破棄します。

パラメーター説明
戻り値説明
any

DocumentColorProvider

ドキュメントカラープロバイダーは、拡張機能とエディターでの色の選択および変更機能間の契約を定義します。

メソッド

色の表現を提供します。

パラメーター説明
color: Color

表示および挿入する色。

context: {document: TextDocument, range: Range}

追加情報を含むコンテキストオブジェクト

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<ColorPresentation[]>

色の表現の配列、またはそれに解決されるThenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

指定されたドキュメントの色を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<ColorInformation[]>

色情報の配列、またはそれに解決されるThenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

DocumentDropEdit

ドロップ時に適用される編集操作。

コンストラクタ

パラメーター説明
insertText: string | SnippetString

ドロップ位置に挿入するテキストまたはスニペット。

title?: string

編集を説明する人間が読めるラベル。

kind?: DocumentDropOrPasteEditKind

編集の種類

戻り値説明
DocumentDropEdit

プロパティ

ドロップ時に適用するオプションの追加編集。

ドロップ位置に挿入するテキストまたはスニペット。

編集の種類

編集を説明する人間が読めるラベル。

複数の編集の順序を制御します。このプロバイダーが編集に「譲る」場合、リストの下位に表示されます。

DocumentDropEditProvider<T>

リソースのテキストエディターへのドロップを処理するプロバイダー。

これにより、ユーザーはリソース(外部アプリからのリソースを含む)をエディターにドラッグアンドドロップできます。ファイルをドラッグアンドドロップする際、ユーザーはshiftキーを押しながらファイルをエディターにドロップして、開く代わりに挿入できます。editor.dropIntoEditor.enabledがオンである必要があります。

メソッド

ドラッグ&ドロップされたコンテンツをドキュメントに挿入する編集を提供します。

パラメーター説明
document: TextDocument

ドロップが発生したドキュメント。

position: Position

ドロップが発生したドキュメント内の位置。

dataTransfer: DataTransfer

ドラッグ&ドロップされているデータに関する情報を持つDataTransferオブジェクト。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T | T[]>

DocumentDropEdit、またはそれに解決されるThenable。結果がない場合は、undefinedまたはnullを返すことで通知できます。

編集が適用される前に、DocumentDropEdit.additionalEditを埋めるオプションのメソッド。

これは編集ごとに1回呼び出され、完全な編集の生成に時間がかかる場合に使用する必要があります。resolveはDocumentDropEdit.additionalEditの変更にのみ使用できます。

パラメーター説明
edit: T

解決するDocumentDropEdit

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T>

解決された編集、またはそれに解決されるThenable。与えられたeditを返しても構いません。結果が返されない場合、与えられたeditが使用されます。

DocumentDropEditProviderMetadata

DocumentDropEditProviderがどのように機能するかに関する追加のメタデータを提供します。

プロパティ

プロバイダーが処理できるDataTransferのMIMEタイプのリスト。

これは、image/pngのような正確なMIMEタイプ、またはimage/*のようなワイルドカードパターンになります。

エクスプローラーやワークベンチの他のツリービューからドロップされたリソースにはtext/uri-listを使用してください。

DataTransferファイルが存在する場合にプロバイダーが呼び出されるべきであることを示すには、filesを使用します。DataTransferFileエントリは、エディター外部(例えばオペレーティングシステム)からコンテンツをドロップした場合にのみ作成されることに注意してください。

プロバイダーがprovideDocumentDropEditsで返す可能性のある種類のリスト。

これは、特定の種類の編集が要求されたときにプロバイダーをフィルタリングするために使用されます。

DocumentDropOrPasteEditKind

DocumentDropEditまたはDocumentPasteEditを識別します

静的

基本的なテキスト編集のルート種類。

この種類は、ドキュメントに基本的なテキストを挿入する編集に使用されるべきです。良い例としては、クリップボードのテキストを貼り付け、同時に貼り付けられたテキストに基づいてファイル内のインポートを更新する編集です。これには、text.updateImports.someLanguageIdなどの種類を使用できます。

ほとんどのドロップ/ペースト編集は最終的にテキストを挿入しますが、これは冗長であるため、すべての編集の基本種類としてTextを使用すべきではありません。代わりに、挿入されるコンテンツの種類を記述する、より具体的な種類を使用する必要があります。例えば、編集によってMarkdownリンクが追加される場合、挿入されるコンテンツがテキストであっても、編集がMarkdown構文を挿入することを知ることがより重要であるため、markdown.linkを使用します。

テキストの挿入に加えて、ドキュメント内のインポートを更新する編集のルート種類。

コンストラクタ

代わりにDocumentDropOrPasteEditKind.Emptyを使用してください。

パラメーター説明
value: string
戻り値説明
DocumentDropOrPasteEditKind

プロパティ

種類の生文字列値。

メソッド

現在の種類にスコープを追加して新しい種類を作成します。

現在の種類は変更しません。

パラメーター説明
...parts: string[]
戻り値説明
DocumentDropOrPasteEditKind

otherがこのDocumentDropOrPasteEditKindのサブ種類であるかどうかをチェックします。

例えば、種類"text.plain""text.plain""text.plain.list"を含みますが、"text""unicorn.text.plain"は含みません。

パラメーター説明
other: DocumentDropOrPasteEditKind

確認する種類。

戻り値説明
boolean

この種類がotherと交差するかどうかをチェックします。

例えば、種類"text.plain"text"text.plain""text.plain.list"と交差しますが、"unicorn""textUnicorn.plain"とは交差しません。

パラメーター説明
other: DocumentDropOrPasteEditKind

確認する種類。

戻り値説明
boolean

DocumentFilter

ドキュメントフィルターは、言語、リソースのスキーム、またはパスに適用されるグロブパターンなど、さまざまなプロパティによってドキュメントを示します。

ディスク上のTypeScriptファイルに適用される言語フィルター

{ language: 'typescript', scheme: 'file' }

すべての package.json パスに適用される言語フィルター

{ language: 'json', pattern: '**/package.json' }

プロパティ

typescriptのような言語ID。

jupyter-notebookのようなノートブックの種類。これにより、セルドキュメントが属するノートブックの種類を絞り込むことができます。

: notebookType プロパティを設定すると、schemepattern の解釈方法が変わります。設定すると、これらはドキュメント URI ではなく、ノートブック URI に対して評価されます。

まだ保存されていない (untitled) Jupyter ノートブック内の Python ドキュメントに一致させる

{ language: 'python', notebookType: 'jupyter-notebook', scheme: 'untitled' }

ドキュメントの絶対パスに一致するglobパターンワークスペースフォルダーにドキュメントをフィルタリングするには、相対パターンを使用します。

fileuntitledのようなUri スキーム

DocumentFormattingEditProvider

ドキュメント整形プロバイダーインターフェースは、拡張機能と整形機能間の契約を定義します。

メソッド

ドキュメント全体に対して整形編集を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

options: FormattingOptions

整形を制御するオプション。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<TextEdit[]>

一連のテキスト編集、またはそれに解決されるThenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

DocumentHighlight

ドキュメントハイライトは、特に注意を要するテキストドキュメント内の範囲です。通常、ドキュメントハイライトは、その範囲の背景色を変更することによって視覚化されます。

コンストラクタ

新しいドキュメントハイライトオブジェクトを作成します。

パラメーター説明
range: Range

ハイライトが適用される範囲。

kind?: DocumentHighlightKind

ハイライトの種類。デフォルトはtextです。

戻り値説明
DocumentHighlight

プロパティ

ハイライトの種類。デフォルトはtextです。

このハイライトが適用される範囲。

DocumentHighlightKind

ドキュメントハイライトの種類。

列挙メンバー

テキストの出現箇所。

変数の読み取りなど、シンボルの読み取りアクセス。

変数への書き込みなど、シンボルの書き込みアクセス。

DocumentHighlightProvider

ドキュメントハイライトプロバイダーインターフェースは、拡張機能と単語ハイライト機能間の契約を定義します。

メソッド

変数のすべての出現箇所や関数のすべての終了点など、一連のドキュメントハイライトを提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<DocumentHighlight[]>

ドキュメントハイライトの配列、またはそれに解決されるThenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

ドキュメントリンクは、別のテキストドキュメントやウェブサイトなど、内部または外部リソースにリンクするテキストドキュメント内の範囲です。

コンストラクタ

新しいドキュメントリンクを作成します。

パラメーター説明
range: Range

ドキュメントリンクが適用される範囲。空であってはなりません。

target?: Uri

ドキュメントリンクが指すURI。

戻り値説明
DocumentLink

プロパティ

このリンクが適用される範囲。

このリンクが指すURI。

このリンクにカーソルを合わせたときのツールチップテキスト。

ツールチップが提供されている場合、{0} (ctrl + click) のようにリンクをトリガーする方法が記載された文字列で表示されます。具体的な手順は、OS、ユーザー設定、ローカライズによって異なります。

DocumentLinkProvider<T>

ドキュメントリンクプロバイダーは、拡張機能とエディターでのリンク表示機能間の契約を定義します。

メソッド

指定されたドキュメントのリンクを提供します。エディターには、http(s)およびfileリンクを検出するデフォルトのプロバイダーが付属していることに注意してください。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T[]>

ドキュメントリンクの配列、またはそれに解決されるThenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

リンクがUIで選択されたときに、そのターゲットを埋めます。プロバイダーはこのメソッドを実装し、provideDocumentLinksメソッドから不完全なリンク(ターゲットなし)を返すことができます。これは多くの場合、パフォーマンスの向上に役立ちます。

パラメーター説明
link: T

解決されるリンク。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T>

DocumentPasteEdit

ペースト操作を適用する編集。

コンストラクタ

新しいペースト編集を作成します。

パラメーター説明
insertText: string | SnippetString

貼り付けられた位置に挿入するテキストまたはスニペット。

title: string

編集を説明する人間が読めるラベル。

kind: DocumentDropOrPasteEditKind

編集の種類

戻り値説明
DocumentPasteEdit

プロパティ

貼り付け時に適用するオプションの追加編集。

貼り付けられた位置に挿入するテキストまたはスニペット。

編集により高度な挿入ロジックが必要な場合は、これを空の文字列に設定し、代わりに追加の編集を提供してください。

編集の種類

編集を説明する人間が読めるラベル。

複数の貼り付け編集が適用される可能性のある場合の順序を制御します。

この編集が別の編集に「譲る」場合、ユーザーに表示される貼り付け可能な編集のリストの下位に表示されます。

DocumentPasteEditContext

貼り付け操作に関する追加情報。

プロパティ

返却する貼り付け編集の要求された種類。

PasteAsによって明示的な種類が要求された場合、プロバイダーは要求された種類の編集を生成する際により柔軟に対応することが推奨されます。

貼り付け編集が要求された理由。

DocumentPasteEditProvider<T>

ユーザーがTextDocument内でコピーまたは貼り付けを行ったときに呼び出されるプロバイダー。

メソッド

ユーザーがテキストエディターからコピーした後で呼び出されるオプションのメソッド。

これにより、プロバイダーはコピーされたテキストに関するメタデータをDataTransferに添付できます。このデータ転送は、provideDocumentPasteEditsでプロバイダーに返されます。

現在、DataTransferへの変更は現在のエディターウィンドウに分離されていることに注意してください。つまり、追加されたメタデータは他のエディターウィンドウや他のアプリケーションからは見ることができません。

パラメーター説明
document: TextDocument

コピーが行われたテキストドキュメント。

ranges: readonly Range[]

ドキュメント内でコピーされる範囲。

dataTransfer: DataTransfer

コピーに関連付けられたデータ転送。このオブジェクトには、provideDocumentPasteEditsで後で使用するために追加の値を保存できます。このオブジェクトは、このメソッドの実行中のみ有効です。

token: CancellationToken

キャンセルトークン。

戻り値説明
void | Thenable<void>

dataTransferへのすべての変更が完了したときに解決される、オプションのthenable。

ユーザーがテキストエディターに貼り付ける前に呼び出されます。

返された編集は、標準の貼り付け動作を置き換えることができます。

パラメーター説明
document: TextDocument

貼り付け先のドキュメント。

ranges: readonly Range[]

ドキュメント内で貼り付ける範囲。

dataTransfer: DataTransfer

貼り付けに関連付けられたデータ転送。このオブジェクトは、貼り付け操作の期間中のみ有効です。

context: DocumentPasteEditContext

貼り付けのための追加コンテキスト。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T[]>

貼り付けを適用できる潜在的な編集のセット。一度に適用されるDocumentPasteEditは1つだけです。すべてのプロバイダーから複数の編集が返された場合、最初の編集が自動的に適用され、ユーザーが他の編集に切り替えられるウィジェットが表示されます。

編集が適用される前に、DocumentPasteEdit.additionalEditを埋めるオプションのメソッド。

これは編集ごとに1回呼び出され、完全な編集の生成に時間がかかる場合に利用すべきです。resolveはDocumentPasteEdit.insertTextまたはDocumentPasteEdit.additionalEditの変更にのみ使用できます。

パラメーター説明
pasteEdit: T

解決するDocumentPasteEdit

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T>

解決された貼り付け編集、またはそれに解決されるThenable。与えられたpasteEditを返しても構いません。結果が返されない場合、与えられたpasteEditが使用されます。

DocumentPasteProviderMetadata

DocumentPasteEditProviderがどのように機能するかに関する追加のメタデータを提供します。

プロパティ

prepareDocumentPasteがコピー時に追加する可能性のあるMIMEタイプ。

provideDocumentPasteEditsが呼び出されるべきMIMEタイプ。

これは、image/pngのような正確なMIMEタイプ、またはimage/*のようなワイルドカードパターンになります。

エクスプローラーやワークベンチの他のツリービューからドロップされたリソースにはtext/uri-listを使用してください。

DataTransferファイルが存在する場合にプロバイダーが呼び出されるべきであることを示すには、filesを使用します。DataTransferFileエントリは、エディター外部(例えばオペレーティングシステム)からコンテンツを貼り付けた場合にのみ作成されることに注意してください。

プロバイダーがprovideDocumentPasteEditsで返す可能性のある種類のリスト。

これは、特定の種類の編集が要求されたときにプロバイダーをフィルタリングするために使用されます。

DocumentPasteTriggerKind

貼り付け編集が要求された理由。

列挙メンバー

通常の貼り付け操作の一部として貼り付けが要求されました。

ユーザーによって「名前を付けて貼り付け」コマンドで貼り付けが要求されました。

DocumentRangeFormattingEditProvider

ドキュメント整形プロバイダーインターフェースは、拡張機能と整形機能間の契約を定義します。

メソッド

ドキュメント内の範囲に対して書式設定の編集を提供します。

与えられた範囲はヒントであり、プロバイダーはより小さいまたはより大きい範囲をフォーマットすることを決定できます。通常、これは範囲の開始と終了を完全な構文ノードに調整することで行われます。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

range: Range

フォーマットされるべき範囲。

options: FormattingOptions

整形を制御するオプション。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<TextEdit[]>

一連のテキスト編集、またはそれに解決されるThenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

ドキュメント内の複数の範囲に対して書式設定の編集を提供します。

この関数はオプションですが、変更された範囲のみをフォーマットする場合や、多数の選択範囲をフォーマットする場合に、フォーマッタがより高速に動作することを可能にします。

与えられた範囲はヒントであり、プロバイダーはより小さいまたはより大きい範囲をフォーマットすることを決定できます。通常、これは範囲の開始と終了を完全な構文ノードに調整することで行われます。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

ranges: Range[]

フォーマットされるべき範囲。

options: FormattingOptions

整形を制御するオプション。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<TextEdit[]>

一連のテキスト編集、またはそれに解決されるThenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

DocumentRangeSemanticTokensProvider

ドキュメント範囲セマンティックトークンプロバイダーインターフェースは、拡張機能とセマンティックトークン間のコントラクトを定義します。

メソッド

こちらも参照 provideDocumentSemanticTokens

パラメーター説明
document: TextDocument
range: Range
token: CancellationToken
戻り値説明
ProviderResult<SemanticTokens>

DocumentSelector

言語セレクターは、1つまたは複数の言語識別子と言語フィルターの組み合わせです。

:単なる言語識別子であるドキュメントセレクターは、ディスクに保存されていないドキュメントでさえも*すべて*のドキュメントを選択します。関連する「ファイル」を解決する必要がない場合など、追加のコンテキストなしで機能が動作する場合にのみ、そのようなセレクターを使用してください。

let sel: DocumentSelector = { scheme: 'file', language: 'typescript' };

DocumentSemanticTokensProvider

ドキュメントセマンティックトークンプロバイダーインターフェースは、拡張機能とセマンティックトークン間のコントラクトを定義します。

イベント

このプロバイダーからのセマンティックトークンが変更されたことを通知するオプションのイベント。

メソッド

ファイル内のトークンは、整数の配列として表現されます。各トークンの位置は、その前のトークンに対して相対的に表現されます。これは、ファイル内で編集が行われた際に、ほとんどのトークンが相互に安定しているためです。


簡単に言えば、各トークンは5つの整数で表現され、ファイル内の特定のトークンiは以下の配列インデックスで構成されます。

  • インデックス5*i - deltaLine: トークンの行番号 (前のトークンに対して相対的)
  • インデックス5*i+1 - deltaStart: トークンの開始文字 (前のトークンに対して相対的。同じ行にある場合は0または前のトークンの開始位置に対して相対的)
  • インデックス5*i+2 - length: トークンの長さ。トークンは複数行にまたがることはできません。
  • インデックス5*i+3 - tokenType: SemanticTokensLegend.tokenTypesで検索されます。現在、tokenTypeは65536未満であることを求めます。
  • インデックス5*i+4 - tokenModifiers: 各セットビットはSemanticTokensLegend.tokenModifiersで検索されます。

トークンのエンコード方法

以下は、uint32配列に3つのトークンを持つファイルをエンコードする例です。

   { line: 2, startChar:  5, length: 3, tokenType: "property",  tokenModifiers: ["private", "static"] },
   { line: 2, startChar: 10, length: 4, tokenType: "type",      tokenModifiers: [] },
   { line: 5, startChar:  2, length: 7, tokenType: "class",     tokenModifiers: [] }
  1. まず、凡例を考案する必要があります。この凡例は事前に提供され、考えられるすべてのトークンタイプを捉える必要があります。この例では、プロバイダーを登録する際に渡す必要がある以下の凡例を選択します。
   tokenTypes: ['property', 'type', 'class'],
   tokenModifiers: ['private', 'static']
  1. 最初の変換ステップは、凡例を使用してtokenTypetokenModifiersを整数としてエンコードすることです。トークンタイプはインデックスで検索されるため、tokenTypeの値が1tokenTypes[1]を意味します。複数のトークン修飾子はビットフラグを使用して設定できるため、tokenModifierの値が3は、ビット0と1が設定されているため、最初にバイナリ0b00000011と見なされ、[tokenModifiers[0], tokenModifiers[1]]を意味します。この凡例を使用すると、トークンは次のようになります。
   { line: 2, startChar:  5, length: 3, tokenType: 0, tokenModifiers: 3 },
   { line: 2, startChar: 10, length: 4, tokenType: 1, tokenModifiers: 0 },
   { line: 5, startChar:  2, length: 7, tokenType: 2, tokenModifiers: 0 }
  1. 次のステップは、ファイル内の各トークンを前のトークンに対して相対的に表現することです。この場合、2番目のトークンは最初のトークンと同じ行にあるため、2番目のトークンのstartCharは最初のトークンのstartCharに対して相対的になり、10 - 5となります。3番目のトークンは2番目のトークンとは異なる行にあるため、3番目のトークンのstartCharは変更されません。
   { deltaLine: 2, deltaStartChar: 5, length: 3, tokenType: 0, tokenModifiers: 3 },
   { deltaLine: 0, deltaStartChar: 5, length: 4, tokenType: 1, tokenModifiers: 0 },
   { deltaLine: 3, deltaStartChar: 2, length: 7, tokenType: 2, tokenModifiers: 0 }
  1. 最後に、最後のステップは、トークンごとに5つのフィールドを単一の配列にインライン化することです。これはメモリに優しい表現です。
   // 1st token,  2nd token,  3rd token
   [  2,5,3,0,3,  0,5,4,1,0,  3,2,7,2,0 ]

こちらも参照 SemanticTokensBuilder (整数としてトークンをエンコードするためのヘルパー)。:編集を行う際、エディターがセマンティックトークンプロバイダーを呼び出すと決定するまで、複数の編集が行われる可能性があります。:プロバイダーが一時的にセマンティックトークンを計算できない場合、「Busy」というメッセージのエラーをスローすることでこれを示すことができます。

パラメーター説明
document: TextDocument
token: CancellationToken
戻り値説明
ProviderResult<SemanticTokens>

ファイル内のすべてのトークンを常に返す代わりに、DocumentSemanticTokensProviderがこのメソッド(provideDocumentSemanticTokensEdits)を実装し、以前に提供されたセマンティックトークンへの増分更新を返すことが可能です。


ドキュメントが変更されたときにトークンがどのように変化するか

provideDocumentSemanticTokensが以前に以下のセマンティックトークンを返したと仮定します。

   // 1st token,  2nd token,  3rd token
   [  2,5,3,0,3,  0,5,4,1,0,  3,2,7,2,0 ]

また、いくつかの編集後、ファイル内の新しいセマンティックトークンは次のようになります。

   // 1st token,  2nd token,  3rd token
   [  3,5,3,0,3,  0,5,4,1,0,  3,2,7,2,0 ]

これらの新しいトークンを、以前のトークンに適用された編集として表現することが可能です。

   [  2,5,3,0,3,  0,5,4,1,0,  3,2,7,2,0 ] // old tokens
   [  3,5,3,0,3,  0,5,4,1,0,  3,2,7,2,0 ] // new tokens

   edit: { start:  0, deleteCount: 1, data: [3] } // replace integer at offset 0 with 3

:プロバイダーがSemanticTokensEditsを計算できない場合、「諦めて」ドキュメント内のすべてのトークンを再度返すことができます。SemanticTokensEdits内のすべての編集は、古い整数配列内のインデックスを含んでいるため、すべて以前の結果状態を参照します。

パラメーター説明
document: TextDocument
previousResultId: string
token: CancellationToken
戻り値説明
ProviderResult<SemanticTokens | SemanticTokensEdits>

DocumentSymbol

ドキュメントに表示される変数、クラス、インターフェースなどのプログラミング構成要素を表します。ドキュメントシンボルは階層化でき、定義を囲む範囲と、識別子の範囲など、最も関心のある範囲を指す2つの範囲を持ちます。

コンストラクタ

新しいドキュメントシンボルを作成します。

パラメーター説明
name: string

シンボルの名前。

detail: string

シンボルの詳細。

kind: SymbolKind

シンボルの種類。

range: Range

シンボルの完全な範囲。

selectionRange: Range

表示されるべき範囲。

戻り値説明
DocumentSymbol

プロパティ

このシンボルの子。例:クラスのプロパティ。

このシンボルの詳細。例:関数のシグネチャ。

このシンボルの種類。

このシンボルの名前。

このシンボルを囲む範囲で、先頭/末尾の空白は含まれませんが、コメントやコードなどその他すべてが含まれます。

このシンボルが選択されたときに選択されて表示されるべき範囲。例:関数の名前。rangeに含まれている必要があります。

このシンボルのタグ。

DocumentSymbolProvider

ドキュメントシンボルプロバイダーインターフェースは、拡張機能とシンボルへ移動機能間のコントラクトを定義します。

メソッド

指定されたドキュメントのシンボル情報を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<DocumentSymbol[] | SymbolInformation[]>

ドキュメントハイライトの配列、またはそれに解決されるThenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

DocumentSymbolProviderMetadata

ドキュメントシンボルプロバイダーに関するメタデータ。

プロパティ

1つのドキュメントに複数のアウトラインツリーが表示される場合に表示される人間が読める文字列。

EndOfLine

ドキュメント内の行末文字シーケンスを表します。

列挙メンバー

改行文字\n

キャリッジリターンと改行の組み合わせ\r\nシーケンス。

EnterAction

Enterキーを押したときの動作を記述します。

プロパティ

新しい行の後、およびインデントの後に追記されるテキストを記述します。

インデントの動作を記述します。

新しい行のインデントから削除する文字数を記述します。

EnvironmentVariableCollection

拡張機能がプロセス環境に適用できる変異のコレクション。

プロパティ

環境変数コレクションの説明。これはUIでの変更を説明するために使用されます。

コレクションがワークスペースにキャッシュされ、ウィンドウのリロード全体でターミナルに適用されるかどうか。trueの場合、ウィンドウがリロードされたときなどにコレクションはすぐにアクティブになります。さらに、このAPIは、キャッシュされたバージョンが存在する場合はそれを返します。拡張機能がアンインストールされた場合、またはコレクションがクリアされた場合、コレクションは無効になります。デフォルトはtrueです。

メソッド

環境変数に値を追加します。

拡張機能は1つの変数に対して1つの変更のみを行うことができるため、これはreplace、append、またはprependへの以前の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

追加する変数。

value: string

変数に追加する値。

options?: EnvironmentVariableMutatorOptions

ミューテーターに適用されるオプション。オプションが提供されていない場合、デフォルトは{ applyAtProcessCreation: true }になります。

戻り値説明
void

このコレクションからすべてのミューテーターをクリアします。

パラメーター説明
戻り値説明
void

変数に対するこのコレクションのミューテーターを削除します。

パラメーター説明
variable: string

ミューテーターを削除する変数。

戻り値説明
void

このコレクション内の各ミューテーターを反復処理します。

パラメーター説明
callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any

各エントリに対して実行する関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用されるthisコンテキスト。

戻り値説明
void

このコレクションが変数に適用するミューテーターがある場合、それを取得します。

パラメーター説明
variable: string

ミューテーターを取得する変数。

戻り値説明
EnvironmentVariableMutator

環境変数に値を前置します。

拡張機能は1つの変数に対して1つの変更のみを行うことができるため、これはreplace、append、またはprependへの以前の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

前置する変数。

value: string

変数に前置する値。

options?: EnvironmentVariableMutatorOptions

ミューテーターに適用されるオプション。オプションが提供されていない場合、デフォルトは{ applyAtProcessCreation: true }になります。

戻り値説明
void

環境変数を値で置き換えます。

拡張機能は1つの変数に対して1つの変更のみを行うことができるため、これはreplace、append、またはprependへの以前の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

置き換える変数。

value: string

変数を置き換える値。

options?: EnvironmentVariableMutatorOptions

ミューテーターに適用されるオプション。オプションが提供されていない場合、デフォルトは{ applyAtProcessCreation: true }になります。

戻り値説明
void

EnvironmentVariableMutator

環境変数に適用される変異のタイプとその値。

プロパティ

ミューテーターに適用されるオプション。

変数に発生する変異のタイプ。

変数に使用する値。

EnvironmentVariableMutatorOptions

ミューテーターに適用されるオプション。

プロパティ

プロセスが作成される直前に環境に適用します。デフォルトはfalseです。

シェル統合スクリプト内の環境に適用します。シェル統合が無効になっているか、何らかの理由で機能しない場合、これはミューテーターを*適用しない*ことに注意してください。デフォルトはfalseです。

EnvironmentVariableMutatorType

環境変数に適用できる変異のタイプ。

列挙メンバー

変数の既存の値を置き換えます。

変数の既存の値の末尾に追加します。

変数の既存の値の先頭に前置します。

EnvironmentVariableScope

環境変数コレクションが適用されるスコープオブジェクト。

プロパティ

コレクションを取得する特定のワークスペースフォルダー。

EvaluatableExpression

EvaluatableExpressionは、アクティブなデバッガーまたはランタイムによって評価できるドキュメント内の式を表します。この評価の結果はツールチップのようなウィジェットに表示されます。範囲のみが指定された場合、式は基になるドキュメントから抽出されます。オプションの式を使用して、抽出された式をオーバーライドできます。この場合、範囲は依然としてドキュメント内の範囲を強調表示するために使用されます。

コンストラクタ

新しい評価可能な式オブジェクトを作成します。

パラメーター説明
range: Range

評価可能な式が抽出される基となるドキュメント内の範囲。

expression?: string

指定された場合、抽出された式をオーバーライドします。

戻り値説明
EvaluatableExpression

プロパティ

EvaluatableExpressionProvider

評価可能式プロバイダーインターフェースは、拡張機能とデバッグホバー間のコントラクトを定義します。このコントラクトでは、プロバイダーはドキュメント内の指定された位置に対して評価可能な式を返し、エディターはアクティブなデバッグセッションでこの式を評価し、デバッグホバーに結果を表示します。

メソッド

指定されたドキュメントと位置に対して評価可能な式を提供します。エディターはアクティブなデバッグセッションでこの式を評価し、デバッグホバーに結果を表示します。式は、基になるドキュメント内の範囲によって暗黙的に指定することも、明示的に式を返すことによって指定することもできます。

パラメーター説明
document: TextDocument

デバッグホバーが表示されるドキュメント。

position: Position

デバッグホバーが表示されるドキュメント内の行と文字の位置。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<EvaluatableExpression>

EvaluatableExpressionまたはそれに解決されるthenable。結果がない場合は、undefinedまたはnullを返すことで示されます。

Event<T>

型付きイベントを表します。

リスナー関数を引数として呼び出すことで購読できるイベントを表す関数。

item.onDidChange(function(event) {
  console.log('Event happened: ' + event);
});

リスナー関数を引数として呼び出すことで購読できるイベントを表す関数。

パラメーター説明
listener: (e: T) => any

イベントが発生したときにリスナー関数が呼び出されます。

thisArgs?: any

イベントリスナーを呼び出すときに使用されるthis引数。

disposables?: Disposable[]

Disposableが追加される配列。

戻り値説明
Disposable

イベントリスナーを購読解除するDisposable。

EventEmitter<T>

イベントエミッターは、他のユーザーが購読できるイベントを作成および管理するために使用できます。1つのエミッターは常に1つのイベントを所有します。

このクラスは、拡張機能内からイベントを提供したい場合、例えばTextDocumentContentProvider内や、他の拡張機能にAPIを提供する場合などに使用してください。

コンストラクタ

パラメーター説明
戻り値説明
EventEmitter<T>

プロパティ

イベントリスナーが購読できるイベント。

メソッド

このオブジェクトを破棄し、リソースを解放します。

パラメーター説明
戻り値説明
void

イベントのすべての購読者に通知します。1つ以上のリスナーの失敗によって、この関数呼び出しが失敗することはありません。

パラメーター説明
data: T

イベントオブジェクト。

戻り値説明
void

Extension<T>

拡張機能を表します。

Extensionのインスタンスを取得するには、getExtensionを使用します。

プロパティ

この拡張機能によってエクスポートされたパブリックAPI(activateの戻り値)。この拡張機能がアクティブ化される前にこのフィールドにアクセスすることは無効なアクションです。

拡張機能の種類は、拡張機能がUIが実行される場所で実行されるか、リモート拡張機能ホストが実行される場所で実行されるかを記述します。拡張機能の種類は拡張機能のpackage.jsonファイルで定義されますが、remote.extensionKind設定を通じてさらに絞り込むこともできます。リモート拡張機能ホストが存在しない場合、値はExtensionKind.UIです。

この拡張機能を含むディレクトリの絶対ファイルパス。Extension.extensionUri.fsPathの省略表記(URIスキームに依存しません)。

拡張機能を含むディレクトリのURI。

publisher.name形式の正規の拡張機能識別子。

拡張機能がアクティブ化されている場合true

拡張機能のpackage.jsonの解析された内容。

メソッド

この拡張機能をアクティブ化し、そのパブリックAPIを返します。

パラメーター説明
戻り値説明
Thenable<T>

この拡張機能がアクティブ化されたときに解決されるPromise。

ExtensionContext

拡張コンテキストは、拡張機能にプライベートなユーティリティのコレクションです。

ExtensionContextのインスタンスは、拡張機能のactivate呼び出しの最初のパラメーターとして提供されます。

プロパティ

このワークスペースの拡張機能のグローバル環境変数コレクションを取得し、ターミナル環境変数に変更を適用できるようにします。

現在のExtensionインスタンス。

拡張機能が実行されているモード。考えられる値とシナリオについては、ExtensionModeを参照してください。

拡張機能を含むディレクトリの絶対ファイルパス。ExtensionContext.extensionUri.fsPathの省略表記(URIスキームに依存しません)。

拡張機能を含むディレクトリのURI。

現在開いているワークスペースとは独立した状態を格納するmementoオブジェクト。

拡張機能がグローバル状態を格納できる絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。

キー値データを格納するには、globalStateを使用します。

拡張機能がグローバル状態を格納できるディレクトリのURI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。

キー値データを格納するには、globalStateを使用します。

こちらも参照 workspace.fs (URIからファイルやフォルダーを読み書きする方法については)。

この拡張機能が言語モデルをどのように使用できるかに関する情報を保持するオブジェクト。

こちらも参照 LanguageModelChat.sendRequest

拡張機能がログファイルを作成できるディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。

  • 非推奨 - 代わりにlogUriを使用してください。

拡張機能がログファイルを作成できるディレクトリのURI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。

こちらも参照 workspace.fs (URIからファイルやフォルダーを読み書きする方法については)。

現在開いているワークスペースとは独立した状態を格納するシークレットストレージオブジェクト。

拡張機能がプライベートな状態を格納できるワークスペース固有のディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。

キー値データを格納するには、workspaceStateまたはglobalStateを使用します。

  • 非推奨 - 代わりにstorageUriを使用してください。

拡張機能がプライベートな状態を格納できるワークスペース固有のディレクトリのURI。ディレクトリは存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。ワークスペースもフォルダーも開かれていない場合、値はundefinedです。

キー値データを格納するには、workspaceStateまたはglobalStateを使用します。

こちらも参照 workspace.fs (URIからファイルやフォルダーを読み書きする方法については)。

Disposableを追加できる配列。この拡張機能が非アクティブ化されると、Disposableは破棄されます。

:非同期のdispose関数は待機されません。

現在開いているワークスペースのコンテキストで状態を格納するmementoオブジェクト。

メソッド

拡張機能に含まれるリソースの絶対パスを取得します。

:絶対URIはUri.joinPathextensionUriを介して構築できます(例:vscode.Uri.joinPath(context.extensionUri, relativePath);)。

パラメーター説明
relativePath: string

拡張機能に含まれるリソースへの相対パス。

戻り値説明
string

リソースの絶対パス。

ExtensionKind

リモートウィンドウでは、拡張機能の種類は、拡張機能がUI(ウィンドウ)が実行される場所で実行されるか、リモートで実行されるかを記述します。

列挙メンバー

UIが実行される場所で拡張機能が実行されます。

リモート拡張機能ホストが実行される場所で拡張機能が実行されます。

ExtensionMode

ExtensionModeはExtensionContextで提供され、特定の拡張機能が実行されているモードを示します。

列挙メンバー

拡張機能がエディターに通常インストールされています(例:マーケットプレイスまたはVSIXから)。

エディター起動時に提供された--extensionDevelopmentPathから拡張機能が実行されています。

拡張機能が--extensionTestsPathから実行されており、拡張機能ホストが単体テストを実行しています。

ExtensionTerminalOptions

仮想プロセス端末が使用すべきオプションを記述する値オブジェクト。

プロパティ

ターミナルのアイコンThemeColor。最高のコントラストとテーマ間の一貫性のために、標準のterminal.ansi*テーマキーが推奨されます。

ターミナルのアイコンパスまたはThemeIcon

再起動およびリロード時のデフォルトのターミナル永続化をオプトアウトします。これは、terminal.integrated.enablePersistentSessionsが有効になっている場合にのみ有効になります。

UIでターミナルを表すために使用される人間が読める文字列。

拡張機能がターミナルを制御できるようにするPseudoterminalの実装。

FileChangeEvent

ファイル変更を通知するためにファイルシステムプロバイダーが使用しなければならないイベント。

プロパティ

変更の種類。

変更されたファイルのURI。

FileChangeType

ファイル変更タイプの列挙。

列挙メンバー

ファイルの内容またはメタデータが変更されました。

ファイルが作成されました。

ファイルが削除されました。

FileCoverage

ファイルのコードカバレッジメタデータを含みます。

静的

カバレッジ詳細から入力されたカウントを持つFileCoverageインスタンスを作成します。

パラメーター説明
uri: Uri

カバレッジ対象ファイルのURI

details: readonly FileCoverageDetail[]
戻り値説明
FileCoverage

コンストラクタ

パラメーター説明
uri: Uri

カバレッジ対象ファイルのURI

statementCoverage: TestCoverageCount

ステートメントカバレッジ情報。レポーターがステートメントカバレッジ情報を提供しない場合、代わりにこれをラインカバレッジを表すために使用できます。

branchCoverage?: TestCoverageCount

ブランチカバレッジ情報

declarationCoverage?: TestCoverageCount

宣言カバレッジ情報

includesTests?: TestItem[]

このカバレッジレポートに含まれるテストケース。FileCoverage.includesTestsを参照。

戻り値説明
FileCoverage

プロパティ

ブランチカバレッジ情報。

宣言カバレッジ情報。レポーターと言語によっては、関数、メソッド、名前空間などのタイプを指す場合があります。

このファイルでカバレッジを生成したテストケースのリスト。設定されている場合、詳細なカバレッジ情報を取得するためには、TestRunProfile.loadDetailedCoverageForTestも定義されている必要があります。

ステートメントカバレッジ情報。レポーターがステートメントカバレッジ情報を提供しない場合、代わりにこれをラインカバレッジを表すために使用できます。

ファイルURI。

FileCoverageDetail

TestRunProfile.loadDetailedCoverageから返されるカバレッジ詳細。

FileCreateEvent

ファイルが作成された後に発生するイベント。

プロパティ

作成されたファイル。

FileDecoration

ファイルのデコレーションは、ファイルと共にレンダリングできるメタデータを表します。

コンストラクタ

新しいデコレーションを作成します。

パラメーター説明
badge?: string

デコレーションを表す文字。

tooltip?: string

デコレーションのツールチップ。

color?: ThemeColor

デコレーションの色。

戻り値説明
FileDecoration

プロパティ

このデコレーションを表す非常に短い文字列。

このデコレーションの色。

このデコレーションが親に伝播されるべきであることを示すフラグ。

このデコレーションの人間が読めるツールチップ。

FileDecorationProvider

デコレーションプロバイダーインターフェースは、拡張機能とファイルのデコレーション間のコントラクトを定義します。

イベント

1つまたは複数のファイルのデコレーションが変更されたことを通知するオプションのイベント。

:このイベントは、子に関する情報を伝播するために使用されるべきです。

こちらも参照 EventEmitter

メソッド

指定されたURIのデコレーションを提供します。

:この関数は、ファイルがUIにレンダリングされるときにのみ呼び出されます。これは、子孫から上位に伝播するデコレーションは、onDidChangeFileDecorationsイベントを介してエディターに通知されなければならないことを意味します。

パラメーター説明
uri: Uri

デコレーションを提供するファイルのURI。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<FileDecoration>

デコレーション、またはそれに解決されるthenable。

FileDeleteEvent

ファイルが削除された後に発生するイベント。

プロパティ

削除されたファイル。

FilePermission

ファイルのアクセス許可。

列挙メンバー

ファイルは読み取り専用です。

注:isReadonly: trueオプションで登録されたFileSystemProviderからのすべてのFileStatは、FilePermission.Readonlyが設定されているかのように暗黙的に処理されます。その結果、一部のFileStatが読み取り専用ではない、読み取り専用のファイルシステムプロバイダーを登録することはできません。

FileRenameEvent

ファイルの名前が変更された後に発生するイベント。

プロパティ

名前が変更されたファイル。

FileStat

FileStat型はファイルに関するメタデータを表します。

プロパティ

1970年1月1日00:00:00 UTCからの経過ミリ秒単位での作成タイムスタンプ。

1970年1月1日00:00:00 UTCからの経過ミリ秒単位での変更タイムスタンプ。

注:ファイルが変更された場合、以前の値から進んだ更新されたmtimeを提供することが重要です。そうしないと、たとえばエディターで更新されたファイルの内容が表示されない最適化が行われる可能性があります。

ファイルのアクセス許可。例:ファイルが読み取り専用であるかどうか。

注:この値はビットマスクである可能性があります。例:FilePermission.Readonly | FilePermission.Other

バイト単位のサイズ。

注:ファイルが変更された場合、更新されたsizeを提供することが重要です。そうしないと、たとえばエディターで更新されたファイルの内容が表示されない最適化が行われる可能性があります。

ファイルの種類。例:通常ファイル、ディレクトリ、またはファイルへのシンボリックリンク。

注:この値はビットマスクである可能性があります。例:FileType.File | FileType.SymbolicLink

FileSystem

ファイルシステムインターフェースは、エディターの組み込みおよび寄稿されたファイルシステムプロバイダーを公開します。これにより、拡張機能はローカルディスクからのファイルだけでなく、リモート拡張機能ホストやFTPサーバーなどのリモートの場所からのファイルも操作できます。

:このインターフェースのインスタンスはworkspace.fsとして利用できます。

メソッド

ファイルまたはフォルダーをコピーします。

パラメーター説明
source: Uri

既存のファイル。

target: Uri

宛先場所。

options?: {overwrite: boolean}

既存のファイルを上書きするかどうかを定義します。

戻り値説明
Thenable<void>

新しいディレクトリを作成します (注:新しいファイルはwrite呼び出しを介して作成されます)。

:存在しないディレクトリは自動的に作成されます。例:この呼び出しはmkdirpセマンティクスを持ちます。

パラメーター説明
uri: Uri

新しいフォルダーのURI。

戻り値説明
Thenable<void>

ファイルを削除します。

パラメーター説明
uri: Uri

削除するリソースです。

options?: {recursive: boolean, useTrash: boolean}

ごみ箱を使用するか、およびフォルダーの削除を再帰的に行うかを定義します。

戻り値説明
Thenable<void>

指定されたファイルシステムがファイルの書き込みをサポートしているかを確認します。

留意点として、ファイルシステムが書き込みをサポートしているからといって、書き込みが常に成功するとは限りません。ファイルの書き込みを妨げるアクセス許可の問題やその他のエラーが発生する可能性があります。

パラメーター説明
scheme: string

ファイルシステムのスキーム。例えば、filegit です。

戻り値説明
boolean

ファイルシステムが書き込みをサポートしている場合は true、サポートしていない場合(読み取り専用の場合)は false、エディターがファイルシステムについて認識していない場合は undefined です。

ディレクトリのすべてのエントリを取得します。

パラメーター説明
uri: Uri

フォルダーの URI です。

戻り値説明
Thenable<Array<[string, FileType]>>

名前/タイプペアの配列、またはそれに解決されるThenableです。

ファイルの全内容を読み取ります。

パラメーター説明
uri: Uri

ファイルの URI です。

戻り値説明
Thenable<Uint8Array>

バイトの配列、またはそれに解決されるThenableです。

ファイルまたはフォルダーの名前を変更します。

パラメーター説明
source: Uri

既存のファイル。

target: Uri

新しい場所です。

options?: {overwrite: boolean}

既存のファイルを上書きするかどうかを定義します。

戻り値説明
Thenable<void>

ファイルに関するメタデータを取得します。

パラメーター説明
uri: Uri

メタデータを取得するファイルの URI です。

戻り値説明
Thenable<FileStat>

ファイルに関するファイルメタデータです。

ファイルにデータを書き込み、その全内容を置き換えます。

パラメーター説明
uri: Uri

ファイルの URI です。

content: Uint8Array

ファイルの新しい内容です。

戻り値説明
Thenable<void>

FileSystemError

ファイルシステムプロバイダーがエラーを通知するために使用すべき型です。

このクラスには、ファイルやフォルダーが存在しない場合の FileNotFound のような一般的なエラーケースに対応するファクトリメソッドがあります。次のように使用します: throw vscode.FileSystemError.FileNotFound(someUri);

静的

ファイルまたはフォルダーが既に存在することを通知するエラーを作成します。例えば、ファイルを作成する際に上書きしない場合などです。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI です。

戻り値説明
FileSystemError

ファイルがフォルダーであることを通知するエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI です。

戻り値説明
FileSystemError

ファイルがフォルダーではないことを通知するエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI です。

戻り値説明
FileSystemError

ファイルまたはフォルダーが見つからなかったことを通知するエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI です。

戻り値説明
FileSystemError

操作に必要なアクセス許可がないことを通知するエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI です。

戻り値説明
FileSystemError

ファイルシステムが利用できない、または要求を完了するにはビジーすぎることを通知するエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI です。

戻り値説明
FileSystemError

コンストラクタ

新しいファイルシステムエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI です。

戻り値説明
FileSystemError

プロパティ

このエラーを識別するコードです。

考えられる値は、FileNotFoundのようなエラーの名前、または未指定のエラーの場合はUnknownです。

FileSystemProvider

ファイルシステムプロバイダーは、エディターがファイルの読み取り、書き込み、検出、およびファイルとフォルダーの管理に必要とするものを定義します。これにより、拡張機能はftpサーバーなどのリモートの場所からファイルを供給し、それらをエディターにシームレスに統合できます。

  • 注1: ファイルシステムプロバイダーAPIはURIで動作し、階層パスを前提としています。例えば、foo:/my/pathfoo:/my/ の子であり、foo:/my/path/deeper の親です。
  • 注2: ファイルまたはフォルダーにアクセスされると発生するアクティベーションイベント onFileSystem:<scheme> があります。
  • 注3: 'ファイル'という単語は、フォルダー、シンボリックリンク、通常のファイルなど、あらゆる種類のファイルを指すためによく使用されます。

イベント

リソースが作成、変更、または削除されたことを通知するイベントです。このイベントは、このプロバイダーのクライアントによって監視されているリソースに対して発生するはずです。

注: 変更されたファイルのメタデータが、statの以前の値から進んだ更新されたmtimeと正しいsize値を提供することが重要です。そうしないと、エディターで変更が表示されないなどの最適化が行われる可能性があります。

メソッド

ファイルまたはフォルダーをコピーします。この関数の実装はオプションですが、コピー操作を高速化します。

  • スロー - sourceが存在しない場合、FileNotFound
  • スロー - destinationの親が存在しない場合(例: mkdirpロジックは不要)、FileNotFound
  • スロー - destinationが存在し、overwriteオプションがtrueでない場合、FileExists
  • スロー - 権限が不足している場合、NoPermissions
パラメーター説明
source: Uri

既存のファイル。

destination: Uri

宛先場所。

options: {overwrite: boolean}

既存のファイルを上書きするかどうかを定義します。

戻り値説明
void | Thenable<void>

新しいディレクトリを作成します (注:新しいファイルはwrite呼び出しを介して作成されます)。

  • スロー - uriの親が存在しない場合(例: mkdirpロジックは不要)、FileNotFound
  • スロー - uriが既に存在する場合、FileExists
  • スロー - 権限が不足している場合、NoPermissions
パラメーター説明
uri: Uri

新しいフォルダーのURI。

戻り値説明
void | Thenable<void>

ファイルを削除します。

  • スロー - 権限が不足している場合、NoPermissions
パラメーター説明
uri: Uri

削除するリソースです。

options: {recursive: boolean}

フォルダーの削除が再帰的であるかを定義します。

戻り値説明
void | Thenable<void>

ディレクトリのすべてのエントリを取得します。

パラメーター説明
uri: Uri

フォルダーの URI です。

戻り値説明
Array<[string, FileType]> | Thenable<Array<[string, FileType]>>

名前/タイプペアの配列、またはそれに解決されるThenableです。

ファイルの全内容を読み取ります。

パラメーター説明
uri: Uri

ファイルの URI です。

戻り値説明
Uint8Array | Thenable<Uint8Array>

バイトの配列、またはそれに解決されるThenableです。

ファイルまたはフォルダーの名前を変更します。

  • スロー - oldUriが存在しない場合、FileNotFound
  • スロー - newUriの親が存在しない場合(例: mkdirpロジックは不要)、FileNotFound
  • スロー - newUriが存在し、overwriteオプションがtrueでない場合、FileExists
  • スロー - 権限が不足している場合、NoPermissions
パラメーター説明
oldUri: Uri

既存のファイル。

newUri: Uri

新しい場所です。

options: {overwrite: boolean}

既存のファイルを上書きするかどうかを定義します。

戻り値説明
void | Thenable<void>

ファイルに関するメタデータを取得します。

シンボリックリンクのメタデータは、それが参照するファイルのメタデータであるべきことに注意してください。それでも、実際のタイプに加えて、SymbolicLinkタイプを使用する必要があります。例えば、FileType.SymbolicLink | FileType.Directoryです。

パラメーター説明
uri: Uri

メタデータを取得するファイルの URI です。

戻り値説明
FileStat | Thenable<FileStat>

ファイルに関するファイルメタデータです。

uriで示されるファイルまたはフォルダー内のファイル変更イベントを購読します。フォルダーの場合、オプションrecursiveは、サブフォルダーやさらに下のフォルダーなどもファイル変更のために監視すべきかどうかを示します。recursive: falseの場合、フォルダーの直接の子であるファイルの変更のみがイベントをトリガーするはずです。

excludes配列は、ファイル監視から除外すべきパスを示すために使用されます。これは通常、ユーザーが設定できるfiles.watcherExclude設定から派生します。各エントリは次のいずれかになります。

  • 除外する絶対パス
  • 除外する相対パス(例: build/output
  • 単純なグロブパターン(例: **/buildoutput/**

これらのルールに基づいて、すべての変更に対してonDidChangeFileを呼び出すのはファイルシステムプロバイダーの仕事です。提供された除外ルールに一致するファイルに対しては、イベントが発行されてはいけません。

パラメーター説明
uri: Uri

監視するファイルまたはフォルダーの URI です。

options: {excludes: readonly string[], recursive: boolean}

監視を設定します。

戻り値説明
Disposable

プロバイダーにuriの監視を停止するよう指示するDisposableです。

ファイルにデータを書き込み、その全内容を置き換えます。

  • スロー - uriが存在せず、createが設定されていない場合、FileNotFound
  • スロー - uriの親が存在せず、createが設定されている場合(例: mkdirpロジックは不要)、FileNotFound
  • スロー - uriが既に存在し、createが設定されているがoverwriteが設定されていない場合、FileExists
  • スロー - 権限が不足している場合、NoPermissions
パラメーター説明
uri: Uri

ファイルの URI です。

content: Uint8Array

ファイルの新しい内容です。

options: {create: boolean, overwrite: boolean}

不足しているファイルを作成すべきか、または作成しなければならないかを定義します。

戻り値説明
void | Thenable<void>

FileSystemWatcher

ファイルシステムウォッチャーは、ディスク上または他のFileSystemProvidersからのファイルおよびフォルダーの変更について通知します。

FileSystemWatcherのインスタンスを取得するには、createFileSystemWatcherを使用します。

イベント

ファイル/フォルダーの変更時に発生するイベントです。

ファイル/フォルダーの作成時に発生するイベントです。

ファイル/フォルダーの削除時に発生するイベントです。

プロパティ

このファイルシステムウォッチャーが、変更ファイルシステムイベントを無視するように作成されている場合はtrueです。

このファイルシステムウォッチャーが、作成ファイルシステムイベントを無視するように作成されている場合はtrueです。

このファイルシステムウォッチャーが、削除ファイルシステムイベントを無視するように作成されている場合はtrueです。

メソッド

このオブジェクトを破棄します。

パラメーター説明
戻り値説明
any

FileType

ファイルタイプの列挙型です。FileおよびDirectoryタイプはシンボリックリンクである場合もあります。その場合は、FileType.File | FileType.SymbolicLinkおよびFileType.Directory | FileType.SymbolicLinkを使用します。

列挙メンバー

ファイルタイプは不明です。

通常のファイルです。

ディレクトリです。

ファイルへのシンボリックリンクです。

FileWillCreateEvent

ファイルが作成されようとしているときに発生するイベントです。

ファイルが作成される前にワークスペースを変更するには、ワークスペース編集に解決されるthenableでwaitUntil関数を呼び出します。

プロパティ

作成されるファイルです。

キャンセルトークン。

メソッド

イベントを一時停止し、ワークスペース編集を適用することができます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことができません。

workspace.onWillCreateFiles(event => {
  // async, will *throw* an error
  setTimeout(() => event.waitUntil(promise));

  // sync, OK
  event.waitUntil(promise);
});
パラメーター説明
thenable: Thenable<WorkspaceEdit>

保存を遅延させるthenableです。

戻り値説明
void

提供されたthenableが解決されるまでイベントを一時停止することができます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができます。

パラメーター説明
thenable: Thenable<any>

保存を遅延させるthenableです。

戻り値説明
void

FileWillDeleteEvent

ファイルが削除されようとしているときに発生するイベントです。

ファイルが削除される前にワークスペースに変更を加えるには、ワークスペース編集に解決されるthenableでwaitUntil関数を呼び出します。

プロパティ

削除されるファイルです。

キャンセルトークン。

メソッド

イベントを一時停止し、ワークスペース編集を適用することができます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことができません。

workspace.onWillCreateFiles(event => {
  // async, will *throw* an error
  setTimeout(() => event.waitUntil(promise));

  // sync, OK
  event.waitUntil(promise);
});
パラメーター説明
thenable: Thenable<WorkspaceEdit>

保存を遅延させるthenableです。

戻り値説明
void

提供されたthenableが解決されるまでイベントを一時停止することができます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができます。

パラメーター説明
thenable: Thenable<any>

保存を遅延させるthenableです。

戻り値説明
void

FileWillRenameEvent

ファイルの名前が変更されようとしているときに発生するイベントです。

ファイルの名前が変更される前にワークスペースに変更を加えるには、ワークスペース編集に解決されるthenableでwaitUntil関数を呼び出します。

プロパティ

名前が変更されるファイルです。

キャンセルトークン。

メソッド

イベントを一時停止し、ワークスペース編集を適用することができます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことができません。

workspace.onWillCreateFiles(event => {
  // async, will *throw* an error
  setTimeout(() => event.waitUntil(promise));

  // sync, OK
  event.waitUntil(promise);
});
パラメーター説明
thenable: Thenable<WorkspaceEdit>

保存を遅延させるthenableです。

戻り値説明
void

提供されたthenableが解決されるまでイベントを一時停止することができます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができます。

パラメーター説明
thenable: Thenable<any>

保存を遅延させるthenableです。

戻り値説明
void

FoldingContext

折りたたみコンテキスト(将来の使用のため)

FoldingRange

行ベースの折りたたみ範囲です。有効であるためには、開始行と終了行が0より大きく、ドキュメントの行数よりも小さい必要があります。無効な範囲は無視されます。

コンストラクタ

新しい折りたたみ範囲を作成します。

パラメーター説明
start: number

折りたたまれた範囲の開始行です。

end: number

折りたたまれた範囲の終了行です。

kind?: FoldingRangeKind

折りたたみ範囲の種類です。

戻り値説明
FoldingRange

プロパティ

折りたたむ範囲のゼロベースの終了行です。折りたたまれた領域は行の最後の文字で終わります。有効であるためには、終了行はゼロ以上で、ドキュメントの行数よりも小さい必要があります。

折りたたみ範囲の種類CommentRegionなど)を記述します。この種類は折りたたみ範囲を分類するために使用され、「すべてのコメントを折りたたむ」などのコマンドで使用されます。FoldingRangeKindで利用可能なすべての種類の列挙を参照してください。設定されていない場合、範囲は構文要素から派生しています。

折りたたむ範囲のゼロベースの開始行です。折りたたまれた領域は行の最後の文字の後に開始します。有効であるためには、開始行はゼロ以上で、ドキュメントの行数よりも小さい必要があります。

FoldingRangeKind

特定の折りたたみ範囲の種類の列挙型です。この種類はFoldingRangeのオプションフィールドであり、コメントから派生した範囲などの特定の折りたたみ範囲を区別するために使用されます。この種類は、すべてのコメントを折りたたむすべての領域を折りたたむなどのコマンドで使用されます。範囲に種類が設定されていない場合、範囲はコメント、インポート、またはリージョンマーカー以外の構文要素から派生しています。

列挙メンバー

コメントを表す折りたたみ範囲の種類。

インポートを表す折りたたみ範囲の種類。

#region#endregionのような折りたたみマーカーから派生する領域を表す折りたたみ範囲の種類。

FoldingRangeProvider

折りたたみ範囲プロバイダーインターフェースは、拡張機能とエディターの折りたたみ機能間の契約を定義します。

イベント

このプロバイダーからの折りたたみ範囲が変更されたことを通知するオプションのイベントです。

メソッド

折りたたみ範囲のリストを返します。プロバイダーが参加したくない場合、またはキャンセルされた場合はnullおよびundefinedを返します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

context: FoldingContext

追加のコンテキスト情報(将来の使用のため)

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<FoldingRange[]>

FormattingOptions

書式設定が使用すべきオプションを記述する値オブジェクトです。

プロパティ

タブよりもスペースを優先します。

スペースでのタブのサイズです。

FunctionBreakpoint

関数名で指定されたブレークポイントです。

コンストラクタ

新しい関数ブレークポイントを作成します。

パラメーター説明
functionName: string
enabled?: boolean
condition?: string
hitCondition?: string
logMessage?: string
戻り値説明
FunctionBreakpoint

プロパティ

条件付きブレークポイントのためのオプションの式。

ブレークポイントが有効であるか。

このブレークポイントがアタッチされている関数の名前です。

ブレークポイントのヒットをいくつ無視するかを制御するオプションの式。

ブレークポイントの一意のID。

このブレークポイントがヒットしたときにログに記録されるオプションのメッセージ。{} 内の埋め込み式は、デバッグアダプターによって補間されます。

GlobalEnvironmentVariableCollection

拡張機能がプロセス環境に適用できる変更のコレクションです。すべてのスコープに適用されます。

プロパティ

環境変数コレクションの説明。これはUIでの変更を説明するために使用されます。

コレクションがワークスペースにキャッシュされ、ウィンドウのリロード全体でターミナルに適用されるかどうか。trueの場合、ウィンドウがリロードされたときなどにコレクションはすぐにアクティブになります。さらに、このAPIは、キャッシュされたバージョンが存在する場合はそれを返します。拡張機能がアンインストールされた場合、またはコレクションがクリアされた場合、コレクションは無効になります。デフォルトはtrueです。

メソッド

環境変数に値を追加します。

拡張機能は1つの変数に対して1つの変更のみを行うことができるため、これはreplace、append、またはprependへの以前の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

追加する変数。

value: string

変数に追加する値。

options?: EnvironmentVariableMutatorOptions

ミューテーターに適用されるオプション。オプションが提供されていない場合、デフォルトは{ applyAtProcessCreation: true }になります。

戻り値説明
void

このコレクションからすべてのミューテーターをクリアします。

パラメーター説明
戻り値説明
void

変数に対するこのコレクションのミューテーターを削除します。

パラメーター説明
variable: string

ミューテーターを削除する変数。

戻り値説明
void

このコレクション内の各ミューテーターを反復処理します。

パラメーター説明
callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any

各エントリに対して実行する関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用されるthisコンテキスト。

戻り値説明
void

このコレクションが変数に適用するミューテーターがある場合、それを取得します。

パラメーター説明
variable: string

ミューテーターを取得する変数。

戻り値説明
EnvironmentVariableMutator

拡張機能のスコープ固有の環境変数コレクションを取得します。これにより、指定されたスコープ内でのみ端末環境変数を変更でき、グローバルコレクションに加えて(およびその後に)適用されます。

このメソッドを介して取得された各オブジェクトは独立しており、グローバルコレクションを含む他のスコープのオブジェクトに影響を与えません。

パラメーター説明
scope: EnvironmentVariableScope

環境変数コレクションが適用されるスコープです。

スコープパラメーターが省略された場合、そのパラメーターに関連するすべてのスコープに適用されるコレクションが返されます。例えば、「workspaceFolder」パラメーターが指定されていない場合、すべてのワークスペースフォルダーに適用されるコレクションが返されます。

戻り値説明
EnvironmentVariableCollection

渡されたスコープの環境変数コレクションです。

環境変数に値を前置します。

拡張機能は1つの変数に対して1つの変更のみを行うことができるため、これはreplace、append、またはprependへの以前の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

前置する変数。

value: string

変数に前置する値。

options?: EnvironmentVariableMutatorOptions

ミューテーターに適用されるオプション。オプションが提供されていない場合、デフォルトは{ applyAtProcessCreation: true }になります。

戻り値説明
void

環境変数を値で置き換えます。

拡張機能は1つの変数に対して1つの変更のみを行うことができるため、これはreplace、append、またはprependへの以前の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

置き換える変数。

value: string

変数を置き換える値。

options?: EnvironmentVariableMutatorOptions

ミューテーターに適用されるオプション。オプションが提供されていない場合、デフォルトは{ applyAtProcessCreation: true }になります。

戻り値説明
void

GlobPattern

ファイルパスに一致させるためのファイルグロブパターンです。これは、グロブパターン文字列(例: **/*.{ts,js}*.{ts,js})または相対パターンのいずれかです。

グロブパターンは以下の構文を持つことができます。

  • パスセグメント内のゼロ個以上の文字に一致する*
  • パスセグメント内の1文字に一致する?
  • パスセグメントを任意の数(ゼロを含む)一致する**
  • 条件をグループ化する{}(例: **/*.{ts,js}はすべてのTypeScriptおよびJavaScriptファイルに一致します)
  • パスセグメント内で一致する文字の範囲を宣言する[](例: example.0example.1などに一致するexample.[0-9]
  • パスセグメント内で一致する文字の範囲を否定する[!...](例: example.aexample.bに一致するがexample.0には一致しないexample.[!0-9]

注: バックスラッシュ (``) はグロブパターン内では無効です。既存のファイルパスに一致させる場合は、バックスラッシュをスラッシュに変換する相対パターンのサポートを使用することを検討してください。そうでない場合は、グロブパターンを作成する際にバックスラッシュをスラッシュに変換するようにしてください。

Hover

ホバーは、記号や単語に関する追加情報を表します。ホバーはツールチップのようなウィジェットでレンダリングされます。

コンストラクタ

新しいホバーオブジェクトを作成します。

パラメーター説明
contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>

ホバーの内容です。

range?: Range

ホバーが適用される範囲です。

戻り値説明
Hover

プロパティ

このホバーの内容です。

このホバーが適用される範囲です。省略された場合、エディターは現在の位置の単語範囲または現在の位置自体を使用します。

HoverProvider

ホバープロバイダーインターフェースは、拡張機能とホバー機能間の契約を定義します。

メソッド

指定された位置とドキュメントに対するホバーを提供します。同じ位置にある複数のホバーはエディターによってマージされます。ホバーは範囲を持つことができ、省略された場合はその位置の単語範囲がデフォルトとなります。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<Hover>

ホバー、またはそれに解決されるthenableです。結果がない場合は、undefinedまたはnullを返すことで通知できます。

IconPath

UI内のアイコンを表します。これは、URI、ライトテーマとダークテーマの別々のURI、またはテーマアイコンのいずれかです。

ImplementationProvider

実装プロバイダーインターフェースは、拡張機能と実装へ移動機能間の契約を定義します。

メソッド

指定された位置とドキュメントにあるシンボルの実装を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<Definition | LocationLink[]>

定義、またはそれに解決されるThenable。結果がない場合は、undefinedまたはnullを返すことで通知できます。

IndentAction

Enterキーを押したときのインデントの処理方法を記述します。

列挙メンバー

改行を挿入し、前の行のインデントをコピーします。

改行を挿入し、一度インデントします(前の行のインデントを基準に)。

2つの新しい行を挿入します

  • 最初の行はインデントされ、カーソルが配置されます
  • 2番目の行は同じインデントレベルです

改行を挿入し、一度アウトデントします(前の行のインデントを基準に)。

IndentationRule

言語のインデントルールを記述します。

プロパティ

このパターンに一致する行がある場合、その後のすべての行は一度アンインデントされるべきです(別のルールが一致するまで)。

このパターンに一致する行がある場合、その後のすべての行は一度インデントされるべきです(別のルールが一致するまで)。

このパターンに一致する行がある場合、その後の次の行のみが一度インデントされるべきです。

このパターンに一致する行がある場合、そのインデントは変更されるべきではなく、他のルールに対して評価されるべきではありません。

InlayHint

インレイヒント情報。

コンストラクタ

新しいインレイヒントを作成します。

パラメーター説明
position: Position

ヒントの位置です。

label: string | InlayHintLabelPart[]

ヒントのラベルです。

kind?: InlayHintKind

ヒントの種類です。

戻り値説明
InlayHint

プロパティ

このヒントの種類です。インレイヒントの種類は、このインレイヒントの外観を定義します。

このヒントのラベルです。人間が読める文字列、またはラベルパーツの配列です。

: 文字列もラベルパーツも空にすることはできません。

ヒントの前にパディングをレンダリングします。パディングはエディターの背景色を使用し、ヒント自体の背景色は使用しません。これは、パディングがインレイヒントを視覚的に整列/分離するために使用できることを意味します。

ヒントの後にパディングをレンダリングします。パディングはエディターの背景色を使用し、ヒント自体の背景色は使用しません。これは、パディングがインレイヒントを視覚的に整列/分離するために使用できることを意味します。

このヒントの位置です。

このインレイヒントを受け入れるときに実行されるオプションのテキスト編集です。インレイヒントを受け入れるデフォルトのジェスチャーはダブルクリックです。

: 編集はドキュメントを変更し、インレイヒント(またはその最も近いバリアント)がドキュメントの一部になり、インレイヒント自体はもはや不要になることを想定しています。

: このプロパティは、インレイヒントの解決中に遅れて設定される場合があります。

このアイテムにホバーしたときのツールチップテキストです。

: このプロパティは、インレイヒントの解決中に遅れて設定される場合があります。

InlayHintKind

インレイヒントの種類です。

インラインヒントの種類は、その外観を定義します。例えば、対応する前景色と背景色が使用されます。

列挙メンバー

型アノテーションのためのインレイヒントです。

パラメーターのためのインレイヒントです。

InlayHintLabelPart

インレイヒントラベルパーツは、インレイヒントのインタラクティブな複合ラベルを可能にします。

コンストラクタ

新しいインレイヒントラベルパーツを作成します。

パラメーター説明
value: string

パーツの値です。

戻り値説明
InlayHintLabelPart

プロパティ

このラベルパーツのオプションのコマンドです。

エディターは、コマンドを持つパーツをクリックス可能なリンクとしてレンダリングします。ラベルパーツがlocationcommandを定義している場合、コマンドはコンテキストメニューに追加されます。

: このプロパティは、インレイヒントの解決中に遅れて設定される場合があります。

このラベルパーツを表すオプションのソースコード位置です。

エディターはこの位置をホバーとコードナビゲーション機能に使用します。このパーツは、指定された位置(必ずしも位置自体ではない)にあるシンボルの定義に解決されるクリック可能なリンクになり、指定された位置に表示されるホバーを表示し、さらにコードナビゲーションコマンドを含むコンテキストメニューを表示します。

: このプロパティは、インレイヒントの解決中に遅れて設定される場合があります。

このラベルパーツにホバーしたときのツールチップテキストです。

: このプロパティは、インレイヒントの解決中に遅れて設定される場合があります。

このラベルパーツの値です。

InlayHintsProvider<T>

インレイヒントプロバイダーインターフェースは、拡張機能とインレイヒント機能間の契約を定義します。

イベント

このプロバイダーからのインレイヒントが変更されたことを通知するオプションのイベントです。

メソッド

指定された範囲とドキュメントに対するインレイヒントを提供します。

: 指定された範囲に含まれていないインレイヒントは無視されます。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

range: Range

インレイヒントが計算されるべき範囲です。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T[]>

インレイヒントの配列、またはそれに解決されるthenableです。

インレイヒントが与えられた場合、ツールチップテキスト編集、または完全なラベルパーツを埋めます。

: エディターはインレイヒントを最大1回しか解決しません。

パラメーター説明
hint: T

インレイヒントです。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T>

解決されたインレイヒント、またはそれに解決されるthenableです。指定されたitemを返しても構いません。結果が返されない場合、指定されたitemが使用されます。

InlineCompletionContext

インライン補完が要求されたコンテキストに関する情報を提供します。

プロパティ

オートコンプリートウィジェットに現在選択されている項目が表示されている場合、その情報を提供します。

設定されている場合、提供されるインライン補完は選択された項目のテキストを拡張し、同じ範囲を使用する必要があります。そうでない場合、プレビューとして表示されません。例えば、ドキュメントのテキストがconsole.で、選択された項目がドキュメントの.を置き換える.logである場合、インライン補完も.を置き換え、.logで始まる必要があります(例: .log())。

選択された項目が変更されるたびに、インライン補完プロバイダーが再度要求されます。

インライン補完がどのようにトリガーされたかを記述します。

InlineCompletionItem

インライン補完項目は、入力中のテキストを補完するためにインラインで提案されるテキストスニペットを表します。

参照 InlineCompletionItemProvider.provideInlineCompletionItems

コンストラクタ

新しいインライン補完項目を作成します。

パラメーター説明
insertText: string | SnippetString

範囲を置き換えるテキストです。

range?: Range

置き換える範囲です。設定されていない場合、要求された位置の単語が使用されます。

command?: Command

この補完を挿入した後に実行されるオプションのコマンドです。

戻り値説明
InlineCompletionItem

プロパティ

この補完を挿入した後に実行されるオプションのコマンドです。

このインライン補完を表示するかどうかを決定するために使用されるテキストです。falsyの場合、InlineCompletionItem.insertTextが使用されます。

置き換えるテキストがフィルターテキストのプレフィックスである場合、インライン補完が表示されます。

範囲を置き換えるテキストです。設定必須です。プレビューと承認操作の両方で使用されます。

置き換える範囲。同じ行で開始および終了する必要があります。

ユーザーが入力したテキストを削除する際に、より良いエクスペリエンスを提供するために、挿入よりも置換を優先してください。

InlineCompletionItemProvider

インライン補完アイテムプロバイダーインターフェースは、拡張機能とインライン補完機能間の契約を定義します。

プロバイダーは、ユーザーのジェスチャーによって明示的に、または入力時に暗黙的に補完を要求されます。

メソッド

指定された位置とドキュメントのインライン補完アイテムを提供します。インライン補完が有効になっている場合、ユーザーが入力(タイピング)を停止するたびにこのメソッドが呼び出されます。また、ユーザーが明示的にインライン補完をトリガーした場合、または明示的に次または前のインライン補完を要求した場合にも呼び出されます。その場合、利用可能なすべてのインライン補完が返されるべきです。これらのシナリオを区別するために `context.triggerKind` を使用できます。

パラメーター説明
document: TextDocument

インライン補完が要求されたドキュメントです。

position: Position

インライン補完が要求された位置です。

context: InlineCompletionContext

追加情報を含むコンテキストオブジェクトです。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<InlineCompletionList | InlineCompletionItem[]>

補完アイテムの配列、または補完アイテムの配列に解決されるThenableです。

InlineCompletionList

エディタに表示されるインライン補完アイテムのコレクションを表します。

コンストラクタ

インライン補完アイテムの新しいリストを作成します。

パラメーター説明
items: InlineCompletionItem[]
戻り値説明
InlineCompletionList

プロパティ

インライン補完アイテムです。

InlineCompletionTriggerKind

インライン補完プロバイダーがどのようにトリガーされたかを説明します。

列挙メンバー

補完はユーザーのジェスチャーによって明示的にトリガーされました。複数の補完アイテムを返すことで、それらを循環させることができます。

補完は編集中に自動的にトリガーされました。この場合、単一の補完アイテムを返すだけで十分です。

InlineValue

インライン値の情報はさまざまな方法で提供できます

  • テキスト値として直接(InlineValueText クラス)。
  • 変数ルックアップに使用する名前として(InlineValueVariableLookup クラス)
  • 評価可能な式として(InlineValueEvaluatableExpression クラス)InlineValue 型は、すべてのインライン値型を1つの型に結合します。

InlineValueContext

InlineValuesProvider からインライン値を要求する際に、コンテキスト情報を含む値オブジェクトです。

プロパティ

実行が停止したスタックフレーム(DAP IDとして)です。

実行が停止したドキュメント範囲です。通常、範囲の終了位置はインライン値が表示される行を示します。

InlineValueEvaluatableExpression

式評価を通じてインライン値を提供します。範囲のみが指定されている場合、式は基になるドキュメントから抽出されます。オプションの式を使用して、抽出された式を上書きできます。

コンストラクタ

新しいInlineValueEvaluatableExpressionオブジェクトを作成します。

パラメーター説明
range: Range

評価可能な式が抽出される基となるドキュメント内の範囲。

expression?: string

指定された場合、抽出された式をオーバーライドします。

戻り値説明
InlineValueEvaluatableExpression

プロパティ

指定された場合、式は抽出された式を上書きします。

インライン値が適用されるドキュメント範囲です。この範囲は、基になるドキュメントから評価可能な式を抽出するために使用されます。

InlineValuesProvider

インライン値プロバイダーインターフェースは、拡張機能とエディターのデバッガーインライン値機能間の契約を定義します。この契約において、プロバイダーは指定されたドキュメント範囲のインライン値情報を返し、エディターはこの情報を行末に表示します。

イベント

インライン値が変更されたことを通知するオプションのイベントです。

こちらも参照 EventEmitter

メソッド

指定されたドキュメントと範囲の「インライン値」情報を提供します。デバッグが指定されたドキュメントで停止するたびに、エディターはこのメソッドを呼び出します。返されたインライン値情報は、エディターの行末にレンダリングされます。

パラメーター説明
document: TextDocument

インライン値情報が必要なドキュメントです。

viewPort: Range

インライン値が計算されるべき可視ドキュメント範囲です。

context: InlineValueContext

現在の位置のようなコンテキスト情報を含むコンテナです。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<InlineValue[]>

InlineValueDescriptor の配列、またはそれに解決される thenable です。結果がない場合は `undefined` または `null` を返すことで通知できます。

InlineValueText

インライン値をテキストとして提供します。

コンストラクタ

新しい InlineValueText オブジェクトを作成します。

パラメーター説明
range: Range

インライン値を表示するドキュメント行です。

text: string

行に表示される値です。

戻り値説明
InlineValueText

プロパティ

インライン値が適用されるドキュメント範囲です。

インライン値のテキストです。

InlineValueVariableLookup

変数ルックアップを通じてインライン値を提供します。範囲のみが指定されている場合、変数名は基になるドキュメントから抽出されます。オプションの変数名を使用して、抽出された名前を上書きできます。

コンストラクタ

新しい InlineValueVariableLookup オブジェクトを作成します。

パラメーター説明
range: Range

インライン値を表示するドキュメント行です。

variableName?: string

検索する変数の名前です。

caseSensitiveLookup?: boolean

ルックアップの実行方法です。欠落している場合は大文字と小文字を区別して検索します。

戻り値説明
InlineValueVariableLookup

プロパティ

ルックアップの実行方法です。

インライン値が適用されるドキュメント範囲です。この範囲は、基になるドキュメントから変数名を抽出するために使用されます。

指定された場合、検索する変数の名前です。

InputBox

ユーザーがテキスト値を入力できるようにする具体的な QuickInput です。

多くの場合、より便利なwindow.showInputBoxの方が使いやすいことに注意してください。window.showInputBoxが必要な柔軟性を提供しない場合に、window.createInputBoxを使用すべきです。

イベント

ユーザーが入力値の承諾を示したときに通知されるイベントです。

値が変更されたときに通知されるイベントです。

この入力UIが非表示になったときに通知されるイベントです。

このUIが非表示になる理由はいくつかあり、拡張機能は QuickInput.onDidHide を通じて通知を受け取ります。(例:QuickInput.hide の明示的な呼び出し、ユーザーがEscを押す、他の入力UIが開くなど)

ボタンがトリガーされたときに通知されるイベントです。

プロパティ

UIが進行状況インジケーターを表示するかどうか。デフォルトは false です。

例えば、追加データの読み込み中やユーザー入力の検証中に、これをtrueに変更してください。

UI内のアクション用のボタンです。

UIがユーザー入力を許可するかどうか。デフォルトは true です。

例えば、ユーザー入力の検証中や、ユーザー入力の次のステップのデータを読み込み中に、これをfalseに変更してください。

UIのフォーカスが失われてもUIを開いたままにするかどうか。デフォルトは false です。この設定はiPadでは無視され、常にfalseになります。

入力値を非表示にするかどうか。デフォルトは false です。

値が入力されていない場合に表示されるオプションのプレースホルダーです。

ユーザーに何かを尋ねたり、説明を提供したりするオプションのプロンプトテキストです。

オプションの現在のステップ数です。

オプションのタイトルです。

オプションの合計ステップ数です。

現在の入力値に問題があることを示すオプションの検証メッセージです。文字列を返すことで、InputBoxはデフォルトの InputBoxValidationSeverity を Error に設定します。undefined を返すと検証メッセージがクリアされます。

現在の入力値です。

入力値内の選択範囲です。最初の値が開始インデックス(含む)、2番目の値が終了インデックス(含まない)である2つの数値のタプルとして定義されます。`undefined` の場合、事前入力された値全体が選択され、空の場合(開始と終了が同じ場合)はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。

このプロパティは、ユーザーが入力したり選択を行ったりしても更新されませんが、拡張機能によって更新できます。

メソッド

この入力UIとそれに関連するリソースを破棄します。まだ表示されている場合は、まず非表示になります。この呼び出しの後、入力UIはもはや機能せず、それ以上のメソッドやプロパティにアクセスすべきではありません。代わりに新しい入力UIを作成する必要があります。

パラメーター説明
戻り値説明
void

この入力UIを非表示にします。これにより、QuickInput.onDidHide イベントも発生します。

パラメーター説明
戻り値説明
void

現在の構成で入力UIを表示します。他の入力UIはまず QuickInput.onDidHide イベントを発生させます。

パラメーター説明
戻り値説明
void

InputBoxOptions

入力ボックスUIの動作を設定するためのオプションです。

プロパティ

フォーカスがエディターの別の部分や別のウィンドウに移動しても入力ボックスを開いたままにするには、`true` に設定します。この設定はiPadでは無視され、常にfalseになります。

パスワード入力が表示されるかどうかを制御します。パスワード入力は入力されたテキストを非表示にします。

ユーザーに何を入力すべきかを案内するために、入力ボックスにプレースホルダーとして表示されるオプションの文字列です。

入力ボックスの下に表示するテキストです。

入力ボックスのタイトルを表すオプションの文字列です。

入力ボックスに事前入力する値です。

事前入力された の選択範囲です。最初の値が開始インデックス(含む)、2番目の値が終了インデックス(含まない)である2つの数値のタプルとして定義されます。`undefined` の場合、事前入力された値全体が選択され、空の場合(開始と終了が同じ場合)はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。

メソッド

入力を検証し、ユーザーにヒントを与えるために呼び出されるオプションの関数です。

パラメーター説明
value: string

入力ボックスの現在の値です。

戻り値説明
string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage>

エラーメッセージとして表示される人間が読める文字列、または特定のメッセージの重要度を提供できる InputBoxValidationMessage のいずれかです。'value' が有効な場合は `undefined`、`null`、または空の文字列を返します。

InputBoxValidationMessage

検証メッセージの動作を設定するオブジェクトです。

プロパティ

表示する検証メッセージです。

検証メッセージの重要度です。注:`InputBoxValidationSeverity.Error` を使用する場合、ユーザーは入力を承諾(Enterキーを押す)できません。`Info` と `Warning` の場合は、InputBoxが入力を承諾することを引き続き許可します。

InputBoxValidationSeverity

入力ボックス検証の重要度レベルです。

列挙メンバー

情報重要度レベルです。

警告重要度レベルです。

エラー重要度レベルです。

LanguageConfiguration

言語設定インターフェースは、拡張機能と、自動括弧挿入、自動インデントなどの様々なエディター機能との間の契約を定義します。

プロパティ

非推奨 使用しないでください。

  • 非推奨 - 代わりに言語設定ファイルの autoClosingPairs プロパティを使用してください。
パラメーター説明
autoClosingPairs: Array<{close: string, notIn: string[], open: string}>
  • 非推奨

非推奨 使用しないでください。

  • 非推奨 - より良いAPIによって間もなく置き換えられます。
パラメーター説明
brackets: any

このプロパティは非推奨であり、エディターから無視されます。

  • 非推奨
docComment: {close: string, lineStart: string, open: string, scope: string}

このプロパティは非推奨であり、エディターでは完全にはサポートされなくなりました(scope と lineStart は無視されます)。代わりに言語設定ファイルの autoClosingPairs プロパティを使用してください。

  • 非推奨

言語の自動閉じ括弧ペアです。

言語の括弧です。この設定は、これらの括弧の周りでEnterキーを押す動作に暗黙的に影響します。

言語のコメント設定です。

言語のインデント設定です。

Enterキーを押したときに評価される言語のルールです。

言語の単語定義です。言語がUnicode識別子(例: JavaScript)をサポートしている場合、既知の区切り文字を除外する単語定義を提供することが望ましいです。例:既知の区切り文字(小数点も浮動小数点数内で許可される)以外すべてに一致する正規表現

/(-?\d*\.\d\w*)|([^\`\~\!\\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>/\?\s]+)/g

LanguageModelAccessInformation

言語モデルへのアクセスに関する拡張機能固有の情報を表します。

イベント

アクセス情報が変更されたときに発生するイベントです。

メソッド

言語モデルにリクエストを送信できるかどうかを確認します。

注意:この関数を呼び出しても同意UIはトリガーされず、永続化された状態のみを確認します。

パラメーター説明
chat: LanguageModelChat

言語モデルチャットオブジェクトです。

戻り値説明
boolean

リクエスト可能であれば `true`、不可であれば `false`、言語モデルが存在しないか、同意が求められていない場合は `undefined` です。

LanguageModelChat

チャットリクエストを行うための言語モデルを表します。

関連項目 lm.selectChatModels

プロパティ

言語モデルの不透明なファミリー名です。値は `gpt-3.5-turbo`、`gpt4`、`phi2`、または `llama` である可能性がありますが、これらは言語を提供する拡張機能によって定義され、変更される可能性があります。

言語モデルの不透明な識別子です。

単一のリクエストでモデルに送信できるトークンの最大数です。

言語モデルの人間が読める名前です。

言語モデルのベンダーのよく知られた識別子です。例としては `copilot` がありますが、値はチャットモデルを提供する拡張機能によって定義されるため、それらで確認する必要があります。

モデルの不透明なバージョン文字列です。これは言語モデルを提供する拡張機能によって定義され、変更される可能性があります。

メソッド

モデル固有のトークナイザーロジックを使用して、メッセージ内のトークン数をカウントします。

パラメーター説明
text: string | LanguageModelChatMessage

文字列またはメッセージインスタンスです。

token?: CancellationToken

オプションのキャンセルAトークンです。CancellationTokenSource を参照して作成方法を確認してください。

戻り値説明
Thenable<number>

トークン数に解決されるThenableです。

言語モデルを使用してチャットリクエストを行います。

注意:言語モデルの使用にはアクセス制限とユーザーの同意が適用される場合があります。この関数を初めて呼び出す(拡張機能の場合)と、ユーザーに同意ダイアログが表示されるため、この関数はユーザーアクションへの応答としてのみ呼び出されるべきです! 拡張機能は、リクエストを行うのに必要な権限があるかどうかを LanguageModelAccessInformation.canSendRequest を使用して確認できます。

言語モデルへのリクエストが不可能な場合、この関数は拒否されたプロミスを返します。その理由は以下の通りです。

  • ユーザーの同意が得られていない場合、NoPermissions を参照
  • モデルがもはや存在しない場合、NotFound を参照
  • クォータ制限を超過した場合、Blocked を参照
  • その他の問題がある場合、拡張機能は [LanguageModelError.cause LanguageModelError.cause](#LanguageModelError.cause LanguageModelError.cause) を確認する必要があります。

拡張機能は、一連のツールを LanguageModelChatRequestOptions.tools に渡すことで、言語モデルのツール呼び出しを利用できます。言語モデルは LanguageModelToolCallPart を返し、拡張機能はツールを呼び出して、その結果を用いて別のリクエストを行うことができます。

パラメーター説明
messages: LanguageModelChatMessage[]

メッセージインスタンスの配列です。

options?: LanguageModelChatRequestOptions

リクエストを制御するオプションです。

token?: CancellationToken

リクエストを制御するキャンセルAトークンです。CancellationTokenSource を参照して作成方法を確認してください。

戻り値説明
Thenable<LanguageModelChatResponse>

LanguageModelChatResponse に解決されるThenableです。リクエストが作成できなかった場合、プロミスは拒否されます。

LanguageModelChatMessage

チャット内のメッセージを表します。ユーザーやアシスタントなど、さまざまな役割を担うことができます。

静的

新しいアシスタントメッセージを作成するユーティリティです。

パラメーター説明
content: string | Array<LanguageModelTextPart | LanguageModelToolCallPart>

メッセージの内容です。

name?: string

メッセージのオプションのユーザー名です。

戻り値説明
LanguageModelChatMessage

新しいユーザーメッセージを作成するユーティリティです。

パラメーター説明
content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart>

メッセージの内容です。

name?: string

メッセージのオプションのユーザー名です。

戻り値説明
LanguageModelChatMessage

コンストラクタ

新しいユーザーメッセージを作成します。

パラメーター説明
role: LanguageModelChatMessageRole

メッセージの役割です。

content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelToolCallPart>

メッセージの内容です。

name?: string

メッセージのオプションのユーザー名です。

戻り値説明
LanguageModelChatMessage

プロパティ

メッセージが内容として含めることができる、文字列または異種混合の配列です。一部のパーツは、特定のモデルにとってメッセージタイプ固有である場合があります。

このメッセージのオプションのユーザー名です。

このメッセージの役割です。

LanguageModelChatMessageRole

チャットメッセージの役割を表します。これはユーザーまたはアシスタントのいずれかです。

列挙メンバー

ユーザーの役割、例えば言語モデルと対話する人間です。

アシスタントの役割、例えば応答を生成する言語モデルです。

LanguageModelChatRequestOptions

言語モデルを使用してチャットリクエストを行うためのオプションです。

こちらも参照 LanguageModelChat.sendRequest

プロパティ

言語モデルへのアクセスが必要な理由と、それによって有効になる機能について説明する、人間が読めるメッセージです。

言語モデルの動作を制御するオプションのセットです。これらのオプションは言語モデル固有であり、それぞれのドキュメントで確認する必要があります。

使用するツール選択モードです。デフォルトでは LanguageModelChatToolMode.Auto です。

言語モデルが利用できるツールのオプションリストです。lm.tools を介して利用可能な登録済みツール、または呼び出し元の拡張機能内に実装されているプライベートツールである可能性があります。

LLMがこれらのツールのいずれかを呼び出すよう要求した場合、LanguageModelToolCallPart を返し、拡張機能はツールを呼び出して、その結果を用いて別のリクエストを行うことができます。

次に、ツール呼び出しの結果は、LanguageModelToolCallPart を含むアシスタント型の LanguageModelChatMessage を作成し、続いて LanguageModelToolResultPart を含むユーザー型のメッセージを作成することで、LLMに提供できます。

LanguageModelChatResponse

言語モデルの応答を表します。

関連項目 ChatRequest

プロパティ

全体的な応答を形成するテキストとツール呼び出しパーツのストリームである非同期イテラブルです。LanguageModelTextPart は、ユーザーに表示されるアシスタントの応答の一部です。LanguageModelToolCallPart は、言語モデルからのツール呼び出しリクエストです。後者は、LanguageModelChatRequestOptions.tools を介してリクエストにツールが渡された場合にのみ返されます。`unknown` 型は、画像データパーツなど、将来のパーツのプレースホルダーとして使用されます。

注意:このストリームは、データ受信中にエラーが発生した場合にエラーとなります。ストリームの利用者は、それに応じてエラーを処理する必要があります。

ストリームをキャンセルするには、利用者はリクエストを行うために使用されたトークンを キャンセル するか、forループから抜け出すことができます。

try {
  // consume stream
  for await (const chunk of response.stream) {
    if (chunk instanceof LanguageModelTextPart) {
      console.log('TEXT', chunk);
    } else if (chunk instanceof LanguageModelToolCallPart) {
      console.log('TOOL CALL', chunk);
    }
  }
} catch (e) {
  // stream ended with an error
  console.error(e);
}

これは、LanguageModelChatResponse.stream からテキストパーツを除くすべてをフィルタリングすることと同等です。

関連項目 LanguageModelChatResponse.stream

LanguageModelChatSelector

チャットリクエスト用の言語モデルを選択する方法を記述します。

関連項目 lm.selectChatModels

プロパティ

言語モデルのファミリーです。

関連項目 LanguageModelChat.family

言語モデルの識別子です。

関連項目 LanguageModelChat.id

言語モデルのベンダーです。

関連項目 LanguageModelChat.vendor

言語モデルのバージョンです。

関連項目 LanguageModelChat.version

LanguageModelChatTool

LanguageModelChatRequestOptions を介して言語モデルが利用できるツールです。言語モデルは、このインターフェースのすべてのプロパティを使用して、どのツールを呼び出すか、そしてどのように呼び出すかを決定します。

プロパティ

ツールの説明です。

このツールが受け入れる入力のJSONスキーマです。

ツールの名前です。

LanguageModelChatToolMode

言語モデルが使用するツール呼び出しモードです。

列挙メンバー

言語モデルは、ツールを呼び出すか、メッセージを生成するかを選択できます。これがデフォルトです。

言語モデルは、提供されたツールのいずれかを呼び出す必要があります。注:一部のモデルはこのモードを使用する場合、単一のツールのみをサポートします。

LanguageModelError

言語モデル固有のエラーのためのエラータイプです。

言語モデルの利用者は、if(someError.code === vscode.LanguageModelError.NotFound.name) {...} のようにコードプロパティをチェックして、未知の言語モデルを参照する場合のような特定の失敗原因を判断すべきです。指定されていないエラーの場合、causeプロパティには実際のエラーが含まれます。

静的

要求元はこの言語モデルの使用をブロックされています。

パラメーター説明
message?: string
戻り値説明
LanguageModelError

要求元はこの言語モデルを使用する権限がありません。

パラメーター説明
message?: string
戻り値説明
LanguageModelError

言語モデルが存在しません。

パラメーター説明
message?: string
戻り値説明
LanguageModelError

コンストラクタ

パラメーター説明
message?: string
戻り値説明
LanguageModelError

プロパティ

このエラーを識別するコードです。

取りうる値はNotFoundのようなエラーの名前、または言語モデル自体からの指定されていないエラーの場合はUnknownです。後者の場合、causeプロパティには実際のエラーが含まれます。

LanguageModelPromptTsxPart

vscode/prompt-tsxからのPromptElementJSONを含む言語モデルの応答の一部です。

参照 LanguageModelToolResult

コンストラクタ

指定されたコンテンツでプロンプト-tsx部分を構築します。

パラメーター説明
value: unknown

パートの値、vscode/prompt-tsxからのrenderPromptElementJSONの結果です。

戻り値説明
LanguageModelPromptTsxPart

プロパティ

パーツの値です。

LanguageModelTextPart

LanguageModelChatResponseから返される、テキストの一部を含む言語モデル応答の一部です。

コンストラクタ

指定されたコンテンツでテキストパートを構築します。

パラメーター説明
value: string

パートのテキストコンテンツです。

戻り値説明
LanguageModelTextPart

プロパティ

パートのテキストコンテンツです。

LanguageModelTool<T>

LanguageModelChatの呼び出しによって起動できるツールです。

メソッド

指定された入力でツールを呼び出し、結果を返します。

提供されたLanguageModelToolInvocationOptions.inputは、宣言されたスキーマに対して検証済みです。

パラメーター説明
options: LanguageModelToolInvocationOptions<T>
token: CancellationToken
戻り値説明
ProviderResult<LanguageModelToolResult>

ツールが呼び出される前に一度呼び出されます。ツール実行中に表示される進行状況メッセージをカスタマイズするため、および呼び出し入力からのコンテキストを含むより有用なメッセージを提供するためにこれを実装することをお勧めします。適切であれば、ツールを実行する前にユーザー確認が必要であることを示すこともできます。

  • 注1: 副作用がないようにする必要があります。
  • 注2: prepareInvocationの呼び出しが必ずしもinvokeの呼び出しにつながるとは限りません。
パラメーター説明
options: LanguageModelToolInvocationPrepareOptions<T>
token: CancellationToken
戻り値説明
ProviderResult<PreparedToolInvocation>

LanguageModelToolCallPart

LanguageModelChatResponseから返されるツール呼び出しを示す言語モデル応答の一部であり、チャットリクエストにおける以前のツール呼び出しを表すためにLanguageModelChatMessageのコンテンツパートとして含めることもできます。

コンストラクタ

新しいLanguageModelToolCallPartを作成します。

パラメーター説明
callId: string

ツール呼び出しのIDです。

name: string

呼び出すツールの名前。

input: object

ツールを呼び出すための入力です。

戻り値説明
LanguageModelToolCallPart

プロパティ

ツール呼び出しのIDです。これはチャットリクエスト内でツール呼び出しの一意の識別子です。

ツールを呼び出すための入力です。

呼び出すツールの名前。

LanguageModelToolConfirmationMessages

PreparedToolInvocationでこれが返されると、ツールを実行する前にユーザーに確認を求められます。これらのメッセージは「続行」と「キャンセル」のボタンとともに表示されます。

プロパティ

確認メッセージの本文です。

確認メッセージのタイトルです。

LanguageModelToolInformation

lm.toolsで利用可能な、登録済みツールに関する情報です。

プロパティ

言語モデルに渡される可能性のあるこのツールの説明です。

このツールが受け入れる入力のJSONスキーマです。

ツールの一意の名前です。

ツールによって宣言されたタグのセットで、ツールの機能を大まかに記述します。ツールユーザーはこれらを使用して、現在のタスクに関連するツールのみにフィルタリングできます。

LanguageModelToolInvocationOptions<T>

ツール呼び出しに提供されるオプションです。

プロパティ

ツールを呼び出すための入力です。入力はLanguageModelToolInformation.inputSchemaで定義されたスキーマと一致する必要があります。

ツールが応答で返すトークンの数を示し、ツールが正確にトークンをカウントできるようにするオプションです。

ツール呼び出しをチャット参加者からのチャットリクエストに結び付ける不透明なオブジェクトです。

有効なツール呼び出しトークンを取得する唯一の方法は、チャットリクエストから提供されるtoolInvocationTokenを使用することです。その場合、チャット応答ビューでツール呼び出しの進行状況バーが自動的に表示され、ツールがユーザー確認を必要とする場合は、チャットビューにインラインで表示されます。

ツールがチャットリクエストの外部で呼び出されている場合、代わりにundefinedが渡され、確認以外の特別なUIは表示されません。

:ツールがその呼び出し中に別のツールを呼び出す場合、受信したtoolInvocationTokenを渡すことができます。

LanguageModelToolInvocationPrepareOptions<T>

LanguageModelTool.prepareInvocationのオプションです。

プロパティ

ツールが呼び出される入力です。

LanguageModelToolResult

ツール呼び出しから返される結果です。vscode/prompt-tsxを使用している場合、この結果はToolResultを使用してレンダリングされる場合があります。

コンストラクタ

LanguageModelToolResultを作成します。

パラメーター説明
content: Array<LanguageModelTextPart | LanguageModelPromptTsxPart>

ツール結果コンテンツパートのリストです。

戻り値説明
LanguageModelToolResult

プロパティ

ツール結果コンテンツパートのリストです。将来的に新しいコンテンツタイプで拡張される可能性があるため、unknownが含まれます。

参照 lm.invokeTool

LanguageModelToolResultPart

ツール呼び出しの結果です。これはツール呼び出しの対応物であり、ユーザーメッセージのコンテンツにのみ含めることができます。

コンストラクタ

パラメーター説明
callId: string

ツール呼び出しのIDです。

content: unknown[]

ツール結果のコンテンツです。

戻り値説明
LanguageModelToolResultPart

プロパティ

ツール呼び出しのIDです。

:これはツール呼び出しパートのcallIdと一致する必要があります。

ツール結果の値です。

LanguageModelToolTokenizationOptions

ツール呼び出しのためのトークン化に関連するオプションです。

プロパティ

既知の場合、ツールが結果で出力すべきトークンの最大数です。

メソッド

モデル固有のトークナイザーロジックを使用して、メッセージ内のトークン数をカウントします。

パラメーター説明
text: string

文字列です。

token?: CancellationToken

オプションのキャンセルAトークンです。CancellationTokenSource を参照して作成方法を確認してください。

戻り値説明
Thenable<number>

トークン数に解決されるThenableです。

LanguageStatusItem

言語ステータスアイテムは、アクティブなテキストエディターの言語ステータスレポート(選択されたリンターや設定問題の通知など)を提示するための推奨される方法です。

プロパティ

スクリーンリーダーがこのアイテムと対話する際に使用されるアクセシビリティ情報です。

アイテムが「ビジー」として表示されるかどうかを制御します。デフォルトはfalseです。

このアイテムのコマンドです。

このアイテムのオプションの、人間が読める詳細情報です。

このアイテムの識別子です。

「Java言語ステータス」などのこのアイテムの短い名前です。

このアイテムが表示されるエディターを定義するセレクターです。

このアイテムの重要度です。

デフォルトはinformationです。このプロパティを使用して、実行可能ファイルの欠落や無効な設定など、注意が必要な問題があることをユーザーに知らせることができます。

エントリに表示するテキストです。構文を利用してテキストにアイコンを埋め込むことができます。

My text $(icon-name) contains icons like $(icon-name) this one.

ここでicon-nameはThemeIconのアイコンセットから取られます(例:light-bulb, thumbsup, zapなど)。

メソッド

関連するリソースを破棄し、解放します。

パラメーター説明
戻り値説明
void

LanguageStatusSeverity

言語ステータスの重要度レベルを表します。

列挙メンバー

情報重要度レベルです。

警告重要度レベルです。

エラー重要度レベルです。

LinkedEditingRangeProvider

リンクされた編集範囲プロバイダーインターフェースは、拡張機能とリンクされた編集機能間の契約を定義します。

メソッド

ドキュメント内の特定のポジションに対して、そのポジションのシンボルの範囲と、同じコンテンツを持つすべての範囲を返します。新しいコンテンツが有効であれば、いずれかの範囲への変更を他のすべての範囲に適用できます。オプションで、有効なコンテンツを記述するための単語パターンを結果とともに返すことができます。結果固有の単語パターンが提供されない場合、言語設定からの単語パターンが使用されます。

パラメーター説明
document: TextDocument

プロバイダーが呼び出されたドキュメント。

position: Position

プロバイダーが呼び出されたポジション。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<LinkedEditingRanges>

一緒に編集できる範囲のリストです。

LinkedEditingRanges

一緒に編集できる範囲のリストと、有効な範囲コンテンツを記述する単語パターンを表します。

コンストラクタ

新しいリンクされた編集範囲オブジェクトを作成します。

パラメーター説明
ranges: Range[]

一緒に編集できる範囲のリストです。

wordPattern?: RegExp

指定された範囲の有効なコンテンツを記述するオプションの単語パターンです。

戻り値説明
LinkedEditingRanges

プロパティ

一緒に編集できる範囲のリストです。範囲は同じ長さとテキストコンテンツを持ち、重複することはできません。

指定された範囲の有効なコンテンツを記述するオプションの単語パターンです。パターンが提供されない場合、言語設定の単語パターンが使用されます。

Location

テキストファイル内の行など、リソース内の位置を表します。

コンストラクタ

新しい位置オブジェクトを作成します。

パラメーター説明
uri: Uri

リソース識別子です。

rangeOrPosition: Range | Position

範囲または位置です。位置は空の範囲に変換されます。

戻り値説明
Location

プロパティ

この位置のドキュメント範囲です。

この位置のリソース識別子です。

2つの位置の接続を表します。通常の位置に加えて、起源範囲を含む追加のメタデータを提供します。

プロパティ

このリンクの起源の範囲です。

マウスによる定義ホバーの強調表示範囲として使用されます。定義位置の単語範囲がデフォルトです。

このリンクの完全なターゲット範囲です。

このリンクの範囲です。

このリンクのターゲットリソース識別子です。

LogLevel

ログレベルです。

列挙メンバー

このレベルではメッセージはログに記録されません。

このレベルではすべてのメッセージがログに記録されます。

デバッグ以上のログレベルのメッセージがこのレベルでログに記録されます。

情報以上のログレベルのメッセージがこのレベルでログに記録されます。

警告以上のログレベルのメッセージがこのレベルでログに記録されます。

このレベルではエラーメッセージのみがログに記録されます。

LogOutputChannel

ログ出力を格納するためのチャネルです。

LogOutputChannelのインスタンスを取得するには、createOutputChannelを使用します。

イベント

チャネルのログレベルが変更されたときに発生するイベントです。

プロパティ

チャネルの現在のログレベルです。エディターのログレベルがデフォルトです。

この出力チャネルの人間が読める名前です。

メソッド

指定された値をチャネルに追加します。

パラメーター説明
value: string

文字列。偽値は出力されません。

戻り値説明
void

指定された値と改行文字をチャネルに追加します。

パラメーター説明
value: string

文字列。偽値も出力されます。

戻り値説明
void

チャネルからすべての出力を削除します。

パラメーター説明
戻り値説明
void

指定されたデバッグメッセージをチャネルに出力します。

メッセージは、チャネルがデバッグログレベル以下を表示するように構成されている場合にのみログに記録されます。

パラメーター説明
message: string

ログに記録するデバッグメッセージ

...args: any[]
戻り値説明
void

関連するリソースを破棄し、解放します。

パラメーター説明
戻り値説明
void

指定されたエラーまたはエラーメッセージをチャネルに出力します。

メッセージは、チャネルがエラーログレベル以下を表示するように構成されている場合にのみログに記録されます。

パラメーター説明
error: string | Error

ログに記録するエラーまたはエラーメッセージ

...args: any[]
戻り値説明
void

このチャネルをUIから非表示にします。

パラメーター説明
戻り値説明
void

指定された情報メッセージをチャネルに出力します。

メッセージは、チャネルが情報ログレベル以下を表示するように構成されている場合にのみログに記録されます。

パラメーター説明
message: string

ログに記録する情報メッセージ

...args: any[]
戻り値説明
void

チャネルからすべての出力を指定された値に置き換えます。

パラメーター説明
value: string

文字列。偽値は出力されません。

戻り値説明
void

このチャネルをUIに表示します。

パラメーター説明
preserveFocus?: boolean

trueの場合、チャネルはフォーカスを取得しません。

戻り値説明
void

このチャネルをUIに表示します。

  • 非推奨 - パラメータが1つだけのオーバーロード(show(preserveFocus?: boolean): void)を使用してください。
パラメーター説明
column?: ViewColumn

この引数は**非推奨**であり、無視されます。

preserveFocus?: boolean

trueの場合、チャネルはフォーカスを取得しません。

戻り値説明
void

指定されたトレースメッセージをチャネルに出力します。このメソッドを使用して、詳細な情報をログに記録します。

メッセージは、チャネルがトレースログレベルを表示するように構成されている場合にのみログに記録されます。

パラメーター説明
message: string

ログに記録するトレースメッセージ

...args: any[]
戻り値説明
void

指定された警告メッセージをチャネルに出力します。

メッセージは、チャネルが警告ログレベル以下を表示するように構成されている場合にのみログに記録されます。

パラメーター説明
message: string

ログに記録する警告メッセージ

...args: any[]
戻り値説明
void

MarkdownString

マークダウン構文による書式設定をサポートする人間が読めるテキストです。

supportThemeIconstrueに設定されている場合、$()構文によるテーマアイコンのレンダリングがサポートされます。

supportHtmltrueに設定されている場合、埋め込みHTMLのレンダリングがサポートされます。

コンストラクタ

指定された値で新しいマークダウン文字列を作成します。

パラメーター説明
value?: string

オプション、初期値です。

supportThemeIcons?: boolean

オプション。MarkdownString内でThemeIconsがサポートされるかどうかを指定します。

戻り値説明
MarkdownString

プロパティ

相対パスが解決される基準となるURIです。

baseUri/で終わる場合、ディレクトリと見なされ、マークダウン内の相対パスはそのディレクトリを基準に解決されます。

const md = new vscode.MarkdownString(`[link](./file.js)`);
md.baseUri = vscode.Uri.file('/path/to/dir/');
// Here 'link' in the rendered markdown resolves to '/path/to/dir/file.js'

baseUriがファイルの場合、マークダウン内の相対パスはそのファイルの親ディレクトリを基準に解決されます。

const md = new vscode.MarkdownString(`[link](./file.js)`);
md.baseUri = vscode.Uri.file('/path/to/otherFile.js');
// Here 'link' in the rendered markdown resolves to '/path/to/file.js'

このマークダウン文字列が信頼できるソースからのものであることを示します。信頼できるマークダウンのみが、コマンドを実行するリンクをサポートします(例:[Run it](command:myCommandId))。

デフォルトはfalse(コマンドは無効)です。

このマークダウン文字列に生のHTMLタグを含めることができることを示します。デフォルトはfalseです。

supportHtmlがfalseの場合、マークダウンレンダラーはマークダウンテキストに表示される生のHTMLタグをすべて取り除きます。これは、レンダリングにはマークダウン構文しか使用できないことを意味します。

supportHtmlがtrueの場合、マークダウンレンダラーは安全なHTMLタグと属性のサブセットもレンダリングを許可します。サポートされているすべてのタグと属性のリストについては、https://github.com/microsoft/vscode/blob/6d2920473c6f13759c978dd89104c4270a83422d/src/vs/base/browser/markdownRenderer.ts#L296を参照してください。

このマークダウン文字列にThemeIcons(例:$(zap))を含めることができることを示します。

マークダウン文字列です。

メソッド

指定された文字列を、指定された言語を使用してコードブロックとして追加します。

パラメーター説明
value: string

コードスニペットです。

language?: string

オプションの言語識別子です。

戻り値説明
MarkdownString

指定された文字列を「そのまま」このマークダウン文字列に追加します。supportThemeIconstrueの場合、value内のThemeIconsはアイコン化されます。

パラメーター説明
value: string

マークダウン文字列です。

戻り値説明
MarkdownString

指定された文字列をこのマークダウン文字列に追加し、エスケープします。

パラメーター説明
value: string

プレーンテキストです。

戻り値説明
MarkdownString

MarkedString

MarkedStringは、人間が読めるテキストをレンダリングするために使用できます。マークダウン文字列か、言語とコードスニペットを提供するコードブロックのいずれかです。マークダウン文字列はサニタイズされる(HTMLはエスケープされる)ことに注意してください。

  • 非推奨 - このタイプは非推奨です。MarkdownStringを代わりに使用してください。

McpHttpServerDefinition

McpHttpServerDefinitionは、Streamable HTTPトランスポートを使用して利用可能なMCPサーバーを表します。

コンストラクタ

パラメーター説明
label: string

サーバーの人間が読める名前です。

uri: Uri

サーバーのURIです。

headers?: Record<string, string>

サーバーへの各リクエストに含まれるオプションの追加ヘッダーです。

version?: string
戻り値説明
McpHttpServerDefinition

プロパティ

サーバーへの各リクエストに含まれるオプションの追加ヘッダーです。

サーバーの人間が読める名前です。

サーバーのURIです。エディターは各セッションを開始するためにこのURIにPOSTリクエストを行います。

サーバーのオプションのバージョン識別です。これが変更された場合、エディターはツールが変更されたことを示し、それらを更新するよう促します。

McpServerDefinition

McpServerDefinitionProviderから返される可能性のある、さまざまなタイプのModel Context Protocolサーバーを記述する定義です。

McpServerDefinitionProvider<T>

Model Context Protocolサーバー定義を提供できる型です。これは拡張機能のアクティベーション中にlm.registerMcpServerDefinitionProviderを使用して登録する必要があります。

イベント

利用可能なサーバーのセットが変更されたことを通知するために発生するオプションのイベントです。

メソッド

利用可能なMCPサーバーを提供します。エディターは言語モデルのサーバーの可用性を確保するためにこのメソッドを積極的に呼び出すため、拡張機能は認証など、ユーザーとの対話が必要なアクションを実行すべきではありません。

パラメーター説明
token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T[]>

利用可能なMCPサーバーの配列です。

この関数は、エディターがMCPサーバーを起動する必要があるときに呼び出されます。この時点で、拡張機能は認証など、ユーザーとの対話が必要なアクションを実行できます。サーバーの非readonlyプロパティは変更される可能性があり、拡張機能は解決されたサーバーを返す必要があります。

拡張機能は、サーバーを起動すべきでないことを示すためにundefinedを返すか、エラーをスローすることができます。保留中のツール呼び出しがある場合、エディターはそれをキャンセルし、言語モデルにエラーメッセージを返します。

パラメーター説明
server: T

解決するMCPサーバーです。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T>

解決されたサーバー、またはそれを解決するthenableです。これは、非読み取り専用プロパティが入力された、指定されたserver定義である場合があります。

McpStdioServerDefinition

McpStdioServerDefinitionは、ローカルプロセスを実行し、その標準入力および標準出力ストリームで操作することによって利用可能なMCPサーバーを表します。プロセスは拡張ホストの子プロセスとして生成され、デフォルトではシェル環境では実行されません。

コンストラクタ

パラメーター説明
label: string

サーバーの人間が読める名前です。

command: string

サーバーを起動するために使用されるコマンドです。

args?: string[]

サーバーに渡される追加のコマンドライン引数です。

env?: Record<string, string | number>

サーバーのオプションの追加環境情報です。

version?: string

サーバーのオプションのバージョン識別です。

戻り値説明
McpStdioServerDefinition

プロパティ

サーバーに渡される追加のコマンドライン引数です。

サーバーを起動するために使用されるコマンドです。Node.jsベースのサーバーは、エディターのNode.jsバージョンを使用してスクリプトを実行するためにprocess.execPathを使用する場合があります。

サーバーを起動するために使用される作業ディレクトリです。

サーバーのオプションの追加環境情報です。この環境の変数は、エディターの拡張機能ホストのデフォルト環境変数を上書きまたは削除(nullの場合)します。

サーバーの人間が読める名前です。

サーバーのオプションのバージョン識別です。これが変更された場合、エディターはツールが変更されたことを示し、それらを更新するよう促します。

Memento

Mementoはストレージユーティリティを表します。値を保存および取得できます。

メソッド

値を返します。

パラメーター説明
key: string

文字列です。

戻り値説明
T

保存された値、またはundefined

値を返します。

パラメーター説明
key: string

文字列です。

defaultValue: T

指定されたキーを持つ値(undefined)がない場合に返されるべき値です。

戻り値説明
T

保存された値、またはデフォルト値。

保存されているキーを返します。

パラメーター説明
戻り値説明
readonly string[]

保存されているキー。

値を保存します。値はJSONに文字列化できる必要があります。

:値をundefinedとして使用すると、基になるストレージからキーが削除されます。

パラメーター説明
key: string

文字列です。

value: any

値。循環参照を含んではいけません。

戻り値説明
Thenable<void>

MessageItem

情報、警告、またはエラーメッセージとともに表示されるアクションを表します。

参照

プロパティ

モーダルダイアログの場合、ユーザーがダイアログをキャンセルしたとき(例:ESCキーを押すことによって)にアイテムがトリガーされるべきであることを示唆するヒントです。

注:このオプションは非モーダルメッセージでは無視されます。

「再試行」、「ログを開く」などの短いタイトルです。

MessageOptions

メッセージの動作を設定するオプションです。

参照

プロパティ

人間が読める詳細メッセージで、目立たないようにレンダリングされます。:詳細はモーダルメッセージに対してのみ表示されます。

このメッセージがモーダルであるべきことを示します。

NotebookCell

ノートブックのセルを表し、コードセルまたはマークアップセルのいずれかです。

NotebookCellインスタンスは不変であり、ノートブックの一部である限り同期が保たれます。

プロパティ

テキストドキュメントとして表される、このセルのテキストです。

このセルの最新の実行サマリーです。

含まれるノートブック内のこのセルのインデックスです。セルがノートブック内で移動すると、インデックスは更新されます。セルがノートブックから削除されると、インデックスは-1になります。

このセルの種類です。

このセルのメタデータです。何でもかまいませんが、JSONに文字列化できる必要があります。

このセルを含むノートブックです。

このセルの出力です。

NotebookCellData

NotebookCellDataはノートブックセルの生の表現です。NotebookDataの一部です。

コンストラクタ

新しいセルデータを作成します。最小限のセルデータは、その種類、ソース値、およびソースの言語識別子を指定します。

パラメーター説明
kind: NotebookCellKind

種類。

value: string

ソース値。

languageId: string

ソース値の言語識別子です。

戻り値説明
NotebookCellData

プロパティ

このセルデータの実行サマリーです。

このセルデータの種類です。

このセルデータのソース値の言語識別子です。getLanguagesからの任意の値が可能です。

このセルデータの任意のメタデータです。何でもかまいませんが、JSONに文字列化できる必要があります。

このセルデータの出力です。

このセルデータのソース値 - ソースコードまたはフォーマット済みテキストのいずれかです。

NotebookCellExecution

NotebookCellExecutionは、ノートブックコントローラーがノートブックセルを実行中に変更する方法です。

セル実行オブジェクトが作成されると、セルは[NotebookCellExecutionState.Pending Pending](#NotebookCellExecutionState.Pending Pending)状態に入ります。実行タスクでstart(...)が呼び出されると、[NotebookCellExecutionState.Executing Executing](#NotebookCellExecutionState.Executing Executing)状態に入ります。end(...)が呼び出されると、[NotebookCellExecutionState.Idle Idle](#NotebookCellExecutionState.Idle Idle)状態に入ります。

プロパティ

この実行が作成されたセルです。

このセル実行の順序を設定および解除します。

UIからセルの実行がキャンセルされたときにトリガーされるキャンセル・トークンです。

:この実行を作成したコントローラー割り込みハンドラーを使用する場合、キャンセル・トークンはトリガーされません。

メソッド

実行中のセルの出力、またはこの実行によって影響を受ける別のセルに出力を追加します。

パラメーター説明
out: NotebookCellOutput | readonly NotebookCellOutput[]

現在の出力に追加される出力です。

cell?: NotebookCell

出力がクリアされるセルです。デフォルトは、この実行のセルです。

戻り値説明
Thenable<void>

操作が完了したときに解決されるthenableです。

既存のセル出力に出力項目を追加します。

パラメーター説明
items: NotebookCellOutputItem | readonly NotebookCellOutputItem[]

既存の出力に追加される出力項目です。

output: NotebookCellOutput

すでに存在する出力オブジェクトです。

戻り値説明
Thenable<void>

操作が完了したときに解決されるthenableです。

実行中のセル、またはこの実行によって影響を受ける別のセルの出力をクリアします。

パラメーター説明
cell?: NotebookCell

出力がクリアされるセルです。デフォルトは、この実行のセルです。

戻り値説明
Thenable<void>

操作が完了したときに解決されるthenableです。

実行が終了したことを通知します。

パラメーター説明
success: boolean

trueの場合、セルステータスバーに緑色のチェックが表示されます。falseの場合、赤いXが表示されます。undefinedの場合、チェックまたはXアイコンは表示されません。

endTime?: number

実行が完了した時刻(Unixエポックからのミリ秒)です。

戻り値説明
void

現在実行中のセル、またはこの実行によって影響を受ける他のセルの出力を置き換えます。

パラメーター説明
out: NotebookCellOutput | readonly NotebookCellOutput[]

現在の出力を置き換える出力です。

cell?: NotebookCell

出力がクリアされるセルです。デフォルトは、この実行のセルです。

戻り値説明
Thenable<void>

操作が完了したときに解決されるthenableです。

既存のセル出力のすべての出力アイテムを置き換えます。

パラメーター説明
items: NotebookCellOutputItem | readonly NotebookCellOutputItem[]

既存の出力のアイテムを置き換える出力アイテムです。

output: NotebookCellOutput

すでに存在する出力オブジェクトです。

戻り値説明
Thenable<void>

操作が完了したときに解決されるthenableです。

実行が開始されたことを通知します。

パラメーター説明
startTime?: number

実行が開始された時刻(Unixエポックからのミリ秒単位)。セルがどのくらい実行されているかを示す時計を駆動するために使用されます。指定しない場合、時計は表示されません。

戻り値説明
void

NotebookCellExecutionSummary

ノートブックセルの実行の概要です。

プロパティ

実行が発生した順序です。

実行が正常に終了したかどうかを示します。

実行が開始および終了した時刻(Unixタイムスタンプ)

パラメーター説明
endTime: number

実行終了時刻。

startTime: number

実行開始時刻。

NotebookCellKind

ノートブックセルの種類です。

列挙メンバー

マークアップセルは、表示に使用される書式設定されたソースです。

コードセルは、実行でき、出力を生成するソースです。

NotebookCellOutput

ノートブックセル出力は、セルを実行した結果を表します。これは、複数の出力アイテムのコンテナ型であり、含まれるアイテムは同じ結果を表しますが、異なるMIMEタイプを使用します。

コンストラクタ

新しいノートブック出力を作成します。

パラメーター説明
items: NotebookCellOutputItem[]

ノートブック出力アイテム。

metadata?:

オプションのメタデータ。

戻り値説明
NotebookCellOutput

プロパティ

この出力の出力アイテム。各アイテムは同じ結果を表す必要があります。:出力ごとにMIMEタイプが繰り返されるのは無効であり、エディターはそのうちの1つを選択します。

new vscode.NotebookCellOutput([
  vscode.NotebookCellOutputItem.text('Hello', 'text/plain'),
  vscode.NotebookCellOutputItem.text('<i>Hello</i>', 'text/html'),
  vscode.NotebookCellOutputItem.text('_Hello_', 'text/markdown'),
  vscode.NotebookCellOutputItem.text('Hey', 'text/plain') // INVALID: repeated type, editor will pick just one
]);

このセル出力の任意のメタデータ。何でも構いませんが、JSON文字列化可能である必要があります。

NotebookCellOutputItem

MIMEタイプとデータによって定義されるノートブック出力の表現の一つです。

静的

application/vnd.code.notebook.error MIMEタイプを使用するNotebookCellOutputItemを作成するファクトリ関数。

パラメーター説明
value: Error

エラーオブジェクト。

戻り値説明
NotebookCellOutputItem

新しい出力アイテムオブジェクト。

JSONオブジェクトからNotebookCellOutputItemを作成するファクトリ関数。

: この関数は「文字列化されたJSON」ではなく、文字列化できるオブジェクトを期待しています。渡された値がJSON文字列化できない場合、この関数はエラーをスローします。

パラメーター説明
value: any

JSON文字列化可能な値。

mime?: string

オプションのMIMEタイプ。デフォルトはapplication/json

戻り値説明
NotebookCellOutputItem

新しい出力アイテムオブジェクト。

application/vnd.code.notebook.stderr MIMEタイプを使用するNotebookCellOutputItemを作成するファクトリ関数。

パラメーター説明
value: string

文字列です。

戻り値説明
NotebookCellOutputItem

新しい出力アイテムオブジェクト。

application/vnd.code.notebook.stdout MIMEタイプを使用するNotebookCellOutputItemを作成するファクトリ関数。

パラメーター説明
value: string

文字列です。

戻り値説明
NotebookCellOutputItem

新しい出力アイテムオブジェクト。

文字列からNotebookCellOutputItemを作成するファクトリ関数。

: 文字列のバイトを作成するためにUTF-8エンコーダが使用されます。

パラメーター説明
value: string

文字列です。

mime?: string

オプションのMIMEタイプ。デフォルトはtext/plain

戻り値説明
NotebookCellOutputItem

新しい出力アイテムオブジェクト。

コンストラクタ

新しいノートブックセル出力アイテムを作成します。

パラメーター説明
data: Uint8Array

出力アイテムの値。

mime: string

出力アイテムのMIMEタイプ。

戻り値説明
NotebookCellOutputItem

プロパティ

この出力アイテムのデータ。常に符号なし8ビット整数の配列である必要があります。

データプロパティがどのように解釈されるかを決定するMIMEタイプ。

ノートブックには特定のMIMEタイプの組み込みサポートがあり、拡張機能は新しいタイプのサポートを追加したり、既存のタイプを上書きしたりできます。

NotebookCellStatusBarAlignment

ステータスバーアイテムの配置を表します。

列挙メンバー

左側に配置されます。

右側に配置されます。

NotebookCellStatusBarItem

セルのステータスバーへの貢献。

コンストラクタ

新しいNotebookCellStatusBarItemを作成します。

パラメーター説明
text: string

アイテムに表示するテキスト。

alignment: NotebookCellStatusBarAlignment

アイテムが左揃えか右揃えか。

戻り値説明
NotebookCellStatusBarItem

プロパティ

スクリーンリーダーがこのアイテムを操作する際に使用されるアクセシビリティ情報。

アイテムが左揃えか右揃えか。

クリック時に実行するオプションのコマンドまたはコマンドの識別子。

コマンドは既知である必要があります。

これがCommandオブジェクトの場合、エディターによってcommandargumentsのみが使用されることに注意してください。

アイテムの優先度。値が大きいアイテムほど左側に表示されます。

アイテムに表示するテキスト。

アイテムにカーソルを合わせたときに表示されるツールチップ。

NotebookCellStatusBarItemProvider

セルのエディターの下に表示されるステータスバーにアイテムを提供できるプロバイダーです。

イベント

ステータスバーアイテムが変更されたことを通知するオプションのイベント。プロバイダーメソッドが再度呼び出されます。

メソッド

プロバイダーは、セルがビューにスクロールされたとき、コンテンツ、出力、言語、またはメタデータが変更されたとき、および実行状態が変更されたときに呼び出されます。

パラメーター説明
cell: NotebookCell

アイテムを返す対象のセル。

token: CancellationToken

このリクエストをキャンセルする必要がある場合にトリガーされるトークン。

戻り値説明
ProviderResult<NotebookCellStatusBarItem | NotebookCellStatusBarItem[]>

NotebookController

ノートブックコントローラーは、ノートブックセルを実行できるエンティティを表します。これはしばしばカーネルと呼ばれます。

複数のコントローラーが存在する可能性があり、エディターはユーザーに特定のノートブックに使用するコントローラーを選択させます。notebookTypeプロパティは、コントローラーがどのような種類のノートブック用であるかを定義し、updateNotebookAffinity関数は、コントローラーが特定のノートブックドキュメントに対する優先度を設定できるようにします。コントローラーが選択されると、そのonDidChangeSelectedNotebooksイベントが発火します。

セルが実行されると、エディターはexecuteHandlerを呼び出し、コントローラーはノートブックセル実行を作成および完了することが期待されます。ただし、コントローラーは独自に実行を作成することもできます。

イベント

コントローラーがノートブックドキュメントに対して選択または非選択されるたびに発生するイベント。

ノートブックには複数のコントローラーが存在する場合があり、その場合、コントローラーは選択される必要があります。これはユーザーのジェスチャであり、コントローラーが推奨されたノートブックと対話するときに明示的または暗黙的に発生します。可能な場合、エディターは選択される可能性が最も高いコントローラーを推奨します。

:コントローラーの選択は(コントローラーのidによって)永続化され、コントローラーが再作成されたとき、またはノートブックが開かれたときに復元されます。

プロパティ

目立たないようにレンダリングされる人間が読める説明。

目立たないようにレンダリングされる人間が読める詳細。

実行ハンドラーは、UIで実行ジェスチャが選択されたときに呼び出されます。たとえば、「セルの実行」、「すべて実行」、「選択範囲の実行」などです。実行ハンドラーは、実行オブジェクトの作成と管理を担当します。

パラメーター説明
cells: NotebookCell[]
notebook: NotebookDocument
controller: NotebookController
戻り値説明
void | Thenable<void>

このノートブックコントローラーの識別子。

:コントローラーは識別子によって記憶され、拡張機能はセッション間で安定した識別子を使用する必要があります。

オプションの割り込みハンドラー。

デフォルトでは、セルの実行はトークンを介してキャンセルされます。キャンセル・トークンは、コントローラーがその実行を追跡し、後で特定の実行をキャンセルできることを要求します。すべてのシナリオでそれが可能であるわけではありません。例えば、REPLスタイルのコントローラーは、現在実行中のものを中断することで機能することがよくあります。これらのケースのために割り込みハンドラーが存在します。これは、ターミナルにおけるSIGINTまたはControl+Cに相当するものと考えることができます。

: キャンセル・トークンのサポートが推奨されており、割り込みハンドラーはトークンがサポートできない場合にのみ使用すべきです。

パラメーター説明
notebook: NotebookDocument
戻り値説明
void | Thenable<void>

このノートブックコントローラーの人間が読めるラベル。

このコントローラーが対象とするノートブックの種類。

このコントローラーでサポートされている言語識別子の配列。getLanguagesからの任意の言語識別子が可能です。偽値の場合、すべての言語がサポートされます。

サンプル

// support JavaScript and TypeScript
myController.supportedLanguages = ['javascript', 'typescript'];

// support all languages
myController.supportedLanguages = undefined; // falsy
myController.supportedLanguages = []; // falsy

このコントローラーが実行順序をサポートしているかどうか。エディターがそれらのプレースホルダーをレンダリングできるようにするためです。

メソッド

セル実行タスクを作成します。

:一度に1つのセルにつき1つの実行のみが可能であり、別のセル実行がアクティブな間にセル実行が作成された場合、エラーがスローされます。

これは、実行ハンドラーが呼び出されたとき、またはセルの実行がすでに開始されていた場合(例:セルがすでに実行中であったり、セルの実行が別のソースからトリガーされた場合)に応答して使用されるべきです。

パラメーター説明
cell: NotebookCell

実行を作成する対象のノートブックセル。

戻り値説明
NotebookCellExecution

ノートブックセルの実行。

関連するリソースを破棄し、解放します。

パラメーター説明
戻り値説明
void

コントローラーは特定のノートブックドキュメントに対してアフィニティを設定できます。これにより、一部のノートブックでコントローラーがより目立つように表示されます。

パラメーター説明
notebook: NotebookDocument

優先度が設定されるノートブック。

affinity: NotebookControllerAffinity

コントローラーアフィニティ

戻り値説明
void

NotebookControllerAffinity

ノートブックドキュメントに対するノートブックコントローラーのアフィニティ。

参照: NotebookController.updateNotebookAffinity

列挙メンバー

デフォルトのアフィニティ。

コントローラーがノートブックに対して優先されます。

NotebookData

ノートブックの生の表現。

エディターがNotebookDocumentを作成できるように、拡張機能はNotebookDataを作成する責任があります。

参照: NotebookSerializer

コンストラクタ

新しいノートブックデータを作成します。

パラメーター説明
cells: NotebookCellData[]

セルデータの配列。

戻り値説明
NotebookData

プロパティ

このノートブックデータのセルデータ。

ノートブックデータの任意のメタデータ。

NotebookDocument

コードまたはマークアップセルのシーケンスであるノートブックを表します。ノートブックドキュメントはノートブックデータから作成されます。

プロパティ

ノートブック内のセルの数。

ノートブックが閉じられている場合、trueです。閉じられたノートブックはもはや同期されず、同じリソースが再度開かれても再利用されません。

未保存の変更がある場合、true

このノートブックが、まだ保存されていない無題のファイルを表しているか。

このノートブックの任意のメタデータ。何でも構いませんが、JSON文字列化可能である必要があります。

ノートブックの種類。

このノートブックに関連付けられたURI。

: ほとんどのノートブックはfileスキームを使用し、これはディスク上のファイルであることを意味します。しかし、すべてのノートブックがディスクに保存されているわけではないため、基盤となるファイルやディスク上の兄弟ファイルにアクセスしようとする前にschemeを確認する必要があります。

参照: FileSystemProvider

このノートブックのバージョン番号(元に戻す/やり直すを含む変更ごとに厳密に増加します)。

メソッド

指定されたインデックスにあるセルを返します。インデックスはノートブックに合わせて調整されます。

パラメーター説明
index: number

取得するセルのインデックス。

戻り値説明
NotebookCell

セル

このノートブックのセルを取得します。範囲を指定することでサブセットを取得できます。範囲はノートブックに調整されます。

パラメーター説明
range?: NotebookRange

ノートブックの範囲。

戻り値説明
NotebookCell[]

範囲に含まれるセル、またはすべてのセル。

ドキュメントを保存します。保存は対応するシリアライザーによって処理されます。

パラメーター説明
戻り値説明
Thenable<boolean>

ドキュメントが保存されたときにtrueに解決されるPromise。ファイルがダーティでない場合や保存に失敗した場合はfalseを返します。

NotebookDocumentCellChange

ノートブックセルの変更を記述します。

参照: NotebookDocumentChangeEvent

プロパティ

影響を受けるセル。

セルのドキュメント、または変更がない場合はundefined

: 実行された編集など、詳細な変更情報についてはonDidChangeTextDocumentイベントを使用してください。

セルの新しい実行概要、または変更がない場合はundefined

セルの新しいメタデータ、または変更がない場合はundefined

セルの新しい出力、または変更がない場合はundefined

NotebookDocumentChangeEvent

トランザクション的なノートブックの変更を記述するイベント。

プロパティ

セルの変更の配列。

追加または削除されたセルを記述するコンテンツ変更の配列。

ノートブックの新しいメタデータ、または変更がない場合はundefined

影響を受けるノートブック。

NotebookDocumentContentChange

新しく追加されたセルや削除されたセルなど、ノートブックドキュメントの構造的な変更を記述します。

参照: NotebookDocumentChangeEvent

プロパティ

ドキュメントに追加されたセル。

セルが追加または削除された範囲。

この範囲がの場合、セルは削除されていません。

ドキュメントから削除されたセル。

NotebookDocumentContentOptions

ノートブックコンテンツオプションは、ノートブックのどの部分が永続化されるかを定義します。注意

たとえば、ノートブックシリアライザは出力の保存をオプトアウトでき、その場合、出力が変更されてもエディタはノートブックをダーティとマークしません。

プロパティ

セルメタデータプロパティの変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、および差分エディターで使用されるかどうかを制御します(デフォルトはfalse)。コンテンツプロバイダーがファイルドキュメントにメタデータプロパティを永続化しない場合、これをtrueに設定する必要があります。

ドキュメントメタデータプロパティの変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、および差分エディターで使用されるかどうかを制御します(デフォルトはfalse)。コンテンツプロバイダーがファイルドキュメントにメタデータプロパティを永続化しない場合、これをtrueに設定する必要があります。

出力変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、および差分エディターで使用されるかどうかを制御します(デフォルトはfalse)。コンテンツプロバイダーがファイルドキュメントに出力を永続化しない場合、これをtrueに設定する必要があります。

NotebookDocumentShowOptions

ノートブックエディターノートブックドキュメントを表示する際の動作を設定するためのオプションを表します。

プロパティ

オプションのフラグ。trueの場合、ノートブックエディターがフォーカスを取得するのを停止します。

オプションのフラグで、ノートブックエディタータブがプレビューとして表示されるかどうかを制御します。プレビュータブは、明示的または編集によって固定されるまで、置き換えられて再利用されます。デフォルトの動作は、workbench.editor.enablePreview設定に依存します。

ノートブックエディターでドキュメントに適用するオプションの選択範囲。

ノートブックエディターを表示するオプションのビューカラム。デフォルトはアクティブです。存在しないカラムは、ViewColumn.Nineの最大値まで必要に応じて作成されます。ViewColumn.Besideを使用して、現在アクティブなエディターの横にエディターを開きます。

NotebookDocumentWillSaveEvent

ノートブックドキュメントが保存されるときに発火するイベント。

保存される前にドキュメントに変更を加えるには、ワークスペース編集に解決されるthenableを引数に指定してwaitUntil関数を呼び出します。

プロパティ

保存がトリガーされた理由。

キャンセルトークン。

メソッド

イベントループを一時停止し、ワークスペース編集を適用することができます。この関数への後続の呼び出しの編集は順番に適用されます。ノートブックドキュメントの同時変更が発生した場合、編集は無視されます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことができません。

workspace.onWillSaveNotebookDocument(event => {
  // async, will *throw* an error
  setTimeout(() => event.waitUntil(promise));

  // sync, OK
  event.waitUntil(promise);
});
パラメーター説明
thenable: Thenable<WorkspaceEdit>

ワークスペース編集に解決されるthenable。

戻り値説明
void

指定されたthenableが解決されるまでイベントループを一時停止できます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができます。

パラメーター説明
thenable: Thenable<any>

保存を遅延させるthenableです。

戻り値説明
void

NotebookEdit

ノートブック編集は、ノートブックの内容に適用されるべき編集を表します。

静的

ノートブック内のセルを削除する編集を作成するユーティリティ。

パラメーター説明
range: NotebookRange

削除するセルの範囲。

戻り値説明
NotebookEdit

ノートブック内のセルを置き換える編集を作成するユーティリティ。

パラメーター説明
index: number

セルを挿入するインデックス。

newCells: NotebookCellData[]

新しいノートブックセル。

戻り値説明
NotebookEdit

ノートブック内のセルを置き換える編集を作成するユーティリティ。

パラメーター説明
range: NotebookRange

置き換えるセルの範囲

newCells: NotebookCellData[]

新しいノートブックセル。

戻り値説明
NotebookEdit

セルのメタデータを更新する編集を作成するユーティリティ。

パラメーター説明
index: number

更新するセルのインデックス。

newCellMetadata:

セルの新しいメタデータ。

戻り値説明
NotebookEdit

ノートブックのメタデータを更新する編集を作成するユーティリティ。

パラメーター説明
newNotebookMetadata:

ノートブックの新しいメタデータ。

戻り値説明
NotebookEdit

コンストラクタ

新しいノートブック編集を作成します。

パラメーター説明
range: NotebookRange

ノートブックの範囲。

newCells: NotebookCellData[]

新しいセルデータの配列。

戻り値説明
NotebookEdit

プロパティ

セルのオプションの新しいメタデータ。

挿入される新しいセル。空の場合もあります。

ノートブックのオプションの新しいメタデータ。

編集されるセルの範囲。空の場合もあります。

NotebookEditor

ノートブックにアタッチされたノートブックエディターを表します。NotebookEditorの追加プロパティは、後で最終決定される提案APIで利用できます。

プロパティ

このノートブックエディターに関連付けられたノートブックドキュメント

このノートブックエディターにおける主要な選択範囲。

このノートブックエディターのすべての選択範囲。

主要な選択範囲(またはフォーカスされた範囲)はselections[0]です。ドキュメントにセルがない場合、主要な選択範囲は空の{ start: 0, end: 0 }になります。

このエディターが表示されるカラム。

エディターの現在の可視範囲(垂直方向)。

メソッド

指定された範囲を表示するために、revealTypeで示されるようにスクロールします。

パラメーター説明
range: NotebookRange

範囲。

revealType?: NotebookEditorRevealType

rangeを表示するためのスクロール戦略。

戻り値説明
void

NotebookEditorRevealType

ノートブックにアタッチされたノートブックエディターを表します。

列挙メンバー

範囲は可能な限り少ないスクロールで表示されます。

範囲は常にビューポートの中央に表示されます。

範囲がビューポート外の場合、ビューポートの中央に表示されます。それ以外の場合は、可能な限り少ないスクロールで表示されます。

範囲は常にビューポートの最上部に表示されます。

NotebookEditorSelectionChangeEvent

ノートブックエディターの選択範囲の変更を記述するイベントを表します。

プロパティ

選択範囲が変更されたノートブックエディター

NotebookEditorVisibleRangesChangeEvent

ノートブックエディターの可視範囲の変更を記述するイベントを表します。

プロパティ

可視範囲が変更されたノートブックエディター

NotebookRange

ノートブック範囲は、2つのセルインデックスの順序付きペアを表します。startがend以下であることが保証されます。

コンストラクタ

新しいノートブック範囲を作成します。startendより前または等しくない場合、値はスワップされます。

パラメーター説明
start: number

開始インデックス

end: number

終了インデックス。

戻り値説明
NotebookRange

プロパティ

この範囲の排他的な終了インデックス(0ベース)。

startendが等しい場合、true

この範囲の0ベースの開始インデックス。

メソッド

この範囲から新しい範囲を派生させます。

パラメーター説明
change: {end: number, start: number}

この範囲への変更を記述するオブジェクト。

戻り値説明
NotebookRange

指定された変更を反映する範囲。変更が何も変更しない場合は、this範囲を返します。

NotebookRendererMessaging

レンダラーメッセージングは、単一のレンダラーと通信するために使用されます。notebooks.createRendererMessagingから返されます。

イベント

レンダラーからメッセージが受信されたときに発生するイベント。

メソッド

1つまたはすべてのレンダラーにメッセージを送信します。

パラメーター説明
message: any

送信するメッセージ

editor?: NotebookEditor

メッセージのターゲットとなるエディター。指定しない場合、メッセージはすべてのレンダラーに送信されます。

戻り値説明
Thenable<boolean>

メッセージが任意のレンダラーに正常に配信されたかどうかを示すブール値。

NotebookSerializer

ノートブックシリアライザは、エディターがノートブックファイルを開くことを可能にします。

その核となるのは、エディターはノートブックデータ構造しか知らないが、そのデータ構造がファイルに書き込まれる方法やファイルから読み込まれる方法は知らないということです。ノートブックシリアライザは、バイトをノートブックデータに逆シリアル化し、その逆も行うことで、このギャップを埋めます。

メソッド

ノートブックファイルの内容をノートブックデータ構造に逆シリアル化します。

パラメーター説明
content: Uint8Array

ノートブックファイルの内容。

token: CancellationToken

キャンセルトークン。

戻り値説明
NotebookData | Thenable<NotebookData>

ノートブックデータ、またはそれに解決されるthenable。

ノートブックデータをファイル内容にシリアル化します。

パラメーター説明
data: NotebookData

ノートブックデータ構造。

token: CancellationToken

キャンセルトークン。

戻り値説明
Uint8Array | Thenable<Uint8Array>

バイトの配列、またはそれに解決されるThenableです。

OnEnterRule

Enterキーを押したときに評価されるルールを記述します。

プロパティ

実行するアクション。

このルールは、カーソル後のテキストがこの正規表現に一致する場合にのみ実行されます。

このルールは、カーソル前のテキストがこの正規表現に一致する場合にのみ実行されます。

このルールは、現在の行の上のテキストがこの正規表現に一致する場合にのみ実行されます。

OnTypeFormattingEditProvider

ドキュメント整形プロバイダーインターフェースは、拡張機能と整形機能間の契約を定義します。

メソッド

文字が入力された後にフォーマット編集を提供します。

指定された位置と文字は、プロバイダーに位置を拡張する範囲のヒントを与えるべきです。たとえば、}が入力されたときに一致する{を見つけるなど。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

ch: string

入力された文字。

options: FormattingOptions

整形を制御するオプション。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<TextEdit[]>

一連のテキスト編集、またはそれに解決されるThenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

OpenDialogOptions

ファイルを開くダイアログの動作を設定するオプション。

  • 注1: WindowsとLinuxでは、ファイルダイアログはファイルセレクターとフォルダセレクターの両方にはなれません。したがって、これらのプラットフォームでcanSelectFilescanSelectFoldersの両方をtrueに設定した場合、フォルダセレクターが表示されます。
  • 注2: canSelectFilescanSelectFoldersを明示的にfalseに設定しても無意味であり、その場合エディターはオプションをファイルを自動的に選択するように調整します。

プロパティ

ファイルを選択できるようにします。デフォルトはtrue

フォルダーを選択できるようにします。デフォルトはfalse

複数のファイルまたはフォルダーを選択できるようにします。

ダイアログが開いたときに表示するリソース。

ダイアログで使用されるファイルフィルタのセット。各エントリは「TypeScript」のような人間が読めるラベルと、拡張子の配列です。例:

{
    'Images': ['png', 'jpg'],
    'TypeScript': ['ts', 'tsx']
}

開くボタンの人間が読める文字列。

ダイアログのタイトル。

このパラメータは無視される場合があります。すべてのオペレーティングシステムが開くダイアログにタイトルを表示するわけではないためです(例: macOS)。

OutputChannel

出力チャネルは、読み取り専用のテキスト情報のコンテナーです。

OutputChannelのインスタンスを取得するには、createOutputChannelを使用します。

プロパティ

この出力チャネルの人間が読める名前です。

メソッド

指定された値をチャネルに追加します。

パラメーター説明
value: string

文字列。偽値は出力されません。

戻り値説明
void

指定された値と改行文字をチャネルに追加します。

パラメーター説明
value: string

文字列。偽値も出力されます。

戻り値説明
void

チャネルからすべての出力を削除します。

パラメーター説明
戻り値説明
void

関連するリソースを破棄し、解放します。

パラメーター説明
戻り値説明
void

このチャネルをUIから非表示にします。

パラメーター説明
戻り値説明
void

チャネルからすべての出力を指定された値に置き換えます。

パラメーター説明
value: string

文字列。偽値は出力されません。

戻り値説明
void

このチャネルをUIに表示します。

パラメーター説明
preserveFocus?: boolean

trueの場合、チャネルはフォーカスを取得しません。

戻り値説明
void

このチャネルをUIに表示します。

  • 非推奨 - パラメータが1つだけのオーバーロード(show(preserveFocus?: boolean): void)を使用してください。
パラメーター説明
column?: ViewColumn

この引数は**非推奨**であり、無視されます。

preserveFocus?: boolean

trueの場合、チャネルはフォーカスを取得しません。

戻り値説明
void

OverviewRulerLane

概要ルーラーでの装飾のレンダリング位置を表します。概要ルーラーは3つのレーンをサポートしています。

列挙メンバー

概要ルーラーの左レーン。

概要ルーラーの中央レーン。

概要ルーラーの右側のレーン。

概要ルーラーのすべてのレーン。

ParameterInformation

呼び出し可能なシグネチャのパラメーターを表します。パラメーターには、ラベルとドキュメントコメントを含めることができます。

コンストラクタ

新しいパラメーター情報オブジェクトを作成します。

パラメーター説明
label: string | [number, number]

ラベル文字列、またはそれを囲むシグネチャラベル内の包括的な開始オフセットと排他的な終了オフセット。

documentation?: string | MarkdownString

ドキュメント文字列。

戻り値説明
ParameterInformation

プロパティ

このシグネチャの人間が読めるドキュメントコメント。UIに表示されますが、省略できます。

このシグネチャのラベル。

文字列、またはそのコンテナのシグネチャラベル内の包含開始オフセットと排他終了オフセットのいずれか。: 文字列型のラベルは、そのコンテナのシグネチャ情報のラベルのサブストリングでなければなりません。

Position

カーソルの位置など、行と文字の位置を表します。

Position オブジェクトは**不変**です。with または translate メソッドを使用して、既存の位置から新しい位置を導出します。

コンストラクタ

パラメーター説明
line: number

0から始まる行の値。

character: number

0から始まる文字の値。

戻り値説明
Position

プロパティ

0から始まる文字の値。

文字オフセットはUTF-16のコードユニットを使用して表されます。

0から始まる行の値。

メソッド

これをotherと比較します。

パラメーター説明
other: Position

位置。

戻り値説明
number

この位置が指定された位置より前にある場合はゼロより小さい数値、指定された位置より後にある場合はゼロより大きい数値、この位置と指定された位置が等しい場合はゼロ。

この位置がotherより後にあるかを確認します。

パラメーター説明
other: Position

位置。

戻り値説明
boolean

位置がより大きい行にあるか、または同じ行でより大きい文字にある場合true

この位置がotherより後、または等しいかを確認します。

パラメーター説明
other: Position

位置。

戻り値説明
boolean

位置がより大きい行にあるか、または同じ行でより大きいか等しい文字にある場合true

この位置がotherより前にあるかを確認します。

パラメーター説明
other: Position

位置。

戻り値説明
boolean

位置がより小さい行にあるか、または同じ行でより小さい文字にある場合true

この位置がotherより前、または等しいかを確認します。

パラメーター説明
other: Position

位置。

戻り値説明
boolean

位置がより小さい行にあるか、または同じ行でより小さいか等しい文字にある場合true

この位置がotherと等しいかを確認します。

パラメーター説明
other: Position

位置。

戻り値説明
boolean

指定された位置の行と文字がこの位置の行と文字と等しい場合true

この位置を基準に新しい位置を作成します。

パラメーター説明
lineDelta?: number

行値の差分値、デフォルトは0です。

characterDelta?: number

文字値の差分値、デフォルトは0です。

戻り値説明
Position

現在の行と文字、および対応するデルタの合計である行と文字を持つ位置。

この位置を基準に新しい位置を導出しました。

パラメーター説明
change: {characterDelta: number, lineDelta: number}

この位置への差分を記述するオブジェクト。

戻り値説明
Position

指定された差分を反映する位置。変更が何も変えない場合は、this位置が返されます。

この位置から導出された新しい位置を作成します。

パラメーター説明
line?: number

行値として使用されるべき値で、デフォルトは既存の値です。

character?: number

文字値として使用されるべき値で、デフォルトは既存の値です。

戻り値説明
Position

行と文字が指定された値に置き換えられた位置。

この位置から新しい位置を導出しました。

パラメーター説明
change: {character: number, line: number}

この位置への変更を記述するオブジェクト。

戻り値説明
Position

指定された変更を反映する位置。変更が何も変えない場合は、this位置が返されます。

PreparedToolInvocation

LanguageModelTool.prepareInvocationの呼び出し結果。

プロパティ

このプロパティが存在する場合、ツールを実行する前にユーザーに確認を求める必要があることを示します。副作用があるか、または潜在的に危険なツールについては、ユーザーに確認を求める必要があります。

ツール実行中に表示する、カスタマイズされた進捗メッセージ。

ProcessExecution

タスクの実行は、シェルとの対話なしで外部プロセスとして行われます。

コンストラクタ

プロセス実行を作成します。

パラメーター説明
process: string

開始するプロセス。

options?: ProcessExecutionOptions

開始されたプロセスのオプション。

戻り値説明
ProcessExecution

プロセス実行を作成します。

パラメーター説明
process: string

開始するプロセス。

args: string[]

プロセスに渡される引数。

options?: ProcessExecutionOptions

開始されたプロセスのオプション。

戻り値説明
ProcessExecution

プロパティ

プロセスに渡される引数。デフォルトは空の配列です。

プロセスが実行されるときに使用されるプロセスオプション。デフォルトは未定義です。

実行されるプロセス。

ProcessExecutionOptions

プロセス実行のオプション

プロパティ

実行されたプログラムまたはシェルの現在の作業ディレクトリ。省略された場合、ツールの現在のワークスペースルートが使用されます。

実行されるプログラムまたはシェルの追加の環境。省略された場合、親プロセスの環境が使用されます。提供された場合、親プロセスの環境とマージされます。

Progress<T>

進捗状況の更新を報告する汎用的な方法を定義します。

メソッド

進捗状況の更新を報告します。

パラメーター説明
value: T

メッセージや、完了した作業量に関する報告などの進捗項目。

戻り値説明
void

ProgressLocation

エディタ内で進捗情報が表示される場所。進捗状況がどのように視覚的に表現されるかは、その場所に依存します。

列挙メンバー

ソース管理ビューレットの進捗状況を、アイコンのオーバーレイとして、またビューレット内のプログレスバーとして表示します (表示されている場合)。キャンセルも個別進捗も操作を説明するラベルもサポートしていません。

エディタのステータスバーに進捗状況を表示します。キャンセルも個別進捗もサポートしていません。進捗ラベル内の$(<name>)構文を介してテーマアイコンのレンダリングをサポートします。

オプションのキャンセルボタン付き通知として進捗状況を表示します。無限および個別進捗の表示をサポートしますが、アイコンのレンダリングはサポートしません。

ProgressOptions

進捗状況の表示場所と方法を記述する値オブジェクト。

プロパティ

長時間実行される操作をユーザーがキャンセルできるように、キャンセルボタンを表示するかどうかを制御します。現在、キャンセルボタンの表示をサポートしているのはProgressLocation.Notificationのみであることに注意してください。

進捗状況を表示する場所。

操作を説明するために使用される人間が読める文字列。

ProviderResult<T>

プロバイダ結果は、HoverProviderのようなプロバイダが返す可能性のある値を表します。これは実際の戻り値の型T(例:Hover)であるか、その型Tに解決されるthenableのいずれかです。さらに、nullおよびundefinedを、直接またはthenableから返すことができます。

以下に示すスニペットは、HoverProviderの有効な実装例です。

let a: HoverProvider = {
  provideHover(doc, pos, token): ProviderResult<Hover> {
    return new Hover('Hello World');
  }
};

let b: HoverProvider = {
  provideHover(doc, pos, token): ProviderResult<Hover> {
    return new Promise(resolve => {
      resolve(new Hover('Hello World'));
    });
  }
};

let c: HoverProvider = {
  provideHover(doc, pos, token): ProviderResult<Hover> {
    return; // undefined
  }
};

Pseudoterminal

ターミナルptyのインターフェースを定義し、拡張機能がターミナルを制御できるようにします。

イベント

発火すると、ターミナルの名前変更を許可するイベント。

Pseudoterminal.openが呼び出される前に発火されたイベントは無視されます。

例: ターミナル名を「My new terminal」に変更します。

const writeEmitter = new vscode.EventEmitter<string>();
const changeNameEmitter = new vscode.EventEmitter<string>();
const pty: vscode.Pseudoterminal = {
  onDidWrite: writeEmitter.event,
  onDidChangeName: changeNameEmitter.event,
  open: () => changeNameEmitter.fire('My new terminal'),
  close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });

発火すると、ptyが閉じられ、ターミナルが破棄されることを通知するイベント。

Pseudoterminal.openが呼び出される前に発火されたイベントは無視されます。

ターミナルの終了コードを提供するために数値を使用できます。終了コードは正の値でなければならず、ゼロ以外の終了コードは失敗を示し、通常のターミナルでは通知が表示され、CustomExecution APIで使用される場合は依存タスクの続行を許可します。

例: 「y」が押されたときにターミナルを終了し、それ以外の場合は通知を表示します。

const writeEmitter = new vscode.EventEmitter<string>();
const closeEmitter = new vscode.EventEmitter<void>();
const pty: vscode.Pseudoterminal = {
  onDidWrite: writeEmitter.event,
  onDidClose: closeEmitter.event,
  open: () => writeEmitter.fire('Press y to exit successfully'),
  close: () => {},
  handleInput: data => {
    if (data !== 'y') {
      vscode.window.showInformationMessage('Something went wrong');
    }
    closeEmitter.fire();
  }
};
const terminal = vscode.window.createTerminal({ name: 'Exit example', pty });
terminal.show(true);

発火すると、ターミナルの寸法を上書きできるイベント。設定した場合、上書きされた寸法は、ターミナルの実際の寸法よりも小さい場合にのみ有効になることに注意してください (つまり、スクロールバーは表示されません)。通常の寸法 (パネルのサイズに合わせる) に戻すには、undefinedに設定します。

Pseudoterminal.openが呼び出される前に発火されたイベントは無視されます。

例: ターミナルの寸法を20列10行に上書きします

const dimensionsEmitter = new vscode.EventEmitter<vscode.TerminalDimensions>();
const pty: vscode.Pseudoterminal = {
  onDidWrite: writeEmitter.event,
  onDidOverrideDimensions: dimensionsEmitter.event,
  open: () => {
    dimensionsEmitter.fire({
      columns: 20,
      rows: 10
    });
  },
  close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });

発火するとターミナルにデータを書き込むイベント。Terminal.sendTextが基となる子擬似デバイス(子)にテキストを送信するのとは異なり、これは親擬似デバイス(ターミナル自体)にテキストを書き込みます。

\nを書き込むとカーソルが1行下に移動するだけで、カーソルを一番左のセルに移動するには\rも書き込む必要があります。

Pseudoterminal.openが呼び出される前に発火されたイベントは無視されます。

例: ターミナルに赤いテキストを書き込みます

const writeEmitter = new vscode.EventEmitter<string>();
const pty: vscode.Pseudoterminal = {
  onDidWrite: writeEmitter.event,
  open: () => writeEmitter.fire('\x1b[31mHello world\x1b[0m'),
  close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });

例: カーソルを10行20列に移動してアスタリスクを書き込みます

writeEmitter.fire('\x1b[10;20H*');

メソッド

ユーザーの操作によってターミナルが閉じられた場合の処理を実装します。

パラメーター説明
戻り値説明
void

ターミナルでの入力キー操作や、拡張機能がTerminal.sendTextを呼び出したときの処理を実装します。dataには、対応するVTシーケンス表現にシリアル化されたキー操作/テキストが含まれます。

パラメーター説明
data: string

入力データ。

例: ターミナルに入力をエコーします。Enter (\r) のシーケンスはCRLFに変換され、新しい行に移動し、カーソルを行の先頭に移動します。

const writeEmitter = new vscode.EventEmitter<string>();
const pty: vscode.Pseudoterminal = {
  onDidWrite: writeEmitter.event,
  open: () => {},
  close: () => {},
  handleInput: data => writeEmitter.fire(data === '\r' ? '\r\n' : data)
};
vscode.window.createTerminal({ name: 'Local echo', pty });
戻り値説明
void

ptyが開かれ、イベントの発火を開始する準備ができたときの処理を実装します。

パラメーター説明
initialDimensions: TerminalDimensions

ターミナルの寸法。この呼び出し前にターミナルパネルが開かれていない場合、これは未定義になります。

戻り値説明
void

ターミナルパネルに収まる行と列の数が変更された場合(フォントサイズの変更やパネルのリサイズなど)の処理を実装します。ターミナルのサイズはユーザーインターフェースに表示されるまで不明であるため、ターミナルの寸法の初期状態は、これがトリガーされるまでundefinedとして扱われるべきです。

寸法がonDidOverrideDimensionsによって上書きされた場合でも、setDimensionsは通常のパネル寸法で引き続き呼び出され、拡張機能が寸法の変更に引き続き反応できるようにします。

パラメーター説明
dimensions: TerminalDimensions

新しい寸法。

戻り値説明
void

QuickDiffProvider

クイック差分プロバイダは、変更されたリソースの元の状態へのURIを提供します。エディタはこの情報を使用して、テキスト内のアドホックな差分をレンダリングします。

メソッド

指定されたリソースURIの元のリソースへのURIを提供します。

パラメーター説明
uri: Uri

テキストエディタで開いているリソースのURI。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<Uri>

一致する元のリソースのURIに解決されるthenable。

QuickInput

最初は表示されない軽量のユーザー入力UI。プロパティを介して構成した後、拡張機能はQuickInput.showを呼び出すことで表示させることができます。

このUIが非表示になる理由はいくつかあり、拡張機能は QuickInput.onDidHide を通じて通知を受け取ります。(例:QuickInput.hide の明示的な呼び出し、ユーザーがEscを押す、他の入力UIが開くなど)

ユーザーがEnterキーを押すか、現在の状態の承認を示唆する他のジェスチャーを行っても、このUIコンポーネントは自動的に非表示になりません。ユーザーの入力を受け入れるかどうか、そしてQuickInput.hideの呼び出しを通じてUIを実際に非表示にするかどうかは、拡張機能次第です。

拡張機能がこの入力UIを不要になった場合、関連付けられているリソースを解放できるように、QuickInput.disposeを呼び出す必要があります。

具体的なUIについては、QuickPickInputBoxを参照してください。

イベント

この入力UIが非表示になったときに通知されるイベントです。

このUIが非表示になる理由はいくつかあり、拡張機能は QuickInput.onDidHide を通じて通知を受け取ります。(例:QuickInput.hide の明示的な呼び出し、ユーザーがEscを押す、他の入力UIが開くなど)

プロパティ

UIが進行状況インジケーターを表示するかどうか。デフォルトは false です。

例えば、追加データの読み込み中やユーザー入力の検証中に、これをtrueに変更してください。

UIがユーザー入力を許可するかどうか。デフォルトは true です。

例えば、ユーザー入力の検証中や、ユーザー入力の次のステップのデータを読み込み中に、これをfalseに変更してください。

UIのフォーカスが失われてもUIを開いたままにするかどうか。デフォルトは false です。この設定はiPadでは無視され、常にfalseになります。

オプションの現在のステップ数です。

オプションのタイトルです。

オプションの合計ステップ数です。

メソッド

この入力UIとそれに関連するリソースを破棄します。まだ表示されている場合は、まず非表示になります。この呼び出しの後、入力UIはもはや機能せず、それ以上のメソッドやプロパティにアクセスすべきではありません。代わりに新しい入力UIを作成する必要があります。

パラメーター説明
戻り値説明
void

この入力UIを非表示にします。これにより、QuickInput.onDidHide イベントも発生します。

パラメーター説明
戻り値説明
void

現在の構成で入力UIを表示します。他の入力UIはまず QuickInput.onDidHide イベントを発生させます。

パラメーター説明
戻り値説明
void

QuickInputButton

QuickPickまたはInputBox内のアクション用のボタン。

プロパティ

ボタンのアイコン。

オプションのツールチップ。

QuickInputButtons

QuickPickInputBoxの事前定義ボタン。

静的

QuickPickInputBoxの戻るボタン。

ナビゲーションの「戻る」ボタンが必要な場合は、一貫性のためにこれを使用する必要があります。これは、事前定義されたアイコン、ツールチップ、および場所が付属しています。

QuickPick<T>

ユーザーが型Tの項目のリストから項目を選択できるようにする具体的なQuickInput。項目はフィルタテキストフィールドを介してフィルタリングでき、複数の項目を選択できるようにするオプションcanSelectManyがあります。

多くの場合、より便利なwindow.showQuickPickの方が使いやすいことに注意してください。window.showQuickPickが必要な柔軟性を提供しない場合に、window.createQuickPickを使用すべきです。

イベント

ユーザーが選択された項目を受け入れたことを示すイベント。

アクティブな項目が変更されたことを示すイベント。

選択された項目が変更されたことを示すイベント。

フィルタテキストの値が変更されたことを示すイベント。

この入力UIが非表示になったときに通知されるイベントです。

このUIが非表示になる理由はいくつかあり、拡張機能は QuickInput.onDidHide を通じて通知を受け取ります。(例:QuickInput.hide の明示的な呼び出し、ユーザーがEscを押す、他の入力UIが開くなど)

トップレベルボタン(buttonsに格納されたボタン)がトリガーされたことを示すイベント。このイベントは、QuickPickItem上のボタンでは発生しません。

特定のQuickPickItem内のボタンがトリガーされたことを示すイベント。このイベントは、タイトルバーのボタンでは発生しません。

プロパティ

アクティブな項目。これは拡張機能によって読み書きできます。

UIが進行状況インジケーターを表示するかどうか。デフォルトは false です。

例えば、追加データの読み込み中やユーザー入力の検証中に、これをtrueに変更してください。

UI内のアクション用のボタンです。

複数の項目を同時に選択できるかどうか。デフォルトはfalseです。

UIがユーザー入力を許可するかどうか。デフォルトは true です。

例えば、ユーザー入力の検証中や、ユーザー入力の次のステップのデータを読み込み中に、これをfalseに変更してください。

UIのフォーカスが失われてもUIを開いたままにするかどうか。デフォルトは false です。この設定はiPadでは無視され、常にfalseになります。

選択する項目。これは拡張機能によって読み書きできます。

クイックピック項目が更新されたときに、クイックピックのスクロール位置を維持するオプションのフラグ。デフォルトはfalseです。

フィルタテキストが項目の説明とも一致する必要があるかどうか。デフォルトはfalseです。

フィルタテキストが項目の詳細とも一致する必要があるかどうか。デフォルトはfalseです。

フィルタが入力されていないときにフィルタテキストボックスに表示されるオプションのプレースホルダー。

選択された項目。これは拡張機能によって読み書きできます。

オプションの現在のステップ数です。

オプションのタイトルです。

オプションの合計ステップ数です。

フィルタテキストの現在の値。

メソッド

この入力UIとそれに関連するリソースを破棄します。まだ表示されている場合は、まず非表示になります。この呼び出しの後、入力UIはもはや機能せず、それ以上のメソッドやプロパティにアクセスすべきではありません。代わりに新しい入力UIを作成する必要があります。

パラメーター説明
戻り値説明
void

この入力UIを非表示にします。これにより、QuickInput.onDidHide イベントも発生します。

パラメーター説明
戻り値説明
void

現在の構成で入力UIを表示します。他の入力UIはまず QuickInput.onDidHide イベントを発生させます。

パラメーター説明
戻り値説明
void

QuickPickItem

項目リストから選択できる項目を表します。

プロパティ

この項目を常に表示します。

注: このプロパティは、kindQuickPickItemKind.Separatorに設定されている場合、無視されます。

この特定の項目にレンダリングされるオプションのボタン。これらのボタンは、クリックされるとQuickPickItemButtonEventをトリガーします。createQuickPick() APIで作成されたクイックピックを使用する場合にのみボタンがレンダリングされます。showQuickPick() APIを使用する場合はボタンはレンダリングされません。

注: このプロパティは、kindQuickPickItemKind.Separatorに設定されている場合、無視されます。

同じ行で目立たないようにレンダリングされる、人間が読める文字列。$(<name>)構文を介してテーマアイコンのレンダリングをサポートします。

注: このプロパティは、kindQuickPickItemKind.Separatorに設定されている場合、無視されます。

別の行で目立たないようにレンダリングされる、人間が読める文字列。$(<name>)構文を介してテーマアイコンのレンダリングをサポートします。

注: このプロパティは、kindQuickPickItemKind.Separatorに設定されている場合、無視されます。

QuickPickItemのアイコンパスまたはThemeIcon

クイックピックでこの項目がどのようにレンダリングされるかを決定するQuickPickItemの種類。指定されていない場合、デフォルトはQuickPickItemKind.Defaultです。

目立つようにレンダリングされる、人間が読める文字列。$(<name>)構文を介してテーマアイコンのレンダリングをサポートします。

注: kindQuickPickItemKind.Defaultに設定されている場合(つまり、セパレータではなく通常の項目)、$(<name>)構文を介してテーマアイコンのレンダリングをサポートします。

この項目が最初に選択されているかどうかを示すオプションのフラグ。showQuickPick() APIを使用する場合にのみ尊重されます。createQuickPick() APIで同じことを行うには、最初に選択したい項目をQuickPick.selectedItemsに設定するだけです。(注: これは、ピッカーが複数選択を許可する場合にのみ尊重されます。)

参照 QuickPickOptions.canPickMany

注: このプロパティは、kindQuickPickItemKind.Separatorに設定されている場合、無視されます。

QuickPickItemButtonEvent<T>

特定のQuickPickItem内のボタンがトリガーされたことを示すイベント。このイベントは、タイトルバーのボタンでは発生しません。

プロパティ

クリックされたボタン。

ボタンが属する項目。

QuickPickItemKind

列挙メンバー

QuickPickItemの種類がSeparatorの場合、その項目は単なる視覚的な区切りであり、実際の項目を表しません。適用されるプロパティはlabel のみです。QuickPickItemの他のすべてのプロパティは無視され、効果はありません。

デフォルトのQuickPickItem.kindは、クイックピックで選択できる項目です。

QuickPickOptions

クイックピックUIの動作を設定するためのオプション。

イベント

項目が選択されるたびに呼び出されるオプションの関数。

パラメーター説明
item: string | QuickPickItem
戻り値説明
any

プロパティ

ピッカーが複数選択を受け入れるようにするオプションのフラグ。trueの場合、結果は選択肢の配列になります。

フォーカスがエディタの別の部分または別のウィンドウに移動したときにピッカーを開いたままにするには、trueに設定します。この設定はiPadでは無視され、常にfalseです。

選択肢をフィルタリングする際に説明を含めるためのオプションのフラグ。

選択肢をフィルタリングする際に詳細を含めるためのオプションのフラグ。

入力ボックスにプレースホルダーとして表示されるオプションの文字列で、ユーザーに何を選択すべきかを案内します。

クイックピックのタイトルを表すオプションの文字列。

Range

範囲は2つの位置の順序対を表します。start.isBeforeOrEqual(end)であることが保証されています。

Rangeオブジェクトは**不変**です。withintersection、またはunionメソッドを使用して、既存の範囲から新しい範囲を導出します。

コンストラクタ

2つの位置から新しい範囲を作成します。startendより前または等しくない場合、値はスワップされます。

パラメーター説明
start: Position

位置。

end: Position

位置。

戻り値説明
Range

数値座標から新しい範囲を作成します。これは、new Range(new Position(startLine, startCharacter), new Position(endLine, endCharacter))を使用するより短い同等の方法です。

パラメーター説明
startLine: number

0から始まる行の値。

startCharacter: number

0から始まる文字の値。

endLine: number

0から始まる行の値。

endCharacter: number

0から始まる文字の値。

戻り値説明
Range

プロパティ

終了位置。start以降です。

startendが等しい場合、true

start.lineend.lineが等しい場合true

開始位置。end以前です。

メソッド

位置または範囲がこの範囲に含まれているかどうかを確認します。

パラメーター説明
positionOrRange: Range | Position

位置または範囲。

戻り値説明
boolean

位置または範囲がこの範囲内であるか、または等しい場合true

この範囲とrangeを交差させ、新しい範囲を返します。範囲に重なりがない場合はundefinedを返します。

パラメーター説明
range: Range

範囲。

戻り値説明
Range

より大きい開始位置とより小さい終了位置の範囲。重なりがない場合は未定義を返します。

otherがこの範囲と等しいかを確認します。

パラメーター説明
other: Range

範囲。

戻り値説明
boolean

開始位置と終了位置がこの範囲の開始位置と終了位置と等しい場合true

この範囲とotherの結合を計算します。

パラメーター説明
other: Range

範囲。

戻り値説明
Range

より小さい開始位置とより大きい終了位置の範囲。

この範囲から新しい範囲を導出しました。

パラメーター説明
start?: Position

開始位置として使用されるべき位置。デフォルト値は現在の開始位置です。

end?: Position

終了位置として使用されるべき位置。デフォルト値は現在の終了位置です。

戻り値説明
Range

指定された開始位置と終了位置を持つこの範囲から導出された範囲。開始位置と終了位置が同じ場合、this範囲が返されます。

この範囲から新しい範囲を導出しました。

パラメーター説明
change: {end: Position, start: Position}

この範囲への変更を記述するオブジェクト。

戻り値説明
Range

指定された変更を反映する範囲。変更が何も変更しない場合は、this範囲を返します。

ReferenceContext

参照を要求する際に追加情報を含む値オブジェクト。

プロパティ

現在のシンボルの宣言を含めます。

ReferenceProvider

参照プロバイダインターフェースは、拡張機能と参照の検索機能との間の契約を定義します。

メソッド

指定された位置とドキュメントに対するプロジェクト全体の参照セットを提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

context: ReferenceContext

参照リクエストに関する追加情報。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<Location[]>

ロケーションの配列、またはそれに解決されるthenable。結果がないことは、undefinednull、または空の配列を返すことで示されます。

RelativePattern

相対パターンは、基準ファイルパスに対して相対的に一致するグロブパターンを構築するためのヘルパーです。基準パスは、文字列またはURIとしての絶対ファイルパス、または相対パターンを作成するための推奨される方法であるワークスペースフォルダのいずれかになります。

コンストラクタ

基準ファイルパスと一致させるパターンを持つ新しい相対パターンオブジェクトを作成します。このパターンは、基準に対する相対ファイルパスに一致します。

const folder = vscode.workspace.workspaceFolders?.[0];
if (folder) {
  // Match any TypeScript file in the root of this workspace folder
  const pattern1 = new vscode.RelativePattern(folder, '*.ts');

  // Match any TypeScript file in `someFolder` inside this workspace folder
  const pattern2 = new vscode.RelativePattern(folder, 'someFolder/*.ts');
}
パラメーター説明
base: string | Uri | WorkspaceFolder

このパターンが相対的に一致する基準。パターンがワークスペース内で一致する場合は、ワークスペースフォルダを渡すことをお勧めします。それ以外の場合は、パターンがワークスペース外のファイルパスである場合にのみ、URIまたは文字列を使用する必要があります。

pattern: string

*.{ts,js}のようなファイルグロブパターンで、基準に対する相対パスに一致します。

戻り値説明
RelativePattern

プロパティ

このパターンが相対的に一致する基準ファイルパス。

これはRelativePattern.baseUrifsPath値と一致します。

注: この値を更新すると、RelativePattern.baseUrifileスキームを持つURIに更新されます。

このパターンが相対的に一致する基準ファイルパス。ファイルパスは絶対パスでなければならず、末尾にパス区切り文字を含まず、相対セグメント (. または ..) を含んではなりません。

*.{ts,js}のようなファイルグロブパターンで、基準パスに対する相対ファイルパスに一致します。

例: 基準が/home/work/folderで、ファイルパスが/home/work/folder/index.jsの場合、ファイルグロブパターンはindex.jsに一致します。

RenameProvider

リネームプロバイダインターフェースは、拡張機能とリネーム機能との間の契約を定義します。

メソッド

リネームを実行するに位置を解決および検証するためのオプション関数。結果は範囲、または範囲とプレースホルダーテキストのいずれかになります。プレースホルダーテキストは、リネームされるシンボルの識別子であるべきです。省略された場合、返された範囲のテキストが使用されます。

注: 提供された場所がリネームを許可しない場合、この関数はエラーをスローするか、拒否されたthenableを返す必要があります。

パラメーター説明
document: TextDocument

リネームが呼び出されるドキュメント。

position: Position

リネームが呼び出される位置。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<Range | {placeholder: string, range: Range}>

名前が変更される識別子の範囲、または範囲とプレースホルダーテキスト。結果がないことは、undefinedまたはnullを返すことで示されます。

1つまたは複数のリソースに対して、シンボルを別の名前にリネームするために行う必要がある変更を記述する編集を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

newName: string

シンボルの新しい名前。指定された名前が有効でない場合、プロバイダは拒否されたプロミスを返す必要があります。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<WorkspaceEdit>

ワークスペース編集、またはそれに解決されるthenable。結果がないことは、undefinedまたはnullを返すことで示されます。

RunOptions

タスクの実行オプション。

プロパティ

タスク変数が再実行時に再評価されるかどうかを制御します。

SaveDialogOptions

ファイル保存ダイアログの動作を設定するためのオプション。

プロパティ

ダイアログが開いたときに表示するリソース。

ダイアログで使用されるファイルフィルタのセット。各エントリは「TypeScript」のような人間が読めるラベルと、拡張子の配列です。例:

{
    'Images': ['png', 'jpg'],
    'TypeScript': ['ts', 'tsx']
}

保存ボタンの人間が読める文字列。

ダイアログのタイトル。

このパラメーターは無視される場合があります。すべてのオペレーティングシステムが保存ダイアログにタイトルを表示するわけではないためです(例: macOS)。

SecretStorage

暗号化されて保存される秘密(または機密情報)のためのストレージユーティリティを表します。秘密ストレージの実装はプラットフォームごとに異なり、秘密はマシン間で同期されません。

イベント

秘密が保存または削除されたときに発火します。

メソッド

ストレージから秘密を削除します。

パラメーター説明
key: string

秘密が保存されていたキー。

戻り値説明
Thenable<void>

キーで保存された秘密を取得します。そのキーに一致するパスワードがない場合、undefinedを返します。

パラメーター説明
key: string

秘密が保存されていたキー。

戻り値説明
Thenable<string>

保存された値、またはundefined

指定されたキーの下にシークレットを保存します。

パラメーター説明
key: string

シークレットを保存するためのキー。

value: string

シークレット。

戻り値説明
Thenable<void>

SecretStorageChangeEvent

シークレットが追加または削除されたときに発生するイベントデータ。

プロパティ

変更されたシークレットのキー。

SelectedCompletionInfo

現在選択されている補完項目について記述します。

プロパティ

この補完項目が受け入れられた場合に置き換えられる範囲。

この補完が受け入れられた場合に範囲が置き換えられるテキスト。

Selection

エディター内のテキスト選択を表します。

コンストラクタ

2つの位置から選択を作成します。

パラメーター説明
anchor: Position

位置。

active: Position

位置。

戻り値説明
選択。

4つの座標から選択を作成します。

パラメーター説明
anchorLine: number

0から始まる行の値。

anchorCharacter: number

0から始まる文字の値。

activeLine: number

0から始まる行の値。

activeCharacter: number

0から始まる文字の値。

戻り値説明
選択。

プロパティ

カーソルの位置。この位置はアンカーの前または後にすることができます。

選択が開始される位置。この位置はアクティブの前または後にすることができます。

終了位置。start以降です。

startendが等しい場合、true

選択のアンカー終了位置である場合、選択は反転されます。

start.lineend.lineが等しい場合true

開始位置。end以前です。

メソッド

位置または範囲がこの範囲に含まれているかどうかを確認します。

パラメーター説明
positionOrRange: Range | Position

位置または範囲。

戻り値説明
boolean

位置または範囲がこの範囲内であるか、または等しい場合true

この範囲とrangeを交差させ、新しい範囲を返します。範囲に重なりがない場合はundefinedを返します。

パラメーター説明
range: Range

範囲。

戻り値説明
Range

より大きい開始位置とより小さい終了位置の範囲。重なりがない場合は未定義を返します。

otherがこの範囲と等しいかを確認します。

パラメーター説明
other: Range

範囲。

戻り値説明
boolean

開始位置と終了位置がこの範囲の開始位置と終了位置と等しい場合true

この範囲とotherの結合を計算します。

パラメーター説明
other: Range

範囲。

戻り値説明
Range

より小さい開始位置とより大きい終了位置の範囲。

この範囲から新しい範囲を導出しました。

パラメーター説明
start?: Position

開始位置として使用されるべき位置。デフォルト値は現在の開始位置です。

end?: Position

終了位置として使用されるべき位置。デフォルト値は現在の終了位置です。

戻り値説明
Range

指定された開始位置と終了位置を持つこの範囲から導出された範囲。開始位置と終了位置が同じ場合、this範囲が返されます。

この範囲から新しい範囲を導出しました。

パラメーター説明
change: {end: Position, start: Position}

この範囲への変更を記述するオブジェクト。

戻り値説明
Range

指定された変更を反映する範囲。変更が何も変更しない場合は、this範囲を返します。

SelectionRange

選択範囲は、選択階層の一部を表します。選択範囲には、それを含む親の選択範囲がある場合があります。

コンストラクタ

新しい選択範囲を作成します。

パラメーター説明
range: Range

選択範囲の範囲。

parent?: SelectionRange

選択範囲の親。

戻り値説明
選択範囲。

プロパティ

この範囲を含む親の選択範囲。

この選択範囲の範囲

SelectionRangeProvider

選択範囲プロバイダーインターフェースは、拡張機能と「選択の展開と縮小」機能間の契約を定義します。

メソッド

指定された位置の選択範囲を提供します。

選択範囲は、各位置に対して個別に、独立して計算されるべきです。エディターは範囲を結合し、重複を排除しますが、プロバイダーは選択範囲の階層を返す必要があります。これにより、範囲がその親によって含まれるようになります。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

positions: readonly Position[]

コマンドが呼び出された位置。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<SelectionRange[]>

選択範囲、またはそのように解決するthenable。結果がないことは、undefinedまたはnullを返すことで通知できます。

SemanticTokens

範囲またはドキュメント全体のセマンティックトークンを表します。

参照

コンストラクタ

新しいセマンティックトークンを作成します。

パラメーター説明
data: Uint32Array

トークンデータ。

resultId?: string

結果識別子。

戻り値説明
セマンティックトークン。

プロパティ

実際のトークンデータ。

フォーマットの説明については、provideDocumentSemanticTokensも参照してください。

トークンの結果ID。

これは、DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits (実装されている場合) に渡されるIDです。

SemanticTokensBuilder

セマンティックトークンビルダーは、デルタエンコードされたセマンティックトークンを含むSemanticTokensインスタンスの作成に役立ちます。

コンストラクタ

セマンティックトークンビルダーを作成します。

パラメーター説明
legend?: SemanticTokensLegend

セマンティックトークンの凡例。

戻り値説明
セマンティックトークンビルダー。

メソッド

完了し、SemanticTokensインスタンスを作成します。

パラメーター説明
resultId?: string
戻り値説明
セマンティックトークン。

別のトークンを追加します。

パラメーター説明
line: number

トークン開始行番号(絶対値)。

char: number

トークン開始文字(絶対値)。

length: number

文字単位のトークン長。

tokenType: number

エンコードされたトークンタイプ。

tokenModifiers?: number

エンコードされたトークン修飾子。

戻り値説明
void

別のトークンを追加します。凡例を提供する場合にのみ使用します。

パラメーター説明
range: Range

トークンの範囲。単一行である必要があります。

tokenType: string

トークンタイプ。

tokenModifiers?: readonly string[]

トークン修飾子。

戻り値説明
void

SemanticTokensEdit

セマンティックトークンへの編集を表します。

フォーマットの説明については、provideDocumentSemanticTokensEditsも参照してください。

コンストラクタ

セマンティックトークンの編集を作成します。

パラメーター説明
start: number

開始オフセット

deleteCount: number

削除する要素の数。

data?: Uint32Array

挿入する要素

戻り値説明
セマンティックトークン編集。

プロパティ

挿入する要素。

削除する要素の数。

編集の開始オフセット。

SemanticTokensEdits

セマンティックトークンへの編集を表します。

フォーマットの説明については、provideDocumentSemanticTokensEditsも参照してください。

コンストラクタ

新しいセマンティックトークン編集を作成します。

パラメーター説明
edits: SemanticTokensEdit[]

セマンティックトークン編集の配列。

resultId?: string

結果識別子。

戻り値説明
セマンティックトークン編集。

プロパティ

トークンデータへの編集。すべての編集は初期データ状態を参照します。

トークンの結果ID。

これは、DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits (実装されている場合) に渡されるIDです。

SemanticTokensLegend

セマンティックトークン凡例には、セマンティックトークンの整数エンコードされた表現を解読するために必要な情報が含まれています。

コンストラクタ

セマンティックトークン凡例を作成します。

パラメーター説明
tokenTypes: string[]

トークンタイプの配列。

tokenModifiers?: string[]

トークン修飾子の配列。

戻り値説明
セマンティックトークン凡例。

プロパティ

可能なトークン修飾子。

可能なトークンタイプ。

ShellExecution

シェル内で実行されるタスク実行を表します。

コンストラクタ

完全なコマンドラインを持つシェル実行を作成します。

パラメーター説明
commandLine: string

実行するコマンドライン。

options?: ShellExecutionOptions

開始されたシェルに関するオプション。

戻り値説明
シェル実行。

コマンドと引数を持つシェル実行を作成します。実際の実行では、エディターはコマンドと引数からコマンドラインを構築します。これは、特に引用符に関して解釈の対象となります。コマンドラインを完全に制御する必要がある場合は、完全なコマンドラインでShellExecutionを作成するコンストラクタを使用してください。

パラメーター説明
command: string | ShellQuotedString

実行するコマンド。

args: Array<string | ShellQuotedString>

コマンドの引数。

options?: ShellExecutionOptions

開始されたシェルに関するオプション。

戻り値説明
シェル実行。

プロパティ

シェルの引数。完全なコマンドラインで作成された場合はundefinedです。

シェルのコマンド。完全なコマンドラインで作成された場合はundefinedです。

シェルのコマンドライン。コマンドと引数で作成された場合はundefinedです。

コマンドラインがシェルで実行されるときに使用されるシェルオプション。デフォルトはundefinedです。

ShellExecutionOptions

シェル実行のオプション。

プロパティ

実行されるシェルの現在の作業ディレクトリ。省略された場合、ツールの現在のワークスペースルートが使用されます。

実行されるシェルの追加の環境。省略された場合、親プロセスの環境が使用されます。提供された場合、親プロセスの環境とマージされます。

シェル実行可能ファイル。

タスクを実行するために使用されるシェル実行可能ファイルに渡される引数。ほとんどのシェルでは、コマンドを実行するために特別な引数が必要です。たとえば、bashはコマンドを実行するために-c引数を必要とし、PowerShell-Commandを、cmd/d/cの両方を必要とします。

このシェルでサポートされているシェル引用符。

ShellQuotedString

使用されるシェルに応じて引用符で囲まれる文字列。

プロパティ

使用する引用符のスタイル。

実際の文字列値。

ShellQuoting

引数にスペースまたはサポートされていない文字が含まれている場合に、その引数をどのように引用符で囲むかを定義します。

列挙メンバー

文字エスケープが使用されるべきです。これは、たとえばbashでは\を、PowerShellでは`を使用します。

強力な文字列引用符が使用されるべきです。これは、たとえばWindows cmdでは"を、bashおよびPowerShellでは'を使用します。強力な引用符は、引数をリテラル文字列として扱います。PowerShellで`echo 'The value is $(2 * 3)'`とすると、The value is $(2 * 3)と出力されます。

弱い文字列引用符が使用されるべきです。これは、たとえばWindows cmd、bash、PowerShellでは"を使用します。弱い引用符は、引用符で囲まれた文字列内でも何らかの評価を実行します。PowerShellで`echo "The value is $(2 * 3)"`とすると、The value is 6と出力されます。

ShellQuotingOptions

シェル引用符オプション。

プロパティ

文字エスケープに使用される文字。文字列が提供された場合、スペースのみがエスケープされます。{ escapeChar, charsToEscape }リテラルが提供された場合、charsToEscape内のすべての文字はescapeCharを使用してエスケープされます。

強力な引用符付けに使用される文字。文字列の長さは1でなければなりません。

弱い引用符付けに使用される文字。文字列の長さは1でなければなりません。

SignatureHelp

シグネチャヘルプは、呼び出し可能なもののシグネチャを表します。複数のシグネチャが存在できますが、アクティブなものは1つだけであり、アクティブなパラメーターも1つだけです。

コンストラクタ

パラメーター説明
戻り値説明
シグネチャヘルプ。

プロパティ

アクティブなシグネチャのアクティブなパラメーター。

アクティブなシグネチャ。

1つ以上のシグネチャ。

SignatureHelpContext

SignatureHelpProviderがトリガーされたコンテキストに関する追加情報。

プロパティ

現在アクティブなSignatureHelp

activeSignatureHelpは、ユーザーが利用可能なシグネチャを矢印キーで移動するたびにactiveSignatureフィールドが更新されます。

トリガー時にシグネチャヘルプが既に表示されていた場合はtrue

再トリガーは、シグネチャヘルプが既にアクティブな場合に発生し、トリガー文字の入力、カーソル移動、またはドキュメントコンテンツの変更などのアクションによって引き起こされる可能性があります。

シグネチャヘルプがトリガーされる原因となった文字。

これは、手動でシグネチャヘルプを呼び出したり、カーソルを移動したりするなど、入力によってシグネチャヘルプがトリガーされない場合はundefinedです。

シグネチャヘルプがトリガーされる原因となったアクション。

SignatureHelpProvider

シグネチャヘルププロバイダーインターフェースは、拡張機能とパラメーターヒント機能間の契約を定義します。

メソッド

指定された位置とドキュメントのシグネチャのヘルプを提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセルトークン。

context: SignatureHelpContext

シグネチャヘルプがどのようにトリガーされたかに関する情報。

戻り値説明
ProviderResult<SignatureHelp>

シグネチャヘルプ、またはそのように解決するthenable。結果がないことは、undefinedまたはnullを返すことで通知できます。

SignatureHelpProviderMetadata

登録されたSignatureHelpProviderに関するメタデータ。

プロパティ

シグネチャヘルプを再トリガーする文字のリスト。

これらのトリガー文字は、シグネチャヘルプが既に表示されている場合にのみアクティブになります。すべてのトリガー文字は再トリガー文字としてもカウントされます。

シグネチャヘルプをトリガーする文字のリスト。

SignatureHelpTriggerKind

SignatureHelpProviderがトリガーされた方法。

列挙メンバー

シグネチャヘルプは、ユーザーまたはコマンドによって手動で呼び出されました。

シグネチャヘルプは、トリガー文字によってトリガーされました。

シグネチャヘルプは、カーソル移動またはドキュメントコンテンツの変更によってトリガーされました。

SignatureInformation

呼び出し可能なもののシグネチャを表します。シグネチャは、関数名のようなラベル、ドキュメントコメント、および一連のパラメーターを持つことができます。

コンストラクタ

新しいシグネチャ情報オブジェクトを作成します。

パラメーター説明
label: string

ラベル文字列。

documentation?: string | MarkdownString

ドキュメント文字列。

戻り値説明
シグネチャ情報。

プロパティ

アクティブなパラメーターのインデックス。

指定された場合、これはSignatureHelp.activeParameterの代わりに使用されます。

このシグネチャの人間が読めるドキュメントコメント。UIに表示されますが、省略できます。

このシグネチャのラベル。UIに表示されます。

このシグネチャのパラメーター。

SnippetString

スニペット文字列は、テキストを挿入し、挿入時にエディターのカーソルを制御できるテンプレートです。

スニペットは、$1$2、および${3:foo}でタブストップとプレースホルダーを定義できます。$0は最終的なタブストップを定義し、デフォルトはスニペットの末尾になります。変数は$nameおよび${name:default value}で定義されます。完全なスニペット構文も参照してください。

コンストラクタ

新しいスニペット文字列を作成します。

パラメーター説明
value?: string

スニペット文字列。

戻り値説明
スニペット文字列。

プロパティ

スニペット文字列。

メソッド

このスニペット文字列のに選択肢 (${1|a,b,c|}) を追加するビルダー関数。

パラメーター説明
values: readonly string[]

選択肢の値 - 文字列の配列。

number?: number

このタブストップの番号。デフォルトは1から始まる自動インクリメント値です。

戻り値説明
スニペット文字列。

このスニペット文字列。

このスニペット文字列のにプレースホルダー (${1:value}) を追加するビルダー関数。

パラメーター説明
value: string | (snippet: SnippetString) => any

このプレースホルダーの値 - 文字列またはネストされたスニペットを作成するための関数。

number?: number

このタブストップの番号。デフォルトは1から始まる自動インクリメント値です。

戻り値説明
スニペット文字列。

このスニペット文字列。

このスニペット文字列のにタブストップ ($1$2など) を追加するビルダー関数。

パラメーター説明
number?: number

このタブストップの番号。デフォルトは1から始まる自動インクリメント値です。

戻り値説明
スニペット文字列。

このスニペット文字列。

このスニペット文字列のに指定された文字列を追加するビルダー関数。

パラメーター説明
string: string

'そのまま' 追加する値。文字列はエスケープされます。

戻り値説明
スニペット文字列。

このスニペット文字列。

このスニペット文字列のに変数を追加するビルダー関数。

パラメーター説明
name: string

変数の名前 - $は含みません。

defaultValue: string | (snippet: SnippetString) => any

変数名が解決できない場合に使用されるデフォルト値 - 文字列またはネストされたスニペットを作成できる関数。

戻り値説明
スニペット文字列。

このスニペット文字列。

SnippetTextEdit

スニペット編集は、エディターによって実行される対話的な編集を表します。

:スニペット編集は常に通常のテキスト編集として実行できます。これは、一致するエディターが開いていない場合、またはワークスペース編集に複数のファイルのスニペット編集が含まれている場合に発生します。その場合、アクティブなエディターと一致する編集のみがスニペット編集として実行され、それ以外は通常のテキスト編集として実行されます。

静的

挿入スニペット編集を作成するユーティリティ。

パラメーター説明
position: Position

位置。空の範囲になります。

snippet: SnippetString

スニペット文字列。

戻り値説明
スニペットテキスト編集。

新しいスニペット編集オブジェクト。

置換スニペット編集を作成するユーティリティ。

パラメーター説明
range: Range

範囲。

snippet: SnippetString

スニペット文字列。

戻り値説明
スニペットテキスト編集。

新しいスニペット編集オブジェクト。

コンストラクタ

新しいスニペット編集を作成します。

パラメーター説明
range: Range

範囲。

snippet: SnippetString

スニペット文字列。

戻り値説明
スニペットテキスト編集。

プロパティ

スニペット編集が既存の空白を保持したまま適用されるかどうか。

この編集が適用される範囲。

この編集が実行するスニペット

SourceBreakpoint

ソース位置で指定されたブレークポイント。

コンストラクタ

ソース位置に新しいブレークポイントを作成します。

パラメーター説明
location: Location
enabled?: boolean
condition?: string
hitCondition?: string
logMessage?: string
戻り値説明
ソースブレークポイント。

プロパティ

条件付きブレークポイントのためのオプションの式。

ブレークポイントが有効であるか。

ブレークポイントのヒットをいくつ無視するかを制御するオプションの式。

ブレークポイントの一意のID。

このブレークポイントのソースと行の位置。

このブレークポイントがヒットしたときにログに記録されるオプションのメッセージ。{} 内の埋め込み式は、デバッグアダプターによって補間されます。

SourceControl

ソースコントロールは、エディターにリソース状態を提供し、いくつかのソースコントロール関連の方法でエディターと対話することができます。

プロパティ

オプションの入力受け入れコマンド。

このコマンドは、ユーザーがソースコントロール入力の値を承認したときに呼び出されます。

オプションのコミットテンプレート文字列。

ソースコントロールビューレットは、適切なときにこの値でソースコントロール入力を設定します。

このソースコントロールのリソース状態のUI表示可能な数。

未定義の場合、このソースコントロールは

  • UI表示可能なカウントをゼロとして表示し、
  • そのリソース状態の数を、すべてのソースコントロールのUI表示可能な集計カウントに寄与します。

このソースコントロールのID。

このソースコントロールの入力ボックス

このソースコントロールの人間が読めるラベル。

このソースコントロールのルートの (オプションの) URI。

オプションのステータスバーコマンド。

これらのコマンドはエディターのステータスバーに表示されます。

メソッド

新しいリソースグループを作成します。

パラメーター説明
id: string
label: string
戻り値説明
ソースコントロールリソースグループ。

このソースコントロールを破棄します。

パラメーター説明
戻り値説明
void

SourceControlInputBox

ソースコントロールビューレットの入力ボックスを表します。

プロパティ

入力ボックスが有効かどうかを制御します(デフォルトはtrue)。

ユーザーをガイドするために、入力ボックスにプレースホルダーとして表示する文字列。

入力ボックスの内容のセッターとゲッター。

入力ボックスが表示されているかどうかを制御します(デフォルトはtrue)。

SourceControlResourceDecorations

ソースコントロールリソース状態の装飾。明るいテーマと暗いテーマで個別に指定できます。

プロパティ

暗いテーマの装飾。

ソースコントロールリソース状態がUIでフェードアウトされるかどうか。

特定のソースコントロールリソース状態のアイコンパス。

明るいテーマの装飾。

ソースコントロールリソース状態がUIで取り消し線されるかどうか。

SourceControlResourceGroup

ソースコントロールリソースグループは、ソースコントロールリソース状態のコレクションです。

プロパティ

リソースグループのコンテキスト値。これは、リソースグループ固有のアクションを寄与するために使用できます。たとえば、リソースグループにexportableというコンテキスト値が与えられた場合、menus拡張ポイントを使用してscm/resourceGroup/contextにアクションを寄与する際に、when式でキーscmResourceGroupStateにコンテキスト値を指定できます。例: scmResourceGroupState == exportable

"contributes": {
  "menus": {
    "scm/resourceGroup/context": [
      {
        "command": "extension.export",
        "when": "scmResourceGroupState == exportable"
      }
    ]
  }
}

これにより、contextValueexportableと等しいリソースグループに対してのみアクションextension.exportが表示されます。

このソースコントロールリソースグループがソースコントロールリソース状態を含まない場合に非表示になるかどうか。

このソースコントロールリソースグループのID。

このソースコントロールリソースグループのラベル。

このグループのソースコントロールリソース状態のコレクション。

メソッド

このソースコントロールリソースグループを破棄します。

パラメーター説明
戻り値説明
void

SourceControlResourceState

ソースコントロールリソース状態は、特定のソースコントロールグループ内の基になるワークスペースリソースの状態を表します。

プロパティ

リソース状態がソースコントロールビューレットで開かれたときに実行されるべきコマンド

リソース状態のコンテキスト値。これは、リソース固有のアクションを寄与するために使用できます。たとえば、リソースにdiffableとしてコンテキスト値が与えられた場合。menus拡張ポイントを使用してscm/resourceState/contextにアクションを寄与する際に、when式でキーscmResourceStateにコンテキスト値を指定できます。例: scmResourceState == diffable

"contributes": {
  "menus": {
    "scm/resourceState/context": [
      {
        "command": "extension.diff",
        "when": "scmResourceState == diffable"
      }
    ]
  }
}

これにより、contextValuediffableであるリソースに対してのみアクションextension.diffが表示されます。

このソースコントロールリソース状態の装飾

ワークスペース内の基になるリソースのURI

SourceControlResourceThemableDecorations

ソースコントロールリソース状態のテーマ対応の装飾。

プロパティ

特定のソースコントロールリソース状態のアイコンパス。

StatementCoverage

単一のステートメントまたは行のカバレッジ情報を含みます。

コンストラクタ

パラメーター説明
executed: number | boolean

このステートメントが実行された回数、または正確なカウントが不明な場合に実行されたかどうかを示すブール値。ゼロまたはfalseの場合、ステートメントは未カバーとしてマークされます。

location: Range | Position

ステートメントの位置。

branches?: BranchCoverage[]

この行の分岐からのカバレッジ。条件式でない場合は、省略する必要があります。

戻り値説明
ステートメントカバレッジ。

プロパティ

この行またはステートメントの分岐からのカバレッジ。条件式でない場合は、空になります。

このステートメントが実行された回数、または正確なカウントが不明な場合に実行されたかどうかを示すブール値。ゼロまたはfalseの場合、ステートメントは未カバーとしてマークされます。

ステートメントの位置。

StatusBarAlignment

ステータスバーアイテムの配置を表します。

列挙メンバー

左側に配置されます。

右側に配置されます。

StatusBarItem

ステータスバー項目は、テキストとアイコンを表示し、クリックでコマンドを実行できるステータスバーの貢献です。

プロパティ

スクリーンリーダーがこのステータスバー項目と対話するときに使用されるアクセシビリティ情報。

この項目の配置。

このエントリの背景色。

: 以下の色のみがサポートされています。

  • new ThemeColor('statusBarItem.errorBackground')
  • new ThemeColor('statusBarItem.warningBackground')

将来、さらに多くの背景色がサポートされる可能性があります。

: 背景色が設定されている場合、すべてのテーマでエントリが読み取れるように、ステータスバーがcolorの選択を上書きする場合があります。

このエントリのフォアグラウンドカラー。

クリック時に実行するコマンドまたはコマンドの識別子。

コマンドは既知である必要があります。

これがCommandオブジェクトの場合、エディターによってcommandargumentsのみが使用されることに注意してください。

このアイテムの識別子です。

: window.createStatusBarItemメソッドによって識別子が提供されなかった場合、識別子は拡張機能識別子と一致します。

'Python言語インジケーター'、'Gitステータス'など、エントリの名前。名前の長さは短く、かつユーザーがステータスバー項目が何に関するものかを理解できる程度に記述的になるようにしてください。

この項目の優先度。値が大きいほど、項目は左側に表示されます。

エントリに表示するテキストです。構文を利用してテキストにアイコンを埋め込むことができます。

My text $(icon-name) contains icons like $(icon-name) this one.

ここでicon-nameはThemeIconのアイコンセットから取られます(例:light-bulb, thumbsup, zapなど)。

このエントリにホバーしたときに表示されるツールチップテキスト。

メソッド

関連するリソースを破棄し解放します。hideを呼び出します。

パラメーター説明
戻り値説明
void

ステータスバーのエントリを非表示にします。

パラメーター説明
戻り値説明
void

ステータスバーにエントリを表示します。

パラメーター説明
戻り値説明
void

SymbolInformation

変数、クラス、インターフェースなどのプログラミング構築に関する情報を表します。

コンストラクタ

新しいシンボル情報オブジェクトを作成します。

パラメーター説明
name: string

シンボルの名前。

kind: SymbolKind

シンボルの種類。

containerName: string

シンボルを含むシンボルの名前。

location: Location

シンボルの位置。

戻り値説明
シンボル情報。

新しいシンボル情報オブジェクトを作成します。

  • 非推奨 - Locationオブジェクトを受け取るコンストラクタを使用してください。
パラメーター説明
name: string

シンボルの名前。

kind: SymbolKind

シンボルの種類。

range: Range

シンボルの位置の範囲。

uri?: Uri

シンボル位置のリソース。デフォルトは現在のドキュメントです。

containerName?: string

シンボルを含むシンボルの名前。

戻り値説明
シンボル情報。

プロパティ

このシンボルを含むシンボルの名前。

このシンボルの種類。

このシンボルの位置。

このシンボルの名前。

このシンボルのタグ。

SymbolKind

シンボル種別。

列挙メンバー

Fileシンボル種別。

Moduleシンボル種別。

Namespaceシンボル種別。

Packageシンボル種別。

Classシンボル種別。

Methodシンボル種別。

Propertyシンボル種別。

Fieldシンボル種別。

Constructorシンボル種別。

Enumシンボル種別。

Interfaceシンボル種別。

Functionシンボル種別。

Variableシンボル種別。

Constantシンボル種別。

Stringシンボル種別。

Numberシンボル種別。

Booleanシンボル種別。

Arrayシンボル種別。

Objectシンボル種別。

Keyシンボル種別。

Nullシンボル種別。

EnumMemberシンボル種別。

Structシンボル種別。

Eventシンボル種別。

The Operator symbol kind.

The TypeParameter symbol kind.

SymbolTag

シンボルタグは、シンボルのレンダリングを調整する追加の注釈です。

列挙メンバー

シンボルを非推奨としてレンダリングします。通常は打ち消し線を使用します。

SyntaxTokenType

一般的に遭遇する構文トークンタイプの列挙。

列挙メンバー

コメント、文字列リテラル、正規表現の一部であるトークンを除くすべて。

コメント。

文字列リテラル。

正規表現。

Tab

タブグループ内のタブを表します。タブは単にエディター領域内のグラフィカルな表現です。バッキングエディターは保証されません。

プロパティ

タブが属するグループ。

タブの構造(テキスト、ノートブック、カスタムなど)を定義します。リソースやその他の有用なプロパティはタブの種類に定義されます。

タブが現在アクティブであるかどうか。これはグループ内で選択されているタブであることによって決まります。

タブに未保存の変更を示すインジケーターが表示されているかどうか。

タブがピン留めされているかどうか(ピンアイコンが表示されているかどうか)。

タブがプレビューモードであるかどうか。

タブに表示されるテキスト。

TabChangeEvent

タブへの変更を記述するイベント。

プロパティ

アクティブ状態が変更されたなど、変更されたタブ。

閉じられたタブ。

開かれたタブ。

TabGroup

タブのグループを表します。タブグループ自体は複数のタブで構成されます。

プロパティ

グループ内のアクティブなタブ。これは現在内容がレンダリングされているタブです。

各グループに1つのアクティブなタブが存在できますが、アクティブなグループは1つしか存在できないことに注意してください。

グループが現在アクティブであるかどうか。

一度にアクティブなタブグループは1つだけですが、複数のタブグループがアクティブなタブを持つことができることに注意してください。

Tab.isActiveも参照してください。

グループに含まれるタブのリスト。グループに開いているタブがない場合、これは空になることがあります。

グループのビューカラム。

TabGroupChangeEvent

タブグループへの変更を記述するイベント。

プロパティ

アクティブ状態が変更されたなど、変更されたタブグループ。

閉じられたタブグループ。

開かれたタブグループ。

TabGroups

タブを含む複数のグループで構成されるメインのエディター領域を表します。

イベント

タブグループが変更されたときに発生するイベント

タブが変更されたときに発生するイベント

プロパティ

現在アクティブなグループ。

グループコンテナ内のすべてのグループ。

メソッド

タブを閉じます。これによりタブオブジェクトは無効になり、それ以上タブを操作に使用すべきではありません。注: ダーティタブの場合、キャンセル可能な確認ダイアログが表示されます。キャンセルされた場合でもタブは有効なままです。

パラメーター説明
tab: Tab | readonly Tab[]

閉じるタブ。

preserveFocus?: boolean

true の場合、フォーカスは現在の位置に保持されます。`false` の場合、次のタブに移動します。

戻り値説明
Thenable<boolean>

すべてのタブが閉じられたときに true に解決されるプロミス。

タブグループを閉じます。これによりタブグループオブジェクトは無効になり、それ以上タブグループを操作に使用すべきではありません。

パラメーター説明
tabGroup: TabGroup | readonly TabGroup[]

閉じるタブグループ。

preserveFocus?: boolean

true の場合、フォーカスは現在の位置に保持されます。

戻り値説明
Thenable<boolean>

すべてのタブグループが閉じられたときに true に解決されるプロミス。

TabInputCustom

タブはカスタムエディターを表します。

コンストラクタ

カスタムエディターのタブ入力を構築します。

パラメーター説明
uri: Uri

タブのURI。

viewType: string

カスタムエディターのビュータイプ。

戻り値説明
TabInputCustom

プロパティ

タブが表すURI。

カスタムエディターのタイプ。

TabInputNotebook

タブはノートブックを表します。

コンストラクタ

ノートブックの新しいタブ入力を構築します。

パラメーター説明
uri: Uri

ノートブックのURI。

notebookType: string

ノートブックのタイプ。NotebookDocumentsのnotebookTypeにマッピングされます。

戻り値説明
TabInputNotebook

プロパティ

ノートブックのタイプ。NotebookDocumentsのnotebookTypeにマッピングされます。

タブが表すURI。

TabInputNotebookDiff

タブは、差分構成で2つのノートブックを表します。

コンストラクタ

ノートブックの差分タブ入力を構築します。

パラメーター説明
original: Uri

元の変更されていないノートブックのURI。

modified: Uri

変更されたノートブックのURI。

notebookType: string

ノートブックのタイプ。NotebookDocumentsのnotebookTypeにマッピングされます。

戻り値説明
TabInputNotebookDiff

プロパティ

変更されたノートブックのURI。

ノートブックのタイプ。NotebookDocumentsのnotebookTypeにマッピングされます。

元のノートブックのURI。

TabInputTerminal

タブはエディター領域のターミナルを表します。

コンストラクタ

ターミナルタブ入力を構築します。

パラメーター説明
戻り値説明
TabInputTerminal

TabInputText

タブは単一のテキストベースのリソースを表します。

コンストラクタ

指定されたURIを持つテキストタブ入力を構築します。

パラメーター説明
uri: Uri

タブのURI。

戻り値説明
TabInputText

プロパティ

タブによって表されるURI。

TabInputTextDiff

タブは、差分としてレンダリングされる2つのテキストベースのリソースを表します。

コンストラクタ

指定されたURIを持つ新しいテキスト差分タブ入力を構築します。

パラメーター説明
original: Uri

元のテキストリソースのURI。

modified: Uri

変更されたテキストリソースのURI。

戻り値説明
TabInputTextDiff

プロパティ

変更されたテキストリソースのURI。

元のテキストリソースのURI。

TabInputWebview

タブはWebビューを表します。

コンストラクタ

指定されたビュータイプを持つWebビュータブ入力を構築します。

パラメーター説明
viewType: string

Webビューのタイプ。WebviewPanelのviewTypeにマッピングされます。

戻り値説明
TabInputWebview

プロパティ

Webビューのタイプ。WebviewPanelのviewTypeにマッピングされます。

Task

実行するタスク。

コンストラクタ

新しいタスクを作成します。

パラメーター説明
taskDefinition: TaskDefinition

taskDefinitions拡張ポイントで定義されているタスク定義。

scope: WorkspaceFolder | Global | Workspace

タスクのスコープを指定します。グローバルタスク、ワークスペースタスク、または特定のワークスペースフォルダー用のタスクのいずれかです。グローバルタスクは現在サポートされていません。

name: string

タスクの名前。ユーザーインターフェースに表示されます。

source: string

タスクのソース(例: 'gulp'、'npm' など)。ユーザーインターフェースに表示されます。

execution?: ProcessExecution | ShellExecution | CustomExecution

プロセスまたはシェル実行。

problemMatchers?: string | string[]

使用する問題マッチャーの名前(例: '$tsc' や '$eslint')。問題マッチャーは、problemMatchers 拡張ポイントを使用して拡張機能によって貢献できます。

戻り値説明
Task

新しいタスクを作成します。

  • 非推奨 - タスクのスコープを指定できる新しいコンストラクターを使用してください。
パラメーター説明
taskDefinition: TaskDefinition

taskDefinitions拡張ポイントで定義されているタスク定義。

name: string

タスクの名前。ユーザーインターフェースに表示されます。

source: string

タスクのソース(例: 'gulp'、'npm' など)。ユーザーインターフェースに表示されます。

execution?: ProcessExecution | ShellExecution

プロセスまたはシェル実行。

problemMatchers?: string | string[]

使用する問題マッチャーの名前(例: '$tsc' や '$eslint')。問題マッチャーは、problemMatchers 拡張ポイントを使用して拡張機能によって貢献できます。

戻り値説明
Task

プロパティ

タスクの定義。

タスク名が表示される場所で、別の行に目立たないようにレンダリングされる人間が読める文字列。$(<name>)構文によるテーマアイコンのレンダリングをサポートします。

タスクの実行エンジン。

このタスクが属するタスクグループ。利用可能なグループの事前定義されたセットについてはTaskGroupを参照してください。デフォルトは未定義で、タスクが特定の特殊なグループに属さないことを意味します。

タスクがバックグラウンドタスクであるかどうか。

タスクの名前。

プレゼンテーションオプション。デフォルトは空のリテラルです。

タスクにアタッチされた問題マッチャー。デフォルトは空の配列です。

タスクの実行オプション。

タスクのスコープ。

このシェルタスクのソースを記述する人間が読める文字列。例: 'gulp' や 'npm'。$(<name>)構文によるテーマアイコンのレンダリングをサポートします。

TaskDefinition

システム内でタスクの種類を定義する構造。値はJSON文字列化可能である必要があります。

プロパティ

拡張機能によって提供されるタスクを記述するタスク定義。通常、タスクプロバイダーはタスクを識別するためにより多くのプロパティを定義します。これらは、拡張機能のpackage.jsonの'taskDefinitions'拡張ポイントの下に定義する必要があります。例えばnpmタスク定義は次のようになります。

interface NpmTaskDefinition extends TaskDefinition {
  script: string;
}

'$'で始まる型識別子は内部使用のために予約されており、拡張機能で使用すべきではないことに注意してください。

TaskEndEvent

実行されたタスクの終了を通知するイベント。

このインターフェースは実装されることを意図していません。

プロパティ

終了したタスクを表すタスク項目。

TaskExecution

実行されたタスクを表すオブジェクト。タスクを終了するために使用できます。

このインターフェースは実装されることを意図していません。

プロパティ

開始されたタスク。

メソッド

タスクの実行を終了します。

パラメーター説明
戻り値説明
void

TaskFilter

タスクフィルターは、そのバージョンとタイプによってタスクを示します。

プロパティ

返すタスクタイプ。

tasks.jsonファイルで使用されるタスクバージョン。文字列はpackage.jsonのsemver表記をサポートします。

TaskGroup

タスクのグループ化。エディターはデフォルトで「Clean」、「Build」、「RebuildAll」、「Test」グループをサポートします。

静的

ビルドタスクグループ。

クリーンタスクグループ。

すべて再構築タスクグループ。

すべてテストタスクグループ。

コンストラクタ

プライベートコンストラクター。

パラメーター説明
id: string

タスクグループの識別子。

label: string

タスクグループの人間が読める名前。

戻り値説明
TaskGroup

プロパティ

タスクグループのID。TaskGroup.Clean.id、TaskGroup.Build.id、TaskGroup.Rebuild.id、またはTaskGroup.Test.idのいずれかです。

このグループの一部であるタスクが、グループのデフォルトであるかどうか。このプロパティはAPIを介して設定することはできず、ユーザーのタスク設定によって制御されます。

TaskPanelKind

タスク間でタスクチャネルがどのように使用されるかを制御します。

列挙メンバー

他のタスクとパネルを共有します。これがデフォルトです。

このタスク専用のパネルを使用します。このパネルは他のタスクと共有されません。

このタスクが実行されるたびに新しいパネルを作成します。

TaskPresentationOptions

UIでのタスクの表示方法を制御します。

プロパティ

タスク実行前にターミナルがクリアされるかどうかを制御します。

タスク実行後にターミナルが閉じられるかどうかを制御します。

タスクに関連付けられたコマンドがユーザーインターフェースにエコーされるかどうかを制御します。

タスク出力を表示するパネルがフォーカスを受け取るかどうかを制御します。

タスクパネルがこのタスク専用に使用されるか (専用)、タスク間で共有されるか (共有)、またはタスク実行ごとに新しいパネルが作成されるか (新規) を制御します。デフォルトは TaskInstanceKind.Shared です。

タスク出力がユーザーインターフェースに表示されるかどうかを制御します。デフォルトは RevealKind.Always です。

「ターミナルはタスクによって再利用されます。閉じるには任意のキーを押してください」というメッセージを表示するかどうかを制御します。

TaskProcessEndEvent

タスクを介してトリガーされたプロセス実行の終了を通知するイベント。

プロパティ

プロセスが開始されたタスク実行。

プロセスの終了コード。タスクが終了された場合は undefined になります。

TaskProcessStartEvent

タスクを介してトリガーされたプロセス実行の開始を通知するイベント。

プロパティ

プロセスが開始されたタスク実行。

基になるプロセスID。

TaskProvider<T>

タスクプロバイダーはタスクサービスにタスクを追加できます。タスクプロバイダーはtasks.registerTaskProviderを介して登録されます。

メソッド

タスクを提供します。

パラメーター説明
token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T[]>

タスクの配列。

executionが設定されていないタスクを解決します。タスクはしばしば tasks.json ファイルから見つかる情報から作成されます。そのようなタスクは実行方法に関する情報が不足しており、タスクプロバイダーが resolveTask メソッドで不足している情報を補う必要があります。このメソッドは、上記の provideTasks メソッドから返されたタスクに対しては呼び出されません。なぜなら、それらのタスクは常に完全に解決されているからです。resolveTask メソッドの有効なデフォルト実装は undefined を返すことです。

task のプロパティを埋める際には、必ず全く同じ TaskDefinition を使用し、新しいものを作成しないようにしてください。他のプロパティは変更される可能性があります。

パラメーター説明
task: T

解決するタスク。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T>

解決されたタスク。

TaskRevealKind

ターミナルの表示動作を制御します。

列挙メンバー

タスクが実行された場合、常にターミナルを最前面に表示します。

タスク実行中に問題が検出された場合(例: タスクが開始できなかった場合など)にのみ、ターミナルを最前面に表示します。

タスク実行時にターミナルが最前面に表示されることはありません。

TaskScope

タスクのスコープ。

列挙メンバー

タスクはグローバルタスクです。グローバルタスクは現在サポートされていません。

タスクはワークスペースタスクです。

TaskStartEvent

タスク実行の開始を通知するイベント。

このインターフェースは実装されることを意図していません。

プロパティ

開始されたタスクを表すタスク項目。

TelemetryLogger

拡張機能が利用状況とエラーのテレメトリをログするために使用できるテレメトリロガー。

ロガーは送信者をラップしますが、次のことを保証します。

  • テレメトリを無効または調整するためのユーザー設定が尊重されること、および
  • 潜在的な機密データが削除されること。

また、送信されたデータを表示する「エコーUI」を有効にし、エディターが未処理のエラーをそれぞれの拡張機能に転送することを可能にします。

TelemetryLogger のインスタンスを取得するには、createTelemetryLogger を使用します。

イベント

利用状況またはエラーのテレメトリの有効化状態が変更されたときに発生するイベント

プロパティ

このロガーに対してエラーテレメトリが有効になっているかどうか。

このロガーに対して利用状況テレメトリが有効になっているかどうか。

メソッド

このオブジェクトを破棄し、リソースを解放します。

パラメーター説明
戻り値説明
void

エラーイベントをログします。

クリーニング、テレメトリ設定の確認、データ混合が完了した後、イベントをログするためにTelemetrySender.sendEventDataを呼び出します。テレメトリ設定がError+の場合にイベントをログする点でlogUsageとは異なります。拡張機能のテレメトリ出力チャネルへのエコーを自動的にサポートします。

パラメーター説明
eventName: string

ログするイベント名。

data?: Record<string, any>

ログするデータ。

戻り値説明
void

エラーイベントをログします。

TelemetrySender.sendErrorData を呼び出します。クリーニング、テレメトリのチェック、データの混合を行います。拡張機能のテレメトリ出力チャネルへのエコーを自動的にサポートします。また、拡張機能ホストプロセス内でスローされた例外も自動的にログします。

パラメーター説明
error: Error

PIIがクリーンアップされたスタックトレースを含むエラーオブジェクト。

data?: Record<string, any>

スタックトレースと共にログする追加データ。

戻り値説明
void

利用状況イベントをログします。

クリーニング、テレメトリ設定の確認、データ混合が完了した後、イベントをログするためにTelemetrySender.sendEventDataを呼び出します。拡張機能のテレメトリ出力チャネルへのエコーを自動的にサポートします。

パラメーター説明
eventName: string

ログするイベント名。

data?: Record<string, any>

ログするデータ。

戻り値説明
void

TelemetryLoggerOptions

TelemetryLoggerを作成するためのオプション。

プロパティ

データオブジェクトに注入されるべき追加の共通プロパティ。

OS、拡張機能名などの組み込みの共通プロパティがデータオブジェクトに注入されるのを避けたいかどうか。定義されていない場合は false がデフォルトです。

拡張機能によって引き起こされた拡張機能ホスト上の未処理のエラーが送信者にログされるべきかどうか。定義されていない場合は false がデフォルトです。

TelemetrySender

テレメトリ送信者は、テレメトリロガーと何らかのテレメトリサービス間の契約です。注意: ロガーは追加のガードとクリーニングを提供するため、拡張機能は送信者のメソッドを直接呼び出すべきではありません。

const sender: vscode.TelemetrySender = {...};
const logger = vscode.env.createTelemetryLogger(sender);

// GOOD - uses the logger
logger.logUsage('myEvent', { myData: 'myValue' });

// BAD - uses the sender directly: no data cleansing, ignores user settings, no echoing to the telemetry output channel etc
sender.logEvent('myEvent', { myData: 'myValue' });

メソッド

オプションのフラッシュ関数。これにより、TelemetryLoggerが破棄される際に、この送信者が残りのイベントを送信する機会を得ることができます。

パラメーター説明
戻り値説明
void | Thenable<void>

エラーを送信する関数。TelemetryLogger内で使用されます。

パラメーター説明
error: Error

ログされるエラー。

data?: Record<string, any>

例外と共に収集される追加データ。

戻り値説明
void

スタックトレースなしでイベントデータを送信する関数。TelemetryLogger内で使用されます。

パラメーター説明
eventName: string

ログしているイベントの名前。

data?: Record<string, any>

ログされるシリアル化可能なキーと値のペア。

戻り値説明
void

TelemetryTrustedValue<T>

クリーンアップが不要な安全な値を示す特殊な値ラッパー。これは、値に識別可能な情報が含まれておらず、クリーニングが不適切に編集している場合に、使用されるべきものです。

コンストラクタ

新しいテレメトリ信頼値を作成します。

パラメーター説明
value: T

信頼する値。

戻り値説明
TelemetryTrustedValue<T>

プロパティ

PII(個人識別情報)を含まないと信頼されている値。

Terminal

統合ターミナル内の個々のターミナルインスタンス。

プロパティ

ターミナルを初期化するために使用されるオブジェクト。これは、例えば、ターミナルがこの拡張機能によって起動されなかった場合のシェルの種類を検出したり、シェルが起動されたフォルダーを検出したりするのに役立ちます。

ターミナルの終了ステータス。ターミナルがアクティブな間は未定義になります。

例: ターミナルがゼロ以外の終了コードで終了したときに、終了コードを含む通知を表示します。

window.onDidCloseTerminal(t => {
  if (t.exitStatus && t.exitStatus.code) {
    vscode.window.showInformationMessage(`Exit code: ${t.exitStatus.code}`);
  }
});

ターミナルの名前。

シェルプロセスのプロセスID。

ターミナル用のシェル統合によって提供される機能を含むオブジェクト。これはターミナルが作成された直後には常にundefinedになります。シェル統合がターミナルでアクティブ化されたときに通知を受け取るには、window.onDidChangeTerminalShellIntegrationをリッスンしてください。

シェル統合がアクティブ化されない場合、このオブジェクトは未定義のままになる可能性があることに注意してください。例えば、コマンドプロンプトはシェル統合をサポートしておらず、ユーザーのシェル設定が自動シェル統合アクティブ化と競合する可能性があります。

ターミナルの現在の状態。

メソッド

関連するリソースを破棄し、解放します。

パラメーター説明
戻り値説明
void

このターミナルが現在表示されている場合、ターミナルパネルを非表示にします。

パラメーター説明
戻り値説明
void

ターミナルにテキストを送信します。テキストは、ターミナルの基になるptyプロセス(シェル)の標準入力に書き込まれます。

パラメーター説明
text: string

送信するテキスト。

shouldExecute?: boolean

送信されるテキストがターミナルに挿入されるだけでなく、実行されるべきであることを示します。追加される文字はプラットフォームに応じて \n または \r\n です。デフォルトは true です。

戻り値説明
void

ターミナルパネルを表示し、このターミナルをUIに表示します。

パラメーター説明
preserveFocus?: boolean

true の場合、ターミナルはフォーカスを取得しません。

戻り値説明
void

TerminalDimensions

ターミナルの寸法を表します。

プロパティ

ターミナルの列数。

ターミナルの行数。

TerminalEditorLocationOptions

TerminalLocationがエディターであると仮定し、ViewColumnpreserveFocusプロパティの指定を可能にします。

プロパティ

true の場合にターミナルがフォーカスを取得するのを停止するオプションのフラグ。

ターミナルがエディター領域に表示されるべきビューカラム。デフォルトはアクティブです。存在しないカラムは、ViewColumn.Nineの最大値まで必要に応じて作成されます。現在アクティブなエディターの横にエディターを開くには、ViewColumn.Besideを使用します。

TerminalExitReason

ターミナル終了理由の種類。

列挙メンバー

不明な理由。

ウィンドウが閉じられた/再読み込みされた。

シェルプロセスが終了した。

ユーザーがターミナルを閉じた。

拡張機能がターミナルを破棄した。

TerminalExitStatus

ターミナルがどのように終了したかを表します。

プロパティ

ターミナルが終了した際の終了コード。以下の値を取ることができます。

  • ゼロ: ターミナルプロセスまたはカスタム実行が成功しました。
  • 非ゼロ: ターミナルプロセスまたはカスタム実行が失敗しました。
  • undefined: ユーザーが強制的にターミナルを閉じたか、カスタム実行が終了コードを提供せずに終了しました。

ターミナルの終了を引き起こした理由。

ターミナル行上のリンク。

コンストラクタ

新しいターミナルリンクを作成します。

パラメーター説明
startIndex: number

TerminalLinkContext.line上のリンクの開始インデックス。

length: number

TerminalLinkContext.line上のリンクの長さ。

tooltip?: string

このリンクにカーソルを合わせたときのツールチップテキスト。

ツールチップが提供されている場合、{0} (ctrl + click) のようにリンクをトリガーする方法が記載された文字列で表示されます。具体的な手順は、OS、ユーザー設定、ローカライズによって異なります。

戻り値説明
TerminalLink

プロパティ

TerminalLinkContext.line上のリンクの長さ。

TerminalLinkContext.line上のリンクの開始インデックス。

このリンクにカーソルを合わせたときのツールチップテキスト。

ツールチップが提供されている場合、{0} (ctrl + click) のようにリンクをトリガーする方法が記載された文字列で表示されます。具体的な手順は、OS、ユーザー設定、ローカライズによって異なります。

TerminalLinkContext

ターミナル行に関する情報を提供し、その行のリンクを提供できるようにします。

プロパティ

これはターミナル内の折り返しなしの行のテキストです。

リンクが属するターミナル。

TerminalLinkProvider<T>

ターミナル内のリンクの検出と処理を可能にするプロバイダー。

メソッド

アクティブ化されたターミナルリンクを処理します。

パラメーター説明
link: T

処理するリンク。

戻り値説明
ProviderResult<void>

指定されたコンテキストのターミナルリンクを提供します。これは、以前の呼び出しが解決される前でも複数回呼び出される可能性があるため、非同期の使用が重複した場合に問題が発生する可能性があるグローバルオブジェクト(例: RegExp)を共有しないようにしてください。

パラメーター説明
context: TerminalLinkContext

どのようなリンクが提供されているかに関する情報。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T[]>

指定された行のターミナルリンクのリスト。

TerminalLocation

ターミナルの場所。

列挙メンバー

ターミナルビュー内。

エディター領域内。

TerminalOptions

ターミナルが使用すべきオプションを記述する値オブジェクト。

プロパティ

ターミナルのアイコンThemeColor。最高のコントラストとテーマ間の一貫性のために、terminal.ansi* テーマキーが推奨されます。

ターミナルに使用される現在の作業ディレクトリのパスまたはURI。

エディタープロセスに追加される環境変数を持つオブジェクト。

有効にすると、ターミナルはプロセスを通常どおり実行しますが、Terminal.showが呼び出されるまでユーザーには表示されません。これは、対話性が必要なものを実行する必要があるが、対話が必要な場合にのみユーザーに通知したい場合によく使用されます。ターミナルは通常どおりすべての拡張機能に公開されることに注意してください。隠されたターミナルは、次にワークスペースを開いたときに復元されません。

ターミナルのアイコンパスまたはThemeIcon

再起動およびリロード時のデフォルトのターミナル永続化をオプトアウトします。これは、terminal.integrated.enablePersistentSessionsが有効になっている場合にのみ有効になります。

最初の起動時にターミナルに書き込むメッセージ。これはプロセスに送信されるのではなく、ターミナルに直接書き込まれることに注意してください。テキストスタイル設定などのエスケープシーケンスをサポートします。

UIでターミナルを表すために使用される人間が読める文字列。

カスタムシェル実行可能ファイルのための引数。Windowsでのみ文字列を使用でき、コマンドライン形式でシェル引数を指定できます。

ターミナルで使用されるカスタムシェル実行可能ファイルへのパス。

ターミナルプロセスの環境がTerminalOptions.envで提供されたとおりに正確であるべきかどうか。これがfalse(デフォルト)の場合、環境はウィンドウの環境に基づいており、terminal.integrated.env.windowsなどの設定されたプラットフォーム設定も適用されます。これがtrueの場合、プロセスや設定から何も継承されないため、完全な環境を提供する必要があります。

TerminalProfile

ターミナルプロファイルは、ターミナルがどのように起動されるかを定義します。

コンストラクタ

新しいターミナルプロファイルを作成します。

パラメーター説明
options: TerminalOptions | ExtensionTerminalOptions

ターミナルが起動する際のオプション。

戻り値説明
TerminalProfile

プロパティ

ターミナルが起動する際のオプション。

TerminalProfileProvider

UIまたはコマンドを介して起動されたときに、貢献されたターミナルプロファイルにターミナルプロファイルを提供します。

メソッド

ターミナルプロファイルを提供します。

パラメーター説明
token: CancellationToken

結果が不要になったことを示すキャンセル・トークン。

戻り値説明
ProviderResult<TerminalProfile>

ターミナルプロファイル。

TerminalShellExecution

ターミナルで実行されたコマンド。

プロパティ

実行されたコマンドライン。この値の信頼度は、特定のシェルのシェル統合の実装によって異なります。この値は、window.onDidEndTerminalShellExecutionが発火した後により正確になる可能性があります。

// Log the details of the command line on start and end
window.onDidStartTerminalShellExecution(event => {
  const commandLine = event.execution.commandLine;
  console.log(`Command started\n${summarizeCommandLine(commandLine)}`);
});
window.onDidEndTerminalShellExecution(event => {
  const commandLine = event.execution.commandLine;
  console.log(`Command ended\n${summarizeCommandLine(commandLine)}`);
});
function summarizeCommandLine(commandLine: TerminalShellExecutionCommandLine) {
  return [
    `  Command line: ${command.commandLine.value}`,
    `  Confidence: ${command.commandLine.confidence}`,
    `  Trusted: ${command.commandLine.isTrusted}
  ].join('\n');
}

このコマンドが実行されたときにシェルによって報告された作業ディレクトリ。このURIは、別のマシン上のファイルを表す可能性があります(例: 別のマシンにsshで接続)。これには、シェル統合が作業ディレクトリの報告をサポートしている必要があります。

メソッド

ターミナルに書き込まれる生データ(エスケープシーケンスを含む)のストリームを作成します。これはreadが最初に呼び出された後に書き込まれたデータのみを含みます。つまり、データを逃さないためには、TerminalShellIntegration.executeCommandまたはwindow.onDidStartTerminalShellExecutionを介してコマンドが実行された直後にreadを呼び出す必要があります。

// Log all data written to the terminal for a command
const command = term.shellIntegration.executeCommand({ commandLine: 'echo "Hello world"' });
const stream = command.read();
for await (const data of stream) {
  console.log(data);
}
パラメーター説明
戻り値説明
AsyncIterable<string>

TerminalShellExecutionCommandLine

ターミナルで実行されたコマンドライン。

プロパティ

コマンドライン値の信頼度。これは値の取得方法によって決定されます。シェルの統合スクリプトの実装に依存します。

コマンドライン値が信頼できるソースから得られたものであり、したがって「(コマンド)を実行しますか?」といったユーザーの追加確認なしに安全に実行できるかどうか。この検証は、コマンドを再度実行する場合にのみ必要となる可能性が高いです。

これは、コマンドラインがシェル統合スクリプトによって明示的に報告され(つまり、高い信頼度)、検証のためにnonceが使用された場合にのみtrueです。

コマンドとその引数を含む、実行された完全なコマンドライン。

TerminalShellExecutionCommandLineConfidence

列挙メンバー

コマンドライン値の信頼度は低いです。これは、シェル統合スクリプトによって報告されたマーカーを使用して、ターミナルバッファから値が読み取られたことを意味します。さらに、以下のいずれかの条件が満たされます。

  • コマンドが一番左の列から開始された(これは通常ではない)、または
  • コマンドが複数行で、行継続文字や右プロンプトのために正確な検出がより困難である。
  • コマンドラインマーカーがシェル統合スクリプトによって報告されなかった。

コマンドライン値の信頼度は中です。これは、シェル統合スクリプトによって報告されたマーカーを使用して、ターミナルバッファから値が読み取られたことを意味します。コマンドは単一行で、一番左の列から開始されていない(これは通常ではない)。

コマンドライン値の信頼度は高いです。これは、値がシェル統合スクリプトから明示的に送信されたか、TerminalShellIntegration.executeCommand APIを介してコマンドが実行されたことを意味します。

TerminalShellExecutionEndEvent

ターミナルでの実行が終了したことを通知するイベント。

プロパティ

終了したターミナルシェル実行。

シェルによって報告された終了コード。

これが undefined の場合、いくつかの意味があります。

  • シェルが終了コードを報告しなかった(つまり、シェル統合スクリプトが正しく動作していない)、または
  • シェルがコマンド完了前にコマンド開始を報告した(例: サブシェルが開かれた)。
  • ユーザーがCtrl+Cでコマンドをキャンセルした。
  • 入力がない状態でユーザーがEnterキーを押した。

一般的に、これは起こるべきではありません。ユースケースによっては、これを失敗として扱うのが最善かもしれません。

const execution = shellIntegration.executeCommand({
  command: 'echo',
  args: ['Hello world']
});
window.onDidEndTerminalShellExecution(event => {
  if (event.execution === execution) {
    if (event.exitCode === undefined) {
      console.log('Command finished but exit code is unknown');
    } else if (event.exitCode === 0) {
      console.log('Command succeeded');
    } else {
      console.log('Command failed');
    }
  }
});

シェル統合オブジェクト。

シェル統合が有効化されたターミナル。

TerminalShellExecutionStartEvent

ターミナルでの実行が開始されたことを示すイベント。

プロパティ

終了したターミナルシェル実行。

シェル統合オブジェクト。

シェル統合が有効化されたターミナル。

TerminalShellIntegration

シェル統合によって提供される、ターミナルが所有する機能。

プロパティ

ターミナルの現在の作業ディレクトリ。このUriは、別のマシン上のファイル(例: 別のマシンへのSSH接続)を表す場合があります。これには、シェル統合が作業ディレクトリのレポートをサポートしている必要があります。

メソッド

コマンドを実行し、必要に応じて実行中のコマンドを中断するために^Cを送信します。

// Execute a command in a terminal immediately after being created
const myTerm = window.createTerminal();
window.onDidChangeTerminalShellIntegration(async ({ terminal, shellIntegration }) => {
  if (terminal === myTerm) {
    const execution = shellIntegration.executeCommand('echo "Hello world"');
    window.onDidEndTerminalShellExecution(event => {
      if (event.execution === execution) {
        console.log(`Command exited with code ${event.exitCode}`);
      }
    });
  }
}));
// Fallback to sendText if there is no shell integration within 3 seconds of launching
setTimeout(() => {
  if (!myTerm.shellIntegration) {
    myTerm.sendText('echo "Hello world"');
    // Without shell integration, we can't know when the command has finished or what the
    // exit code was.
  }
}, 3000);

// Send command to terminal that has been alive for a while
const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
  const execution = shellIntegration.executeCommand({ commandLine });
  window.onDidEndTerminalShellExecution(event => {
    if (event.execution === execution) {
      console.log(`Command exited with code ${event.exitCode}`);
    }
  });
} else {
  term.sendText(commandLine);
  // Without shell integration, we can't know when the command has finished or what the
  // exit code was.
}
パラメーター説明
commandLine: string

実行するコマンドライン。これはターミナルに送信される正確なテキストです。

戻り値説明
TerminalShellExecution

コマンドを実行し、必要に応じて実行中のコマンドを中断するために^Cを送信します。

注意: シェル統合が有効化されていない場合、これは動作が保証されません。TerminalShellExecution.exitCodeが拒否されたかどうかを確認して、成功したかどうかを検証してください。

// Execute a command in a terminal immediately after being created
const myTerm = window.createTerminal();
window.onDidChangeTerminalShellIntegration(async ({ terminal, shellIntegration }) => {
  if (terminal === myTerm) {
    const command = shellIntegration.executeCommand({
      command: 'echo',
      args: ['Hello world']
    });
    const code = await command.exitCode;
    console.log(`Command exited with code ${code}`);
  }
}));
// Fallback to sendText if there is no shell integration within 3 seconds of launching
setTimeout(() => {
  if (!myTerm.shellIntegration) {
    myTerm.sendText('echo "Hello world"');
    // Without shell integration, we can't know when the command has finished or what the
    // exit code was.
  }
}, 3000);

// Send command to terminal that has been alive for a while
const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
  const command = term.shellIntegration.executeCommand({
    command: 'echo',
    args: ['Hello world']
  });
  const code = await command.exitCode;
  console.log(`Command exited with code ${code}`);
} else {
  term.sendText(commandLine);
  // Without shell integration, we can't know when the command has finished or what the
  // exit code was.
}
パラメーター説明
executable: string

実行するコマンド。

args: string[]

実行可能ファイルを起動するための引数。引数に空白が含まれ、かつシングルクォート、ダブルクォート、またはバックティック文字が含まれていない場合、それらが単一の引数として解釈されるようにエスケープされます。

このエスケープはセキュリティ対策を意図したものではないことに注意してください。$(...)のような文字列はシェルで文字列内のコードを実行するために使用されることが多いため、信頼できないデータをこのAPIに渡す際には注意が必要です。

戻り値説明
TerminalShellExecution

TerminalShellIntegrationChangeEvent

ターミナルのシェル統合が変更されたことを示すイベント。

プロパティ

シェル統合オブジェクト。

シェル統合が有効化されたターミナル。

TerminalSplitLocationOptions

ターミナルの親Terminalの位置を使用します。

プロパティ

このターミナルを分割する際の隣接する親ターミナル。親ターミナルがパネル内にあるかエディター領域にあるかに関わらず機能します。

TerminalState

Terminalの状態を表します。

プロパティ

Terminalが操作されたかどうか。操作とは、ターミナルがそのモードに応じてプロセスにデータを送信したことを意味します。デフォルトでは、キーが押されたとき、またはコマンドや拡張機能がテキストを送信したときに入力が送信されますが、ターミナルのモードによっては次の場合にも発生します。

  • ポインタークリックイベント
  • ポインタースクロールイベント
  • ポインター移動イベント
  • ターミナルのフォーカスイン/アウト

データを送信できるイベントの詳細については、https://invisible-island.net/xterm/ctlseqs/ctlseqs.htmlの「DEC Private Mode Set (DECSET)」を参照してください。

Terminalで検出されたシェルタイプ。シェルが何であるか明確な信号がない場合、またはシェルがまだサポートされていない場合は、undefinedになります。この値は、サブシェルが起動されたときにそのシェルタイプに変化するはずです(例: zsh内でbashを実行する場合)。

現在、可能な値は、'bash', 'cmd', 'csh', 'fish', 'gitbash', 'julia', 'ksh', 'node', 'nu', 'pwsh', 'python', 'sh', 'wsl', 'zsh' のいずれかとして定義されています。

TestController

テストを発見し、実行するためのエントリーポイント。TestController.itemsが含まれており、これらはエディターUIを構築するために使用され、テストを実行できるように実行プロファイルと関連付けられています。

プロパティ

tests.createTestControllerに渡されるコントローラーのID。これはグローバルに一意である必要があります。

「トップレベル」のTestItemインスタンスのコレクションで、これらはさらに独自のを持ち、「テストツリー」を形成できます。

拡張機能は、テストを追加するタイミングを制御します。たとえば、ファイル内のテストの装飾を表示するには、workspace.onDidOpenTextDocumentが発火したときに、拡張機能がファイルのテストを追加する必要があります。

ただし、エディターがresolveHandlerを使用して子を明示的に要求する場合があります。詳細については、そのメソッドのドキュメントを参照してください。

テストコントローラーの人間が判読できるラベル。

このメソッドが存在する場合、UIに更新ボタンが表示され、クリックされるとこのメソッドが呼び出されます。呼び出されたとき、拡張機能はワークスペースで新規、変更、または削除されたテストをスキャンする必要があります。

拡張機能は、たとえばFileSystemWatcherを使用してテストをリアルタイムで更新しようとし、このメソッドをフォールバックとして使用することをお勧めします。

パラメーター説明
token: CancellationToken
戻り値説明
void | Thenable<void>

テストが更新されたときに解決されるthenable。

拡張機能によって提供される関数で、TestItem.canResolveChildrentrueの場合、エディターがテストアイテムの子を要求するために呼び出すことがあります。呼び出されたとき、アイテムは子を検出し、子が見つかるにつれてTestController.createTestItemを呼び出す必要があります。

通常、拡張機能はテストアイテムのライフサイクルを管理しますが、特定の条件下では、エディターが特定アイテムの子の読み込みを要求する場合があります。たとえば、ユーザーがエディターを再読み込みした後にテストの再実行を要求した場合、エディターは以前実行されたテストを解決するためにこのメソッドを呼び出す必要がある場合があります。

エクスプローラー内のアイテムは、関数が返されるか、返されたthenableが解決されるまで、自動的に「ビジー」としてマークされます。

パラメーター説明
item: TestItem

子を要求されている未解決のテストアイテム、またはコントローラーの初期itemsを解決するためにundefined

戻り値説明
void | Thenable<void>

メソッド

テストの実行に使用されるプロファイルを作成します。テストを実行するには、拡張機能が少なくとも1つのプロファイルを作成する必要があります。

パラメーター説明
label: string

このプロファイルの人間が判読できるラベル。

kind: TestRunProfileKind

このプロファイルが管理する実行の種類を設定します。

runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void>

テストの実行を開始するために呼び出される関数。

isDefault?: boolean

これがその種類に対するデフォルトのアクションであるかどうか。

tag?: TestTag

プロファイルのテストタグ。

supportsContinuousRun?: boolean

このプロファイルが継続的な実行をサポートしているかどうか。

戻り値説明
TestRunProfile

TestRunProfileのインスタンスで、このコントローラーに自動的に関連付けられます。

新しい管理されたTestItemインスタンスを作成します。既存のアイテムのTestItem.children、またはTestController.itemsに追加できます。

パラメーター説明
id: string

TestItemの識別子。テストアイテムのIDは、追加されるTestItemCollection内で一意である必要があります。

label: string

テストアイテムの人間が判読できるラベル。

uri?: Uri

このTestItemが関連付けられているURI。ファイルまたはディレクトリである場合があります。

戻り値説明
TestItem

TestRunを作成します。これは、テストを実行する要求があった場合にTestRunProfileによって呼び出されるべきであり、外部でテスト実行が検出された場合にも呼び出されることがあります。作成されると、要求に含まれるテストはキュー状態に移行します。

同じrequestインスタンスを使用して作成されたすべての実行はグループ化されます。これは、たとえば、単一のテストスイートが複数のプラットフォームで実行される場合に便利です。

パラメーター説明
request: TestRunRequest

テスト実行リクエスト。include内のテストのみが変更可能で、exclude内のテストは無視されます。

name?: string

実行の人間が判読できる名前。これは、テスト実行における複数の結果セットを区別するために使用できます。たとえば、テストが複数のプラットフォームで実行される場合に便利です。

persist?: boolean

実行によって作成された結果をエディターに保持するかどうか。結果がカバレッジ情報ファイルのように外部で既に保存されているファイルから来ている場合、これはfalseになることがあります。

戻り値説明
TestRun

TestRunのインスタンス。このメソッドが呼び出された時点から、TestRun.endが呼び出されるまで「実行中」と見なされます。

テストコントローラーの登録を解除し、関連するテストと未保存の結果を破棄します。

パラメーター説明
戻り値説明
void

アイテムの結果を古いものとしてマークします。これは、コードや設定が変更され、以前の結果がもはや関連性がないと見なされるべきではない場合に一般的に呼び出されます。結果を古いものとしてマークするために使用されるのと同じロジックが、継続的なテスト実行を駆動するために使用されることがあります。

このメソッドにアイテムが渡された場合、そのアイテムとそのすべての子のテスト結果が古いものとしてマークされます。アイテムが渡されない場合、TestControllerが所有するすべてのテストが古いものとしてマークされます。

このメソッドが呼び出される前に開始されたテスト実行は、進行中の実行を含め、古いものとしてマークされ、エディターのUIで優先度が下げられます。

パラメーター説明
items?: TestItem | readonly TestItem[]

古いものとしてマークするアイテム。未定義の場合、コントローラーのすべてのアイテムが古いものとしてマークされます。

戻り値説明
void

TestCoverageCount

カバレッジ対象リソースに関する情報を含むクラス。ファイル内の行、ブランチ、宣言に対してカウントを与えることができます。

コンストラクタ

パラメーター説明
covered: number
total: number
戻り値説明
TestCoverageCount

プロパティ

ファイル内でカバーされたアイテムの数。

ファイル内のカバーされたアイテムの総数。

TestItem

「テストエクスプローラー」ビューに表示されるアイテム。

TestItemは、テストスイートまたはテスト自体を表すことができます。両者とも類似の機能を備えているためです。

プロパティ

テストエクスプローラービューでアイテムが「ビジー」として表示されるかどうかを制御します。これは、子を発見中のステータスを表示するのに便利です。

デフォルトはfalseです。

このテストアイテムが解決によって子を発見できるかどうかを示します。

trueの場合、このアイテムはテストエクスプローラービューで展開可能として表示され、アイテムを展開すると、そのアイテムでTestController.resolveHandlerが呼び出されます。

デフォルトはfalseです。

このテストアイテムの子。テストスイートの場合、個別のテストケースまたはネストされたスイートが含まれる場合があります。

ラベルの横に表示されるオプションの説明。

テストの読み込み中に発生したオプションのエラー。

これはテスト結果ではなく、構文エラーなど、テスト検出におけるエラーを表すためにのみ使用されるべきであることに注意してください。

TestItemの識別子。これは、テスト結果とドキュメント内のテストをワークスペース(テストエクスプローラー)内のテストと関連付けるために使用されます。これはTestItemの寿命の間変更できず、その親の直接の子の中で一意である必要があります。

テストケースを説明する表示名。

このアイテムの親。これは自動的に設定され、TestController.itemsのトップレベルアイテムや、まだ他のアイテムのに含まれていないアイテムの場合はundefinedです。

テストアイテムのURI内の場所。

これは、uriがファイルを指している場合にのみ意味があります。

このアイテムを他のアイテムと比較する際に使用されるべき文字列。falsyの場合、labelが使用されます。

このテストアイテムに関連付けられたタグ。タグと組み合わせて使用することも、単に整理機能として使用することもできます。

このTestItemが関連付けられているURI。ファイルまたはディレクトリである場合があります。

TestItemCollection

TestItem.childrenおよびTestController.itemsに見られるテストアイテムのコレクション。

プロパティ

コレクション内のアイテム数を取得します。

メソッド

テストアイテムを子に追加します。同じIDを持つアイテムが既に存在する場合、それは置き換えられます。

パラメーター説明
item: TestItem

追加するアイテム。

戻り値説明
void

コレクションから単一のテストアイテムを削除します。

パラメーター説明
itemId: string

削除するアイテムID。

戻り値説明
void

このコレクションの各エントリを反復処理します。

パラメーター説明
callback: (item: TestItem, collection: TestItemCollection) => unknown

各エントリに対して実行する関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用されるthisコンテキスト。

戻り値説明
void

子の中にテストアイテムがIDで存在する場合、効率的に取得します。

パラメーター説明
itemId: string

取得するアイテムID。

戻り値説明
TestItem

見つかったアイテム、または存在しない場合は未定義。

コレクションに保存されているアイテムを置き換えます。

パラメーター説明
items: readonly TestItem[]

保存するアイテム。

戻り値説明
void

TestMessage

テストの状態に関連付けられたメッセージ。特定ソース範囲にリンク可能で、アサーション失敗などに役立ちます。

静的

エディターで差分として表示される新しいTestMessageを作成します。

パラメーター説明
message: string | MarkdownString

ユーザーに表示するメッセージ。

expected: string

期待される出力。

actual: string

実際の出力。

戻り値説明
TestMessage

コンストラクタ

新しいTestMessageインスタンスを作成します。

パラメーター説明
message: string | MarkdownString

ユーザーに表示するメッセージ。

戻り値説明
TestMessage

プロパティ

実際のテスト出力。expectedOutputと共に与えられた場合、差分ビューが表示されます。

テストアイテムのコンテキスト値。これは、メッセージ固有のアクションをテストピークビューに提供するために使用できます。ここに設定された値は、以下のmenus貢献ポイントのtestMessageプロパティで見つけることができます。

  • testing/message/context - 結果ツリー内のメッセージのコンテキストメニュー
  • testing/message/content - メッセージが表示されるエディターコンテンツ上に重ねて表示される目立つボタン。

"contributes": {
  "menus": {
    "testing/message/content": [
      {
        "command": "extension.deleteCommentThread",
        "when": "testMessage == canApplyRichDiff"
      }
    ]
  }
}

コマンドは、以下を含むオブジェクトで呼び出されます。

期待されるテスト出力。actualOutputと共に与えられた場合、差分ビューが表示されます。

関連するファイルの位置。

表示する人間が判読できるメッセージテキスト。

メッセージまたは失敗に関連付けられたスタックトレース。

TestMessageStackFrame

TestMessage.stackTraceで見つかったスタックフレーム。

コンストラクタ

パラメーター説明
label: string

スタックフレームの名前

uri?: Uri
position?: Position

ファイル内のスタックフレームの位置

戻り値説明
TestMessageStackFrame

プロパティ

スタックフレームの名前。通常はメソッドまたは関数名。

ファイル内のスタックフレームの位置。

このスタックフレームの場所。呼び出しフレームの場所がエディターからアクセスできる場合、URIとして提供されるべきです。

TestRun

TestRunは、進行中または完了したテスト実行を表し、実行内の個々のテストの状態を報告するためのメソッドを提供します。

イベント

エディターがテスト実行に関連するデータに関心を持たなくなったときに発火するイベント。

プロパティ

テスト実行がエディターによって再ロード後も保持されるかどうか。

実行の人間が判読できる名前。これは、テスト実行における複数の結果セットを区別するために使用できます。たとえば、テストが複数のプラットフォームで実行される場合に便利です。

テスト実行がUIからキャンセルされたときにトリガーされるキャンセル・トークン。

メソッド

実行中のファイルのカバレッジを追加します。

パラメーター説明
fileCoverage: FileCoverage
戻り値説明
void

テストランナーからの生出力を追加します。ユーザーの要求に応じて、出力はターミナルに表示されます。色やテキストスタイルなどのANSIエスケープシーケンスがサポートされています。改行はLF (\n) ではなくCRLF (\r\n) として指定する必要があります。

パラメーター説明
output: string

追加する出力テキスト。

location?: Location

指定された場所で出力がログに記録されたことを示します。

test?: TestItem

出力に関連付けるテストアイテム。

戻り値説明
void

テスト実行の終了を通知します。実行に含まれるテストで、状態が更新されていないものは、その状態がリセットされます。

パラメーター説明
戻り値説明
void

テストが後で実行するためにキューに入れられたことを示します。

パラメーター説明
test: TestItem

更新するテストアイテム。

戻り値説明
void

テストがエラーになったことを示します。失敗を説明するために1つ以上のTestMessagesを渡す必要があります。これは「失敗」状態とは異なり、コンパイルエラーなど、まったく実行できなかったテストを示します。

パラメーター説明
test: TestItem

更新するテストアイテム。

message: TestMessage | readonly TestMessage[]

テスト失敗に関連付けられたメッセージ。

duration?: number

テストの実行にかかった時間(ミリ秒単位)。

戻り値説明
void

テストが失敗したことを示します。失敗を説明するために1つ以上のTestMessagesを渡す必要があります。

パラメーター説明
test: TestItem

更新するテストアイテム。

message: TestMessage | readonly TestMessage[]

テスト失敗に関連付けられたメッセージ。

duration?: number

テストの実行にかかった時間(ミリ秒単位)。

戻り値説明
void

テストが合格したことを示します。

パラメーター説明
test: TestItem

更新するテストアイテム。

duration?: number

テストの実行にかかった時間(ミリ秒単位)。

戻り値説明
void

テストがスキップされたことを示します。

パラメーター説明
test: TestItem

更新するテストアイテム。

戻り値説明
void

テストの実行が開始されたことを示します。

パラメーター説明
test: TestItem

更新するテストアイテム。

戻り値説明
void

TestRunProfile

TestRunProfileは、TestControllerでテストを実行する1つの方法を記述します。

イベント

ユーザーがこれがデフォルトプロファイルであるかどうかを変更したときに発火します。イベントにはisDefaultの新しい値が含まれます。

プロパティ

このメソッドが存在する場合、UIに設定ギアが表示され、クリックされるとこのメソッドが呼び出されます。呼び出されたとき、クイックピックの表示や設定ファイルのオープンなど、他のエディターアクションを実行できます。

パラメーター説明
戻り値説明
void

このプロファイルが、その種類のアクションが実行されたときに取られるデフォルトのアクションであるかどうかを制御します。たとえば、ユーザーが一般的な「すべて実行」ボタンをクリックすると、TestRunProfileKind.Runのデフォルトプロファイルが実行されますが、これはユーザーが設定できます。

ユーザーがデフォルトプロファイルで行った変更は、onDidChangeDefaultイベントの後、このプロパティに反映されます。

このプロファイルが制御する実行の種類を設定します。ある種類に対してプロファイルがない場合、UIでは利用できません。

UIでユーザーに表示されるラベル。

ユーザーが特定の方法でテストの再実行を要求した場合、このラベルは重要性を持つことに注意してください。たとえば、テストが通常通り実行され、ユーザーがデバッグモードでの再実行を要求した場合、エディターはDebug種類の同じラベルを持つ設定を使用しようとします。そのような設定がない場合は、デフォルトが使用されます。

ファイルの詳細なステートメントレベルおよび関数レベルのカバレッジを提供する、拡張機能によって提供される関数です。エディターは、ファイルにより詳細な情報が必要な場合、例えばエディターで開かれたり、テストカバレッジビューで展開されたりしたときに、これを呼び出します。

この関数に渡されるFileCoverageオブジェクトは、このプロファイルに関連付けられたTestRun.addCoverage呼び出しで発行されたものと同じインスタンスです。

パラメーター説明
testRun: TestRun
fileCoverage: FileCoverage
token: CancellationToken
戻り値説明
Thenable<FileCoverageDetail[]>

ファイル内の単一テストの詳細なステートメントレベルおよび関数レベルのカバレッジを提供する、拡張機能によって提供される関数です。これはTestRunProfile.loadDetailedCoverageのテストごとの兄弟であり、FileCoverage.includesTestsにテストアイテムが提供されている場合、およびそのようなデータが報告されているファイルに対してのみ呼び出されます。

通常、ユーザーがファイルを開くとTestRunProfile.loadDetailedCoverageが最初に呼び出され、その後、ユーザーが特定のテストごとのカバレッジ情報にドリルダウンした場合にこのメソッドが呼び出されます。このメソッドは、実行中に特定のテストによって実行されたステートメントと宣言のみのカバレッジデータを返す必要があります。

この関数に渡されるFileCoverageオブジェクトは、このプロファイルに関連付けられたTestRun.addCoverage呼び出しで発行されたものと同じインスタンスです。

パラメーター説明
testRun: TestRun

カバレッジデータを生成したテスト実行。

fileCoverage: FileCoverage

詳細なカバレッジを読み込むファイルカバレッジオブジェクト。

fromTestItem: TestItem

カバレッジ情報を要求するテストアイテム。

token: CancellationToken

操作をキャンセルする必要があることを示すキャンセル・トークン。

戻り値説明
Thenable<FileCoverageDetail[]>

テスト実行を開始するために呼び出されるハンドラー。呼び出されたとき、関数は少なくとも一度TestController.createTestRunを呼び出す必要があり、要求に関連付けられたすべてのテスト実行は、関数が戻るか、返されたプロミスが解決される前に作成されるべきです。

supportsContinuousRunが設定されている場合、TestRunRequest.continuoustrueである可能性があります。この場合、プロファイルはソースコードの変更を監視し、tokenに対するキャンセルが要求されるまで、TestController.createTestRunを呼び出すことで新しいテスト実行を作成すべきです。

パラメーター説明
request: TestRunRequest

テスト実行のリクエスト情報。

token: CancellationToken
戻り値説明
void | Thenable<void>

このプロファイルがリクエストの継続的な実行をサポートしているかどうか。サポートしている場合、TestRunRequest.continuoustrueに設定されることがあります。デフォルトはfalseです。

プロファイルに関連付けられたタグ。これが設定されている場合、同じタグを持つTestItemインスタンスのみがこのプロファイルで実行資格を持ちます。

メソッド

実行プロファイルを削除します。

パラメーター説明
戻り値説明
void

TestRunProfileKind

TestRunProfilesが制御する実行の種類。

列挙メンバー

Runテストプロファイルの種類。

Debugテストプロファイルの種類。

Coverageテストプロファイルの種類。

TestRunRequest

TestRunRequestはTestRunの前駆体であり、TestController.createTestRunにリクエストを渡すことで作成されます。TestRunRequestには、どのテストを実行すべきか、どのテストを実行すべきでないか、およびそれらがどのように実行されるか(プロファイルを介して)に関する情報が含まれます。

一般的に、TestRunRequestsはエディターによって作成され、TestRunProfile.runHandlerに渡されますが、runHandlerの外部でテストリクエストと実行を作成することもできます。

コンストラクタ

パラメーター説明
include?: readonly TestItem[]

実行する特定のテストの配列、またはすべてのテストを実行する場合は未定義。

exclude?: readonly TestItem[]

実行から除外するテストの配列。

profile?: TestRunProfile

このリクエストに使用される実行プロファイル。

continuous?: boolean

ソースの変更に応じてテストを継続的に実行するかどうか。

preserveFocus?: boolean

実行開始時にユーザーのフォーカスを維持するかどうか。

戻り値説明
TestRunRequest

プロパティ

ソースコードが変更されるにつれて、プロファイルが継続的に実行されるべきかどうか。TestRunProfile.supportsContinuousRunを設定するプロファイルにのみ関連します。

ユーザーがこの実行に含まれるテストから除外するようマークしたテストの配列。除外は包含の後に適用されるべきです。

除外が要求されなかった場合、省略されることがあります。テストコントローラーは、除外されたテストやその子を実行すべきではありません。

実行する特定のテストのフィルター。指定された場合、拡張機能は、含まれるすべてのテストとそのすべての子を実行し、TestRunRequest.excludeに表示されるテストを除外する必要があります。このプロパティが未定義の場合、拡張機能は単にすべてのテストを実行するべきです。

テストを実行するプロセスは、まだ解決されていないテストアイテムの子を解決するべきです。

テスト結果ビューのフォーカス方法を制御します。trueの場合、エディターはユーザーのフォーカスを維持します。falseの場合、エディターはテスト結果ビューにフォーカスを移動することを優先しますが、これはユーザーによって設定可能です。

このリクエストに使用されるプロファイル。これはエディターUIから発行されたリクエストでは常に定義されますが、拡張機能はどのプロファイルにも関連付けられていないリクエストをプログラムで作成することができます。

TestTag

タグはTestItemsおよびTestRunProfilesに関連付けることができます。タグを持つプロファイルは、そのタグがTestItem.tags配列に含まれるテストのみを実行できます。

コンストラクタ

新しいTestTagインスタンスを作成します。

パラメーター説明
id: string

テストタグのID。

戻り値説明
TestTag

プロパティ

テストタグのID。同じIDを持つTestTagインスタンスは同一と見なされます。

TextDocument

ソースファイルなどのテキストドキュメントを表します。テキストドキュメントにはがあり、ファイルのような基礎となるリソースに関する知識が含まれています。

プロパティ

このドキュメントのファイルエンコーディングで、ドキュメントが保存される際に使用されます。

ドキュメントのエンコーディングが変更されたときに通知を受け取るには、onDidChangeTextDocumentイベントを使用します。

現在、可能なエンコーディング値は、'utf8', 'utf8bom', 'utf16le', 'utf16be', 'windows1252', 'iso88591', 'iso88593', 'iso885915', 'macroman', 'cp437', 'windows1256', 'iso88596', 'windows1257', 'iso88594', 'iso885914', 'windows1250', 'iso88592', 'cp852', 'windows1251', 'cp866', 'cp1125', 'iso88595', 'koi8r', 'koi8u', 'iso885913', 'windows1253', 'iso88597', 'windows1255', 'iso88598', 'iso885910', 'iso885916', 'windows1254', 'iso88599', 'windows1258', 'gbk', 'gb18030', 'cp950', 'big5hkscs', 'shiftjis', 'eucjp', 'euckr', 'windows874', 'iso885911', 'koi8ru', 'koi8t', 'gb2312', 'cp865', 'cp850' のいずれかとして定義されています。

このドキュメントで主に使われている行末シーケンス。

関連するリソースのファイルシステムパス。TextDocument.uri.fsPathの短縮表記。URIスキームとは無関係です。

ドキュメントが閉じられた場合、trueです。閉じられたドキュメントはもはや同期されず、同じリソースが再度開かれても再利用されません。

未保存の変更がある場合、true

このドキュメントは、まだ保存されていない無題のファイルを表しているか。注意: これはドキュメントがディスクに保存されることを意味するものではなく、ドキュメントがどこに保存されるか(例: fileftpなど)を判断するにはUri.schemeを使用してください。

このドキュメントに関連付けられている言語の識別子。

このドキュメントの行数。

このドキュメントに関連付けられたURIです。

注意: ほとんどのドキュメントはfileスキームを使用しており、これはディスク上のファイルであることを意味します。しかし、すべてのドキュメントがディスクに保存されているわけではないため、基となるファイルやディスク上の兄弟にアクセスしようとする前にschemeを確認する必要があります。

参照

このドキュメントのバージョン番号(元に戻す/やり直しを含むすべての変更後に厳密に増加します)。

メソッド

このドキュメントのテキストを取得します。範囲を指定することで部分文字列を取得できます。範囲は調整されます。

パラメーター説明
range?: Range

範囲に含まれるテキストのみを含めます。

戻り値説明
string

指定された範囲内のテキスト、またはテキスト全体。

指定された位置の単語範囲を取得します。デフォルトでは、単語はスペース、-、_などの一般的な区切り文字によって定義されます。さらに、言語ごとのカスタム[単語定義]を定義できます。カスタム正規表現を提供することも可能です。

  • 注意1: カスタム正規表現は空文字列に一致してはならず、一致した場合、無視されます。
  • 注意2: カスタム正規表現は複数行文字列に一致せず、速度の観点から正規表現は空白を含む単語に一致すべきではありません。より複雑な、単語以外のシナリオではTextLine.textを使用してください。

位置は調整されます。

パラメーター説明
position: Position

位置。

regex?: RegExp

単語が何かを記述するオプションの正規表現。

戻り値説明
Range

単語にまたがる範囲、またはundefined

行番号で示されるテキスト行を返します。返されるオブジェクトはライブではなく、ドキュメントの変更は反映されないことに注意してください。

パラメーター説明
line: number

[0, lineCount)の範囲内の行番号。

戻り値説明
TextLine

位置で示されるテキスト行を返します。返されるオブジェクトはライブではなく、ドキュメントの変更は反映されないことに注意してください。

位置は調整されます。

参照 TextDocument.lineAt

パラメーター説明
position: Position

位置。

戻り値説明
TextLine

位置をゼロベースのオフセットに変換します。

位置は調整されます。

パラメーター説明
position: Position

位置。

戻り値説明
number

UTF-16 コードユニットにおける有効なゼロベースのオフセット。

ゼロベースのオフセットを位置に変換します。

パラメーター説明
offset: number

ドキュメント内のゼロベースのオフセット。このオフセットはUTF-16 コードユニットです。

戻り値説明
Position

有効なPosition

基となるファイルを保存します。

パラメーター説明
戻り値説明
Thenable<boolean>

ファイルが保存されたときにtrueに解決するプロミス。保存に失敗した場合、falseを返します。

位置がこのドキュメントの範囲に含まれることを確認します。

パラメーター説明
position: Position

位置。

戻り値説明
Position

指定された位置、または新しい調整された位置。

範囲がこのドキュメントに完全に含まれていることを確認します。

パラメーター説明
range: Range

範囲。

戻り値説明
Range

指定された範囲、または新しい調整された範囲。

TextDocumentChangeEvent

トランザクション的なドキュメントの変更を記述するイベント。

プロパティ

コンテンツ変更の配列。

影響を受けるドキュメント。

ドキュメントが変更された理由。理由が不明な場合はundefinedです。

TextDocumentChangeReason

テキストドキュメントが変更された理由。

列挙メンバー

テキスト変更は元に戻す操作によって引き起こされます。

テキストの変更は、やり直し操作によって引き起こされます。

TextDocumentContentChangeEvent

ドキュメントのテキストにおける個別の変更を記述するイベント。

プロパティ

置換された範囲。

置換された範囲の長さ。

置換された範囲のオフセット。

範囲の新しいテキスト。

TextDocumentContentProvider

テキストドキュメントコンテンツプロバイダーを使用すると、dllからのソースやmdから生成されたHTMLなど、読み取り専用のドキュメントをエディターに追加できます。

コンテンツプロバイダーはuri-schemeに登録されます。そのスキームのURIが読み込まれると、コンテンツプロバイダーが要求されます。

イベント

リソースが変更されたことを通知するイベント。

メソッド

指定されたURIのテキストコンテンツを提供します。

エディターは、返された文字列コンテンツを使用して読み取り専用のドキュメントを作成します。割り当てられたリソースは、対応するドキュメントが閉じられたときに解放される必要があります。

: 作成されたドキュメントの内容は、改行シーケンスの正規化により、提供されたテキストと同一ではない場合があります。

パラメーター説明
uri: Uri

このプロバイダーが登録されたスキームに一致するURI。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<string>

文字列、または文字列に解決されるThenable。

TextDocumentSaveReason

テキストドキュメントが保存される理由を表します。

列挙メンバー

手動でトリガーされます。例: ユーザーが保存を押す、デバッグを開始する、API呼び出しを行うなど。

遅延後の自動。

エディターがフォーカスを失ったとき。

TextDocumentShowOptions

エディターでドキュメントを表示する動作を設定するためのオプションを表します。

プロパティ

trueの場合にエディターがフォーカスを取得するのを停止するオプションのフラグ。

エディタータブがプレビューとして表示されるかどうかを制御するオプションのフラグ。プレビュータブは、明示的に、または編集によって残るように設定されるまで、置き換えられて再利用されます。

: ユーザーが設定でプレビューエディターを無効にしている場合、このフラグは無視されます。

エディター内のドキュメントに適用するオプションの選択範囲。

エディターを表示するオプションのビュー列。デフォルトはアクティブな列です。存在しない列は、ViewColumn.Nineの最大値まで必要に応じて作成されます。現在アクティブなエディターの横にエディターを開くには、ViewColumn.Besideを使用します。

TextDocumentWillSaveEvent

ドキュメントが保存されるときに発生するイベント。

ドキュメントが保存される前に変更を加えるには、テキスト編集の配列に解決されるThenableを付けてwaitUntil関数を呼び出します。

プロパティ

保存されるドキュメント。

保存がトリガーされた理由。

メソッド

イベントループを一時停止し、保存前編集を適用することができます。この関数への後続の呼び出しによる編集は、順序通りに適用されます。ドキュメントの同時変更が発生した場合、編集は無視されます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことができません。

workspace.onWillSaveTextDocument(event => {
  // async, will *throw* an error
  setTimeout(() => event.waitUntil(promise));

  // sync, OK
  event.waitUntil(promise);
});
パラメーター説明
thenable: Thenable<readonly TextEdit[]>

保存前編集に解決されるThenable。

戻り値説明
void

指定されたthenableが解決されるまでイベントループを一時停止できます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができます。

パラメーター説明
thenable: Thenable<any>

保存を遅延させるthenableです。

戻り値説明
void

TextEdit

テキスト編集は、ドキュメントに適用されるべき編集を表します。

静的

削除編集を作成するためのユーティリティ。

パラメーター説明
range: Range

範囲。

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

挿入編集を作成するためのユーティリティ。

パラメーター説明
position: Position

位置。空の範囲になります。

newText: string

文字列です。

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

置換編集を作成するためのユーティリティ。

パラメーター説明
range: Range

範囲。

newText: string

文字列です。

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

EOL編集を作成するためのユーティリティ。

パラメーター説明
eol: EndOfLine

EOLシーケンス

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

コンストラクタ

新しいTextEditを作成します。

パラメーター説明
range: Range

範囲。

newText: string

文字列です。

戻り値説明
TextEdit

プロパティ

ドキュメントで使用されるEOLシーケンス。

: EOLシーケンスはドキュメント全体に適用されます。

この編集が挿入する文字列。

この編集が適用される範囲。

TextEditor

ドキュメントにアタッチされたエディターを表します。

プロパティ

このテキストエディターに関連付けられたドキュメント。ドキュメントは、このテキストエディターの全期間にわたって同じになります。

テキストエディターのオプション。

このテキストエディターのプライマリ選択。TextEditor.selections[0] の略記です。

このテキストエディターの選択範囲。プライマリ選択は常にインデックス0にあります。

このエディターが表示される列。メインエディターのいずれでもない場合、例えば組み込みエディターの場合や、エディター列が3より大きい場合はundefinedになります。

エディター内の現在の表示範囲(垂直方向)。これは垂直スクロールのみを考慮し、水平スクロールは考慮しません。

メソッド

このテキストエディターに関連付けられたドキュメントに対して編集を実行します。

指定されたコールバック関数は、編集を行うために使用する必要がある編集ビルダーとともに呼び出されます。編集ビルダーは、コールバックの実行中にのみ有効であることに注意してください。

パラメーター説明
callback: (editBuilder: TextEditorEdit) => void

編集ビルダーを使用して編集を作成できる関数。

options?: {undoStopAfter: boolean, undoStopBefore: boolean}

この編集に関するアンドゥ/リドゥの動作。デフォルトでは、この編集の前後にアンドゥストップが作成されます。

戻り値説明
Thenable<boolean>

編集が適用できたかどうかを示す値に解決されるプロミス。

テキストエディターを非表示にします。

  • 非推奨 - 代わりにコマンドworkbench.action.closeActiveEditorを使用してください。このメソッドは予期しない動作を示し、次のメジャーアップデートで削除されます。
パラメーター説明
戻り値説明
void

スニペットを挿入し、エディターをスニペットモードにします。「スニペットモード」とは、ユーザーがスニペットを完了または承認できるように、エディターがプレースホルダーと追加のカーソルを追加することを意味します。

パラメーター説明
snippet: SnippetString

この編集に挿入するスニペット。

location?: Range | Position | readonly Range[] | readonly Position[]

スニペットを挿入する位置または範囲。デフォルトは現在のエディターの選択範囲です。

options?: {keepWhitespace: boolean, undoStopAfter: boolean, undoStopBefore: boolean}

この編集に関するアンドゥ/リドゥの動作。デフォルトでは、この編集の前後にアンドゥストップが作成されます。

戻り値説明
Thenable<boolean>

スニペットを挿入できたかどうかを示す値に解決されるプロミス。プロミスはスニペットが完全に記入または承認されたことを通知するものではないことに注意してください。

指定された範囲を表示するために、revealTypeで示されるようにスクロールします。

パラメーター説明
range: Range

範囲。

revealType?: TextEditorRevealType

rangeを表示するためのスクロール戦略。

戻り値説明
void

テキストエディターに一連の装飾を追加します。指定された装飾タイプで既存の装飾セットがある場合、それらは置き換えられます。rangesOrOptionsが空の場合、指定された装飾タイプの既存の装飾は削除されます。

参照: createTextEditorDecorationType

パラメーター説明
decorationType: TextEditorDecorationType

装飾タイプ。

rangesOrOptions: readonly Range[] | readonly DecorationOptions[]

範囲またはより詳細なオプションのいずれか。

戻り値説明
void

テキストエディターを表示します。

パラメーター説明
column?: ViewColumn

このエディターを表示する。このメソッドは予期しない動作を示し、次のメジャーアップデートで削除されます。

戻り値説明
void

TextEditorCursorStyle

カーソルのレンダリングスタイル。

列挙メンバー

カーソルを垂直の太線としてレンダリングします。

カーソルを塗りつぶされたブロックとしてレンダリングします。

カーソルを太い水平線としてレンダリングします。

カーソルを垂直の細線としてレンダリングします。

カーソルをブロックのアウトラインとしてレンダリングします。

カーソルを細い水平線としてレンダリングします。

TextEditorDecorationType

テキストエディターで同じスタイルオプションを共有する装飾セットへのハンドルを表します。

TextEditorDecorationTypeのインスタンスを取得するには、createTextEditorDecorationTypeを使用します。

プロパティ

ハンドルの内部表現。

メソッド

この装飾タイプと、それを使用しているすべてのテキストエディター上のすべての装飾を削除します。

パラメーター説明
戻り値説明
void

TextEditorEdit

TextEditor上で単一のトランザクションで適用される複雑な編集。これには編集の説明が含まれ、編集が有効な場合(つまり、重複する領域がなく、その間にドキュメントが変更されていないなど)は、テキストエディターに関連付けられたドキュメントに適用できます。

メソッド

特定のテキスト領域を削除します。

パラメーター説明
location: Range | Selection

この操作が削除すべき範囲。

戻り値説明
void

指定された場所にテキストを挿入します。value\r\nまたは\nを使用でき、これらは現在のドキュメントに正規化されます。replaceで同等のテキスト編集を行うことはできますが、insertは異なる結果選択(移動される)を生成します。

パラメーター説明
location: Position

新しいテキストを挿入する位置。

value: string

この操作が挿入すべき新しいテキスト。

戻り値説明
void

特定のテキスト領域を新しい値で置き換えます。value\r\nまたは\nを使用でき、これらは現在のドキュメントに正規化されます。

パラメーター説明
location: Range | Position | Selection

この操作が削除すべき範囲。

value: string

この操作がlocationを削除した後に挿入すべき新しいテキスト。

戻り値説明
void

行末シーケンスを設定します。

パラメーター説明
endOfLine: EndOfLine

ドキュメントの新しい行末。

戻り値説明
void

TextEditorLineNumbersStyle

行番号のレンダリングスタイル。

列挙メンバー

行番号をレンダリングしません。

行番号をレンダリングします。

プライマリカーソル位置に対する相対値で行番号をレンダリングします。

10行ごとに線番号をレンダリングします。

TextEditorOptions

テキストエディターのオプションを表します。

プロパティ

このエディターでのカーソルのレンダリングスタイル。テキストエディターのオプションを取得する場合、このプロパティは常に存在します。テキストエディターのオプションを設定する場合、このプロパティはオプションです。

insertSpacesがtrueの場合に挿入するスペースの数。

テキストエディターのオプションを取得する場合、このプロパティは常に数値(解決済み)になります。テキストエディターのオプションを設定する場合、このプロパティはオプションであり、数値または"tabSize"にすることができます。

Tabを押したときにn個のスペースを挿入します。テキストエディターのオプションを取得する場合、このプロパティは常にブール値(解決済み)になります。テキストエディターのオプションを設定する場合、このプロパティはオプションであり、ブール値または"auto"にすることができます。

現在の行番号に対する相対的な行番号をレンダリングします。テキストエディターのオプションを取得する場合、このプロパティは常に存在します。テキストエディターのオプションを設定する場合、このプロパティはオプションです。

タブが占めるスペースのサイズ。これは2つの目的で使用されます

  • タブ文字のレンダリング幅。
  • insertSpacesがtrueでindentSize"tabSize"に設定されている場合に挿入するスペースの数。

テキストエディターのオプションを取得する場合、このプロパティは常に数値(解決済み)になります。テキストエディターのオプションを設定する場合、このプロパティはオプションであり、数値または"auto"にすることができます。

TextEditorOptionsChangeEvent

テキストエディターのオプションの変更を記述するイベントを表します。

プロパティ

テキストエディターのオプションの新しい値。

オプションが変更されたテキストエディター

TextEditorRevealType

テキストエディターにおける異なる表示戦略を表します。

列挙メンバー

範囲は可能な限り少ないスクロールで表示されます。

範囲は常にビューポートの中央に表示されます。

範囲がビューポート外の場合、ビューポートの中央に表示されます。それ以外の場合は、可能な限り少ないスクロールで表示されます。

範囲は常にビューポートの最上部に表示されます。

TextEditorSelectionChangeEvent

テキストエディターの選択範囲の変更を記述するイベントを表します。

プロパティ

このイベントをトリガーした変更の種類undefinedの場合もあります。

テキストエディターの選択範囲の新しい値。

選択範囲が変更されたテキストエディター

TextEditorSelectionChangeKind

選択変更イベントを引き起こす可能性があるソースを表します。

列挙メンバー

エディターでの入力による選択の変更。

エディターでのクリックによる選択の変更。

コマンド実行による選択の変更。

TextEditorViewColumnChangeEvent

テキストエディターのビュー列の変更を記述するイベントを表します。

プロパティ

ビュー列が変更されたテキストエディター

テキストエディターのビュー列の新しい値。

TextEditorVisibleRangesChangeEvent

テキストエディターの表示範囲の変更を記述するイベントを表します。

プロパティ

表示範囲が変更されたテキストエディター

テキストエディターの表示範囲の新しい値。

TextLine

ソースコードの行などのテキスト行を表します。

TextLineオブジェクトは不変です。ドキュメントが変更されると、以前に取得された行は最新の状態を表しません。

プロパティ

/\s/で定義されている、空白文字ではない最初の文字のオフセット。: 行全体が空白の場合、行の長さが返されます。

この行が空白のみであるかどうか。TextLine.firstNonWhitespaceCharacterIndex === TextLine.text.lengthの省略形。

0から始まる行番号。

行区切り文字を含まないこの行がカバーする範囲。

行区切り文字を含むこの行がカバーする範囲。

行区切り文字を含まないこの行のテキスト。

ThemableDecorationAttachmentRenderOptions

テキスト装飾のコンテンツののテーマ固有のレンダリングスタイルを表します。

プロパティ

装飾アタッチメントに適用されるCSSスタイルプロパティ。

装飾アタッチメントに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

装飾アタッチメントに適用されるCSSスタイルプロパティ。

アタッチメントにレンダリングする画像の絶対パスまたはURI。アイコンまたはテキストのいずれかを表示できますが、両方を表示することはできません。

アタッチメントに表示されるテキストコンテンツを定義します。アイコンまたはテキストのいずれかを表示できますが、両方を表示することはできません。

装飾アタッチメントに適用されるCSSスタイルプロパティ。

装飾アタッチメントに適用されるCSSスタイルプロパティ。

装飾アタッチメントに適用されるCSSスタイルプロパティ。

装飾アタッチメントに適用されるCSSスタイルプロパティ。

装飾アタッチメントに適用されるCSSスタイルプロパティ。

装飾アタッチメントに適用されるCSSスタイルプロパティ。

ThemableDecorationInstanceRenderOptions

装飾インスタンスのテーマ対応レンダリングオプションを表します。

プロパティ

装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。

装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。

ThemableDecorationRenderOptions

テキストエディターの装飾のテーマ固有のレンダリングスタイルを表します。

プロパティ

装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。

デコレーションの背景色。rgba() を使用し、透明な背景色を定義して他のデコレーションと調和させます。または、カラーレジストリからの色を参照できます。

装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

ガターにレンダリングされる画像の絶対パスまたはURI。

ガターアイコンのサイズを指定します。利用可能な値は「auto」、「contain」、「cover」、および任意のパーセンテージ値です。詳細については、https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspx を参照してください。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。

概要ルーラー内のデコレーションの色。rgba() を使用し、透明な色を定義して他のデコレーションと調和させます。

デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。

ThemeColor

ワークベンチの色の1つへの参照です。https://vscode.dokyumento.jp/api/references/theme-colorで定義されています。テーマカラーを使用することは、テーマ作成者とユーザーが色を変更できる可能性を与えるため、カスタムカラーよりも推奨されます。

コンストラクタ

テーマカラーへの参照を作成します。

パラメーター説明
id: string

色の。利用可能な色はhttps://vscode.dokyumento.jp/api/references/theme-colorにリストされています。

戻り値説明
ThemeColor

プロパティ

この色のID。

ThemeIcon

名前付きアイコンへの参照。現在、FileFolder、およびThemeIcon IDがサポートされています。テーマアイコンを使用することは、製品テーマの作成者がアイコンを変更できる可能性を与えるため、カスタムアイコンよりも推奨されます。

:テーマアイコンはラベルや説明の中にもレンダリングできます。テーマアイコンをサポートする場所では、これが明記されており、例えば`quickPick.label = "Hello World $(globe)"`のように、`$()`構文を使用します。

静的

ファイルを表すアイコンへの参照。アイコンは現在のファイルアイコンテーマから取得されるか、プレースホルダーアイコンが使用されます。

フォルダーを表すアイコンへの参照。アイコンは現在のファイルアイコンテーマから取得されるか、プレースホルダーアイコンが使用されます。

コンストラクタ

テーマアイコンへの参照を作成します。

パラメーター説明
id: string

アイコンのID。利用可能なアイコンはhttps://vscode.dokyumento.jp/api/references/icons-in-labels#icon-listingにリストされています。

color?: ThemeColor

アイコンのオプションの`ThemeColor`。この色は現在、TreeItemでのみ使用されています。

戻り値説明
ThemeIcon

プロパティ

アイコンのオプションのThemeColor。この色は現在、TreeItemでのみ使用されています。

アイコンのID。利用可能なアイコンはhttps://vscode.dokyumento.jp/api/references/icons-in-labels#icon-listingにリストされています。

TreeCheckboxChangeEvent<T>

ツリーアイテムのチェックボックス状態の変更を記述するイベント。

プロパティ

チェックまたはチェック解除されたアイテム。

TreeDataProvider<T>

ツリーデータを提供するデータプロバイダー

イベント

要素またはルートが変更されたことを通知するオプションのイベント。これにより、ビューは変更された要素/ルートとその子孫(表示されている場合)を再帰的に更新するトリガーとなります。ルートが変更されたことを通知するには、引数を渡さないか、`undefined`または`null`を渡します。

メソッド

`element`の子、または要素が渡されない場合はルートの子を取得します。

パラメーター説明
element?: T

プロバイダーが子を取得する元の要素。`undefined`の場合もあります。

戻り値説明
ProviderResult<T[]>

`element`の子、または要素が渡されない場合はルートの子。

`element`の親を返すオプションのメソッド。`element`がルートの子である場合は`null`または`undefined`を返します。

注: このメソッドは、reveal APIにアクセスするために実装する必要があります。

パラメーター説明
element: T

親を返す必要がある要素。

戻り値説明
ProviderResult<T>

`element`の親。

`element`のTreeItem表現を取得します。

パラメーター説明
element: T

TreeItem表現が要求される要素。

戻り値説明
TreeItem | Thenable<TreeItem>

要素のTreeItem表現。

ホバー時にTreeItemプロパティが未定義の場合に解決するために呼び出されます。ツリーアイテムのクリック/オープン時にTreeItemプロパティが未定義の場合に解決するために呼び出されます。`resolveTreeItem`で解決できるのは、未定義だったプロパティのみです。機能は、選択時やオープン時に他の不足しているプロパティを解決するために呼び出されるように、後に拡張される可能性があります。

各TreeItemにつき一度だけ呼び出されます。

onDidChangeTreeDataはresolveTreeItem内からトリガーされるべきではありません。

: この関数は、ツリーアイテムがすでにUIに表示されているときに呼び出されます。そのため、プレゼンテーション(ラベル、説明など)を変更するプロパティは変更できません。

パラメーター説明
item: TreeItem

`item`の未定義のプロパティを設定した後、`item`を返すべきです。

element: T

TreeItemに関連付けられたオブジェクト。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<TreeItem>

解決されたツリーアイテム、またはそのようなアイテムに解決される`Thenable`。与えられた`item`を返しても問題ありません。結果が返されない場合、与えられた`item`が使用されます。

TreeDragAndDropController<T>

`TreeView`でのドラッグ&ドロップをサポートします。

プロパティ

この`TreeDragAndDropController`の`handleDrag`メソッドがツリーデータ転送に追加できるMIMEタイプ。これは、明確に定義された既存のMIMEタイプ、および拡張機能によって定義されたMIMEタイプの場合があります。

ツリーの推奨MIMEタイプ(`application/vnd.code.tree.`)は自動的に追加されます。

この`DragAndDropController`の`handleDrop`メソッドがサポートするMIMEタイプ。これは、適切に定義された既存のMIMEタイプ、および拡張機能によって定義されたMIMEタイプである可能性があります。

ツリーからのドロップをサポートするには、そのツリーのMIMEタイプを追加する必要があります。これには、同じツリー内からのドロップも含まれます。ツリーのMIMEタイプは、`application/vnd.code.tree.`の形式にすることをお勧めします。

ファイルの実際のMIMEタイプに関係なく、あらゆる種類のドロップされたファイルをサポートするには、特別な`files` MIMEタイプを使用します。

ドラッグされたアイテムのMIMEタイプを学習するには

  1. `DragAndDropController`を設定します
  2. 開発者: ログレベルを設定... コマンドを使用してレベルを「Debug」に設定します。
  3. 開発者ツールを開き、不明なMIMEタイプのアイテムをツリー上にドラッグします。MIMEタイプは開発者コンソールにログされます。

拡張機能に送信できないMIMEタイプは省略されることに注意してください。

メソッド

ユーザーがこの`DragAndDropController`からアイテムのドラッグを開始すると、`handleDrag`が呼び出されます。拡張機能は`handleDrag`を使用して、独自の`DataTransferItem`アイテムをドラッグ&ドロップに追加できます。

`handleDrag`で追加されたMIMEタイプは、アプリケーション外部では利用できません。

アイテムが**同じツリー**内の**別のツリーアイテム**にドロップされると、`DataTransferItem`オブジェクトは保持されます。ツリーオブジェクトをデータ転送に追加するには、ツリーの推奨MIMEタイプ(`application/vnd.code.tree.`)を使用してください。これを最大限に活用する方法については、`DataTransferItem`のドキュメントを参照してください。

エディターにドラッグできるデータ転送アイテムを追加するには、アプリケーション固有のMIMEタイプ「text/uri-list」を使用します。「text/uri-list」のデータは、`toString()`化されたURIを`\r\n`で区切った文字列である必要があります。ファイル内のカーソル位置を指定するには、URIのフラグメントを`L3,5`(3は行番号、5は列番号)に設定します。

パラメーター説明
source: readonly T[]

ドラッグ&ドロップ操作のソースアイテム。

dataTransfer: DataTransfer

このドラッグに関連付けられたデータ転送。

token: CancellationToken

ドラッグがキャンセルされたことを示すキャンセルトークン。

戻り値説明
void | Thenable<void>

この`DragAndDropController`が属するツリーへのドラッグ&ドロップアクションの結果としてドロップが発生したときに呼び出されます。

拡張機能は、更新が必要な要素に対してonDidChangeTreeDataを発生させる必要があります。

パラメーター説明
target: T

ドロップが発生しているターゲットツリー要素。未定義の場合、ターゲットはルートです。

dataTransfer: DataTransfer

ドラッグ元のデータ転送アイテム。

token: CancellationToken

ドロップがキャンセルされたことを示すキャンセルトークン。

戻り値説明
void | Thenable<void>

TreeItem

ツリーアイテムはツリーのUI要素です。ツリーアイテムはデータプロバイダーによって作成されます。

コンストラクタ

パラメーター説明
label: string | TreeItemLabel

このアイテムを説明する人間が読める文字列

collapsibleState?: TreeItemCollapsibleState

ツリーアイテムのTreeItemCollapsibleState。デフォルトはTreeItemCollapsibleState.Noneです。

戻り値説明
TreeItem

パラメーター説明
resourceUri: Uri

このアイテムを表すリソースのUri

collapsibleState?: TreeItemCollapsibleState

ツリーアイテムのTreeItemCollapsibleState。デフォルトはTreeItemCollapsibleState.Noneです。

戻り値説明
TreeItem

プロパティ

スクリーンリーダーがこのツリーアイテムと対話するときに使用されるアクセシビリティ情報。一般的に、TreeItemはaccessibilityInformationの`role`を設定する必要はありません。しかし、TreeItemがツリーのように表示されない場合で、`role`を設定するのが理にかなっているケースもあります。

ツリーアイテムのTreeItemCheckboxStatecheckboxStateが変更されたときはonDidChangeTreeDataを発生させる必要があります。

ツリーアイテムのTreeItemCollapsibleState

ツリーアイテムが選択されたときに実行されるべきCommand

ツリーアイテムがエディターで何かを開く場合は、コマンドIDとして`vscode.open`または`vscode.diff`を使用してください。これらのコマンドを使用することで、結果のエディターが他の組み込みツリーがエディターを開く方法と一貫して表示されることが保証されます。

ツリーアイテムのコンテキスト値。これはツリー内でアイテム固有のアクションを貢献するために使用できます。たとえば、ツリーアイテムに`folder`というコンテキスト値が与えられます。`menus`拡張ポイントを使用して`view/item/context`にアクションを貢献するとき、`when`式で`viewItem == folder`のようにキー`viewItem`のコンテキスト値を指定できます。

"contributes": {
  "menus": {
    "view/item/context": [
      {
        "command": "extension.deleteFolder",
        "when": "viewItem == folder"
      }
    ]
  }
}

これにより、`contextValue`が`folder`であるアイテムに対してのみ`extension.deleteFolder`アクションが表示されます。

目立たないようにレンダリングされる人間が読める文字列。`true`の場合、resourceUriから派生し、`falsy`の場合、表示されません。

ツリーアイテムのアイコンパスまたはThemeIcon。`falsy`の場合、アイテムが折りたたみ可能であればフォルダーテーマアイコンが割り当てられ、そうでない場合はファイルテーマアイコンが割り当てられます。ファイルまたはフォルダーのThemeIconが指定されている場合、アイコンはresourceUri(提供されている場合)を使用して指定されたテーマアイコンの現在のファイルアイコンテーマから派生します。

ツリー全体で一意である必要があるツリーアイテムのオプションID。このIDは、ツリーアイテムの選択状態と展開状態を保持するために使用されます。

指定しない場合、ツリーアイテムのラベルを使用してIDが生成されます。**注**:ラベルが変更されるとIDも変更され、選択状態と展開状態は安定して保持できなくなることに注意してください。

このアイテムを説明する人間が読める文字列。`falsy`の場合、resourceUriから派生します。

このアイテムを表すリソースのUri

提供されていない場合、ラベルを派生させるために使用されます。iconPathThemeIcon値を持つ場合、現在のファイルアイコンテーマからアイコンを派生させるために使用されます(提供されている場合)。

このアイテムにホバーしたときのツールチップテキストです。

TreeItemCheckboxState

ツリーアイテムのチェックボックス状態

列挙メンバー

アイテムがチェック解除されていることを示します。

アイテムがチェックされていることを示します。

TreeItemCollapsibleState

ツリーアイテムの折りたたみ状態

列挙メンバー

アイテムを折りたたむことも展開することもできないことを示します。子がないことを意味します。

項目が折りたたまれているかを決定します

項目が展開されているかを決定します

TreeItemLabel

ツリーアイテムを説明するラベル

プロパティ

ラベル内で強調表示する範囲。範囲は2つの数値のタプルとして定義され、最初の数値は開始インデックス(含む)、2番目の数値は終了インデックス(含まない)です。

ツリーアイテムを説明する人間が読める文字列。

TreeView<T>

ツリービューを表します

イベント

要素またはルートがチェックまたはチェック解除されたことを通知するイベント。

選択が変更されたときに発生するイベント

可視性が変更されたときに発生するイベント

要素が折りたたまれたときに発生するイベント

要素が展開されたときに発生するイベント

プロパティ

このTreeViewに表示するバッジ。バッジを削除するには、undefinedに設定します。

ビューのタイトルで目立たないようにレンダリングされるオプションの人間が読める説明。タイトル説明をnull、undefined、または空の文字列に設定すると、ビューから説明が削除されます。

ビューにレンダリングされるオプションの人間が読めるメッセージ。メッセージをnull、undefined、または空の文字列に設定すると、ビューからメッセージが削除されます。

現在選択されている要素。

ツリービューのタイトルは、最初は拡張機能のpackage.jsonから取得されます。タイトルプロパティへの変更は、ビューのUIのタイトルに適切に反映されます。

ツリービューが可視の場合は`true`、それ以外の場合は`false`。

メソッド

このオブジェクトを破棄します。

パラメーター説明
戻り値説明
any

ツリービューで指定された要素を表示します。ツリービューが非表示の場合、ツリービューが表示され、要素が表示されます。

デフォルトでは、表示された要素は選択されます。選択しないようにするには、オプション`select`を`false`に設定します。フォーカスするには、オプション`focus`を`true`に設定します。表示された要素を展開するには、オプション`expand`を`true`に設定します。再帰的に展開するには、`expand`を展開するレベル数に設定します。

パラメーター説明
element: T
options?: {expand: number | boolean, focus: boolean, select: boolean}
戻り値説明
Thenable<void>

TreeViewExpansionEvent<T>

TreeView内の要素が展開または折りたたまれたときに発生するイベント

プロパティ

展開または折りたたまれた要素。

TreeViewOptions<T>

TreeViewを作成するためのオプション

プロパティ

ツリーが複数選択をサポートするかどうか。ツリーが複数選択をサポートし、ツリーからコマンドが実行された場合、コマンドの最初の引数はコマンドが実行されたツリーアイテムであり、2番目の引数は選択されているすべてのツリーアイテムを含む配列です。

ツリービューでのドラッグ&ドロップを実装するためのオプションのインターフェース。

デフォルトでは、ツリーアイテムの子がすでにフェッチされている場合、子のチェックボックスは親ツリーアイテムのチェック状態に基づいて自動的に管理されます。ツリーアイテムがデフォルトで折りたたまれている場合(つまり、子がまだフェッチされていない場合)、子のチェックボックスは更新されません。この動作を上書きし、拡張機能で子と親のチェックボックス状態を管理するには、これを`true`に設定します。

TreeViewOptions.manageCheckboxStateManuallyがfalseの場合(デフォルトの動作)の例

  1. ツリーアイテムがチェックされ、その後その子孫がフェッチされます。子孫はチェックされます。

  2. ツリーアイテムの親がチェックされます。そのツリーアイテムとすべての兄弟がチェックされます。

    • 子1
    • 子2 ユーザーが親をチェックすると、ツリーは次のようになります。
    • 子1
    • 子2
  1. ツリーアイテムとそのすべての兄弟がチェックされます。親がチェックされます。
    • 子1
    • 子2 ユーザーが子1と子2をチェックすると、ツリーは次のようになります。
    • 子1
    • 子2
  1. ツリーアイテムがチェック解除されます。親がチェック解除されます。
    • 子1
    • 子2 ユーザーが子1のチェックを解除すると、ツリーは次のようになります。
    • 子1
    • 子2

「すべて折りたたむ」アクションを表示するかどうか。

ツリーデータを提供するデータプロバイダー。

TreeViewSelectionChangeEvent<T>

ツリービューの選択に変更があったときに発生するイベント

プロパティ

選択された要素。

TreeViewVisibilityChangeEvent

ツリービューの可視性に変更があったときに発生するイベント

プロパティ

ツリービューが可視の場合は`true`、それ以外の場合は`false`。

TypeDefinitionProvider

型定義プロバイダーは、拡張機能と型定義機能間の契約を定義します。

メソッド

指定された位置とドキュメントにあるシンボルの型定義を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<Definition | LocationLink[]>

定義、またはそれに解決されるThenable。結果がない場合は、undefinedまたはnullを返すことで通知できます。

TypeHierarchyItem

クラスやインターフェースなど、型階層のアイテムを表します。

コンストラクタ

新しい型階層アイテムを作成します。

パラメーター説明
kind: SymbolKind

アイテムの種類。

name: string

アイテムの名前。

detail: string

アイテムの詳細。

uri: Uri

アイテムのUri。

range: Range

アイテムの全体の範囲。

selectionRange: Range

アイテムの選択範囲。

戻り値説明
TypeHierarchyItem

プロパティ

この項目の詳細情報。例: 関数のシグネチャ。

この項目の種類。

この項目の名前。

このシンボルを囲む範囲で、先頭/末尾の空白は含まれませんが、コメントやコードなどその他すべてが含まれます。

このシンボルが選択されたり表示されたりするときに選択および表示されるべき範囲。例えば、クラスの名前など。`range`プロパティに含まれている必要があります。

この項目のタグ。

この項目のリソース識別子。

TypeHierarchyProvider

型階層プロバイダーインターフェースは、拡張機能と型階層機能間の契約を記述します。

メソッド

指定されたドキュメントと位置によって示されるアイテムを返すことで、型階層をブートストラップします。このアイテムは、型グラフへのエントリとして使用されます。プロバイダーは、指定された場所にアイテムがない場合、`undefined`または`null`を返すべきです。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<TypeHierarchyItem | TypeHierarchyItem[]>

1つまたは複数の型階層アイテム、またはそれらに解決される`Thenable`。結果がない場合は、`undefined`、`null`、または空の配列を返すことで通知できます。

アイテムのすべてのサブタイプ(例:指定されたアイテムから派生/継承されたすべての型)を提供します。グラフの用語では、これは型グラフ内の方向付きおよび注釈付きエッジを記述します。つまり、指定されたアイテムが開始ノードであり、結果は到達可能なノードです。

パラメーター説明
item: TypeHierarchyItem

サブタイプを計算すべき階層アイテム。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<TypeHierarchyItem[]>

直接のサブタイプのセット、またはそれに解決される`Thenable`。結果がない場合は、`undefined`または`null`を返すことで通知できます。

アイテムのすべてのスーパータイプ、つまり型が派生/継承されているすべての型を提供します。グラフの用語では、これは型グラフ内の方向付きおよび注釈付きエッジを記述します。つまり、指定されたアイテムが開始ノードであり、結果は到達可能なノードです。

パラメーター説明
item: TypeHierarchyItem

スーパータイプを計算すべき階層アイテム。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<TypeHierarchyItem[]>

直接のスーパータイプのセット、またはそれに解決される`Thenable`。結果がない場合は、`undefined`または`null`を返すことで通知できます。

UIKind

拡張機能を使用できるUIの種類の可能性。

列挙メンバー

デスクトップアプリケーションから拡張機能にアクセスします。

ウェブブラウザから拡張機能にアクセスします。

Uri

ディスク上のファイルまたは、タイトルなしのリソースのような別のリソースを表すユニバーサルリソース識別子。

静的

ファイルシステムパスからURIを作成します。スキームは`file`になります。

Uri.parseUri.fileの*違い*は、後者が引数を文字列化されたURIではなくパスとして扱うことです。例えば、`Uri.file(path)`は`Uri.parse('file://' + path)`と同じ*ではありません*。なぜなら、パスに解釈される文字(#と?)が含まれている可能性があるからです。以下のサンプルを参照してください。

const good = URI.file('/coding/c#/project1');
good.scheme === 'file';
good.path === '/coding/c#/project1';
good.fragment === '';

const bad = URI.parse('file://' + '/coding/c#/project1');
bad.scheme === 'file';
bad.path === '/coding/c'; // path is now broken
bad.fragment === '/project1';
パラメーター説明
path: string

ファイルシステムパスまたはUNCパス。

戻り値説明
Uri

新しいUriインスタンス。

URIをその構成要素から作成します

参照: Uri.toString

パラメーター説明
components: {authority: string, fragment: string, path: string, query: string, scheme: string}

Uriの構成要素。

戻り値説明
Uri

新しいUriインスタンス。

ベースURIのパスと提供されたパスセグメントを結合した結果をパスとする新しいURIを作成します。

  • 注1: `joinPath`はパスコンポーネントのみに影響し、その他のすべてのコンポーネント(スキーム、権限、クエリ、フラグメント)はそのまま残されます。
  • 注2: ベースURIはパスを持つ必要があります。そうでない場合はエラーがスローされます。

パスセグメントは以下の方法で正規化されます

  • パス区切り文字(`/`または`\`)の連続は単一の区切り文字に置き換えられます。
  • Windows上の`file`-urisの場合、バックスラッシュ文字(`\`)はパス区切り文字と見なされます。
  • `..`-セグメントは親セグメントを、`.`は現在のセグメントを表します。
  • パスには常にルートがあり、例えばWindowsのドライブレターはルートなので、`joinPath(Uri.file('file:///c:/root'), '../../other').fsPath === 'c:/other'`は真です。
パラメーター説明
base: Uri

URI。パスが必要です。

...pathSegments: string[]

1つ以上のパスフラグメント

戻り値説明
Uri

指定されたフラグメントと結合されたパスを持つ新しいURI

文字列からURIを作成します。例えば、`http://www.example.com/some/path`、`file:///usr/home`、または`scheme:with/path`。

: 一時期、`scheme`のないURIも受け入れられていましたが、すべてのURIはスキームを持つべきであるため、これは正しくありません。既存のコードの破損を避けるため、オプションの`strict`引数が追加されました。例えば、`Uri.parse('my:uri', true)`のように使用することを強くお勧めします。

参照: Uri.toString

パラメーター説明
value: string

Uriの文字列値。

strict?: boolean

`value`が空の場合、または`scheme`がパースできない場合にエラーをスローします。

戻り値説明
Uri

新しいUriインスタンス。

コンストラクタ

新しい`Uri`オブジェクトを作成するには、`file`および`parse`ファクトリ関数を使用します。

パラメーター説明
scheme: string
authority: string
path: string
query: string
fragment: string
戻り値説明
Uri

プロパティ

オーソリティは、`http://www.example.com/some/path?query#fragment`の`www.example.com`の部分です。最初のダブルスラッシュと次のスラッシュの間の部分。

フラグメントは、`http://www.example.com/some/path?query#fragment`の`fragment`部分です。

このUriに対応するファイルシステムパスを表す文字列。

UNCパスを処理し、Windowsのドライブレターを小文字に正規化します。また、プラットフォーム固有のパス区切り文字を使用します。

  • 無効な文字や意味論についてパスを検証することは*ありません*。
  • このUriのスキームを*考慮しません*。
  • 結果の文字列は、表示目的で使用すべきでは*なく*、`readFile`などのディスク操作に使用すべきです。

pathプロパティとの*違い*は、プラットフォーム固有のパス区切り文字の使用とUNCパスの処理です。以下のサンプルで違いを説明します。

const u = URI.parse('file://server/c$/folder/file.txt');
u.authority === 'server';
u.path === '/c$/folder/file.txt';
u.fsPath === '\\serverc$\folder\file.txt';

パスは、`http://www.example.com/some/path?query#fragment`の`/some/path`の部分です。

クエリは、`http://www.example.com/some/path?query#fragment`の`query`部分です。

スキームは、`http://www.example.com/some/path?query#fragment`の`http`の部分です。最初のコロンの前の部分。

メソッド

このUriのJSON表現を返します。

パラメーター説明
戻り値説明
any

オブジェクト。

このUriの文字列表現を返します。URIの表現と正規化はスキームに依存します。

  • 結果の文字列はUri.parseで安全に使用できます。
  • 結果の文字列は表示目的で使用すべきでは*ありません*。

: 実装は*積極的に*エンコードするため、予期せぬ結果(ただし誤りではない)になることがよくあります。例えば、コロンが`%3A`にエンコードされることがあり、これはファイルURIでは予期せぬかもしれません。また、`&`と`=`もエンコードされ、これはHTTP URIでは予期せぬかもしれません。安定性の理由から、これは変更できません。過剰なエンコードに悩まされている場合は、`skipEncoding`引数を使用してください: `uri.toString(true)`。

パラメーター説明
skipEncoding?: boolean

結果をパーセンテージエンコードしない(デフォルトは`false`)。パスに現れる`#`と`?`文字は常にエンコードされることに注意してください。

戻り値説明
string

このUriの文字列表現。

このUriから新しいUriを派生させます。

let file = Uri.parse('before:some/file/path');
let other = file.with({ scheme: 'after' });
assert.ok(other.toString() === 'after:some/file/path');
パラメーター説明
change: {authority: string, fragment: string, path: string, query: string, scheme: string}

このUriへの変更を記述するオブジェクト。コンポーネントを未設定にするには、`null`または空の文字列を使用します。

戻り値説明
Uri

与えられた変更を反映する新しいUri。変更が何も変えない場合、`this` Uriを返します。

UriHandler

URIハンドラーは、システム全体のURIの処理を担当します。

参照: window.registerUriHandler

メソッド

提供されたシステム全体のUriを処理します。

参照: window.registerUriHandler

パラメーター説明
uri: Uri
戻り値説明
ProviderResult<void>

ViewBadge

ビューの値を表示するバッジ

プロパティ

バッジのツールチップに表示するラベル。

バッジに表示する値。

ViewColumn

ウィンドウ内のエディターの位置を示します。エディターはグリッドに配置でき、各列はそのグリッド内の1つのエディターの位置を、表示順にエディターを数えることで表します。

列挙メンバー

アクティブな列の横にある列を表す*シンボリックな*エディター列。この値はエディターを開くときに使用できますが、エディターの*解決された* viewColumn値は常に`One`、`Two`、`Three`、...または`undefined`であり、`Beside`になることはありません。

現在アクティブな列を表す*シンボリックな*エディター列。この値はエディターを開くときに使用できますが、エディターの*解決された* viewColumn値は常に`One`、`Two`、`Three`、...または`undefined`であり、`Active`になることはありません。

最初のエディター列。

2番目のエディター列。

3番目のエディター列。

4番目のエディター列。

5番目のエディター列。

6番目のエディター列。

7番目のエディター列。

8番目のエディター列。

9番目のエディター列。

Webview

iframeと同様に、HTMLコンテンツを表示します。

イベント

ウェブビューコンテンツがメッセージを投稿したときに発生します。

ウェブビューコンテンツは、文字列またはJSONシリアライズ可能なオブジェクトを拡張機能に投稿できます。メッセージを受信する拡張機能はブラウザ環境で実行されないため、`Blob`、`File`、`ImageData`、その他のDOM固有のオブジェクトを投稿することはできません。

プロパティ

ウェブビューリソースのコンテンツセキュリティポリシーソース。

これは、コンテンツセキュリティポリシーのルールで使用すべきオリジンです。

`img-src https: ${webview.cspSource} ...;`;

ウェブビューのHTMLコンテンツ。

これは完全で有効なHTMLドキュメントである必要があります。このプロパティを変更すると、ウェブビューが再ロードされます。

ウェブビューは通常の拡張機能プロセスからサンドボックス化されているため、ウェブビューとのすべての通信はメッセージパッシングを使用する必要があります。拡張機能からウェブビューにメッセージを送信するには、postMessageを使用します。ウェブビューから拡張機能にメッセージを送信するには、ウェブビュー内で`acquireVsCodeApi`関数を使用してエディターのAPIへのハンドルを取得し、`.postMessage()`を呼び出します。

<script>
    const vscode = acquireVsCodeApi(); // acquireVsCodeApi can only be invoked once
    vscode.postMessage({ message: 'hello!' });
</script>

ウェブビュー内でワークスペースからリソースをロードするには、asWebviewUriメソッドを使用し、そのリソースのディレクトリがWebviewOptions.localResourceRootsにリストされていることを確認してください。

ウェブビューはサンドボックス化されていますが、スクリプトの実行や任意のコンテンツのロードを許可していることに留意してください。したがって、拡張機能はウェブビューを扱う際に、すべての標準的なウェブセキュリティのベストプラクティスに従う必要があります。これには、信頼できないすべての入力(ワークスペースからのコンテンツを含む)を適切にサニタイズし、コンテンツセキュリティポリシーを設定することが含まれます。

ウェブビューのコンテンツ設定。

メソッド

ローカルファイルシステムのURIを、ウェブビュー内で使用できるURIに変換します。

ウェブビューは、`file:`URIを使用してワークスペースやローカルファイルシステムから直接リソースをロードできません。asWebviewUri関数は、ローカルの`file:`URIを受け取り、同じリソースをロードするためにウェブビュー内で使用できるURIに変換します。

webview.html = `<img src="${webview.asWebviewUri(
  vscode.Uri.file('/Users/codey/workspace/cat.gif')
)}">`;
パラメーター説明
localResource: Uri
戻り値説明
Uri

ウェブビューコンテンツにメッセージを投稿します。

メッセージは、ウェブビューがアクティブ(表示されているか、`retainContextWhenHidden`が設定された状態でバックグラウンドにある)である場合にのみ配信されます。

パラメーター説明
message: any

メッセージ本文。これは文字列またはその他のJSONシリアライズ可能なオブジェクトである必要があります。

古いバージョンのVS Codeでは、`message`に`ArrayBuffer`が含まれている場合、正しくシリアライズされず、ウェブビューによって受信されません。同様に、`Uint8Array`のようなTypedArrayも非常に非効率的にシリアライズされ、ウェブビュー内でTypedArrayとして再作成されることはありません。

ただし、拡張機能が`package.json`の`engines`フィールドでVS Code 1.57以降をターゲットとしている場合、`message`に含まれるすべての`ArrayBuffer`値はウェブビューに効率的に転送され、ウェブビュー内でも正しく再作成されます。

戻り値説明
Thenable<boolean>

メッセージがウェブビューに投稿されたとき、またはメッセージが配信不能だったためにドロップされたときに解決されるPromise。

メッセージがウェブビューに投稿された場合、`true`を返します。メッセージはアクティブなウェブビュー(つまり、表示されているウェブビュー、または`retainContextWhenHidden`が設定されている非表示のウェブビュー)にのみ投稿できます。

`true`の応答は、メッセージが実際にウェブビューによって受信されたことを意味しません。たとえば、ウェブビュー内にメッセージリスナーがフックされていなかったり、メッセージが投稿された後にウェブビューが破棄されたりして、受信されなかった可能性があります。

メッセージが実際に受信されたことを確認したい場合は、ウェブビューから拡張機能に確認メッセージを投稿させてみてください。

WebviewOptions

ウェブビューのコンテンツ設定。

プロパティ

ウェブビューコンテンツでコマンドURIが有効になっているかどうかを制御します。

デフォルトは`false`(コマンドURIは無効)です。

配列を渡した場合、配列内のコマンドのみが許可されます。

ウェブビューコンテンツでフォームが有効になっているかどうかを制御します。

スクリプトが有効な場合、デフォルトはtrueです。それ以外の場合はfalseがデフォルトです。このプロパティを明示的にtrueまたはfalseに設定すると、デフォルトが上書きされます。

ウェブビューコンテンツでスクリプトが有効になっているかどうかを制御します。

デフォルトはfalse(スクリプト無効)です。

asWebviewUriからのURIを使用してウェブビューがローカル(ファイルシステム)リソースをロードできるルートパス。

デフォルトは、現在のワークスペースのルートフォルダーと拡張機能のインストールディレクトリです。

空の配列を渡すと、ローカルリソースへのアクセスをすべて禁止します。

Webview内で使用されるlocalhostポートのマッピング。

ポートマッピングにより、Webviewはlocalhostポートがどのように解決されるかを透過的に定義できます。これは、Webview内で静的なlocalhostポートを使用して、サービスが実行されているランダムなポートに解決できるようにするために使用できます。

Webviewがlocalhostコンテンツにアクセスする場合、webviewPortextensionHostPortのポートが同じであっても、ポートマッピングを指定することをお勧めします。

注意: ポートマッピングはhttpまたはhttpsのURLでのみ機能します。WebSocketのURL(例: ws://:3000)は別のポートにマッピングできません。

WebviewPanel

Webviewを含むパネル。

イベント

パネルのビュー状態が変更されたときに発生します。

パネルが破棄されたときに発生します。

これは、ユーザーがパネルを閉じたか、パネルで.dispose()が呼び出されたためである可能性があります。

パネルが破棄された後に使用しようとすると、例外がスローされます。

プロパティ

パネルがアクティブ(ユーザーによってフォーカスされている)であるかどうか。

UIに表示されるパネルのアイコン。

Webviewパネルのコンテンツ設定。

UIに表示されるパネルのタイトル。

パネルのエディタ位置。このプロパティは、Webviewがいずれかのエディタビュー列にある場合にのみ設定されます。

'markdown.preview'のようなWebviewパネルのタイプを識別します。

パネルが表示されているかどうか。

パネルに属するWebview

メソッド

Webviewパネルを破棄します。

これにより、表示されている場合はパネルが閉じられ、Webviewが所有するリソースが破棄されます。Webviewパネルは、ユーザーがWebviewパネルを閉じたときにも破棄されます。どちらの場合も、onDisposeイベントが発生します。

パラメーター説明
戻り値説明
any

指定された列にWebviewパネルを表示します。

Webviewパネルは一度に1つの列にのみ表示できます。既に表示されている場合、このメソッドはそれを新しい列に移動します。

パラメーター説明
viewColumn?: ViewColumn

パネルを表示するビュー列。未定義の場合は現在のviewColumnに表示されます。

preserveFocus?: boolean

trueの場合、Webviewはフォーカスを受け取りません。

戻り値説明
void

WebviewPanelOnDidChangeViewStateEvent

Webviewパネルのビュー状態が変更されたときに発生するイベント。

プロパティ

ビュー状態が変更されたWebviewパネル。

WebviewPanelOptions

Webviewパネルのコンテンツ設定。

プロパティ

パネルで検索ウィジェットを有効にするかどうかを制御します。

デフォルトはfalseです。

パネルが非表示になった場合でも、Webviewパネルのコンテンツ(iframe)を保持するかどうかを制御します。

通常、WebviewパネルのHTMLコンテキストは、パネルが表示されたときに作成され、非表示になったときに破棄されます。複雑な状態やUIを持つ拡張機能は、retainContextWhenHiddenを設定して、Webviewがバックグラウンドタブに移動した場合でもエディターがWebviewコンテキストを保持するようにできます。retainContextWhenHiddenを使用するWebviewが非表示になると、そのスクリプトやその他の動的コンテンツは一時停止されます。パネルが再び表示されると、コンテキストは元の状態とまったく同じ状態で自動的に復元されます。retainContextWhenHiddenが有効な場合でも、非表示のWebviewにメッセージを送信することはできません。

retainContextWhenHiddenはメモリオーバーヘッドが高く、パネルのコンテキストを迅速に保存および復元できない場合にのみ使用してください。

WebviewPanelSerializer<T>

vscodeがシャットダウンしたときに永続化されたWebviewパネルを復元します。

Webviewの永続化には2種類あります。

  • セッション内での永続化。
  • セッション間での永続化(エディターの再起動をまたぐ永続化)。

WebviewPanelSerializerは2番目のケース、つまりWebviewをセッション間で永続化する場合にのみ必要です。

セッション内での永続化により、Webviewは非表示になったときに状態を保存し、再び表示されたときにこの状態からコンテンツを復元できます。これはWebviewコンテンツ自体によって完全に機能します。永続化された状態を保存するには、acquireVsCodeApi().setState()をJSONシリアル化可能なオブジェクトとともに呼び出します。状態を再度復元するには、getState()を呼び出します。

// Within the webview
const vscode = acquireVsCodeApi();

// Get existing state
const oldState = vscode.getState() || { value: 0 };

// Update state
setState({ value: oldState.value + 1 });

WebviewPanelSerializerは、エディターの再起動をまたいでこの永続化を拡張します。エディターがシャットダウンすると、シリアライザーを持つすべてのWebviewのsetStateからの状態が保存されます。再起動後にWebviewが最初に表示されると、この状態がdeserializeWebviewPanelに渡されます。これにより、拡張機能はこの状態から古いWebviewPanelを復元できます。

メソッド

シリアル化されたstateからWebviewパネルを復元します。

シリアル化されたWebviewが最初に表示されたときに呼び出されます。

パラメーター説明
webviewPanel: WebviewPanel

復元するWebviewパネル。シリアライザーはこのパネルの所有権を取得する必要があります。シリアライザーはWebviewの.htmlを復元し、すべてのWebviewイベントを接続する必要があります。

state: T

Webviewコンテンツからの永続化された状態。

戻り値説明
Thenable<void>

Webviewが完全に復元されたことを示すThenable。

WebviewPortMapping

Webview内でlocalhostに使用されるポートマッピングを定義します。

プロパティ

宛先ポート。webviewPortはこのポートに解決されます。

Webview内で再マッピングするlocalhostポート。

WebviewView

Webviewベースのビュー。

イベント

ビューの可視性が変更されたときに発生するイベント。

可視性変更をトリガーするアクション

  • ビューが折りたたまれたり展開されたりしたとき。
  • ユーザーがサイドバーまたはパネルの別のビューグループに切り替えたとき。

コンテキストメニューを使用してビューを非表示にすると、ビューが破棄され、onDidDisposeが代わりに発生することに注意してください。

ビューが破棄されたときに発生するイベント。

ビューは、ユーザーによって明示的に非表示にされたときに破棄されます(これは、ユーザーがビュー内で右クリックし、Webviewビューのチェックを外す場合に発生します)。

ビューが破棄された後に使用しようとすると、例外がスローされます。

プロパティ

このWebviewビューに表示するバッジ。バッジを削除するには、未定義に設定します。

タイトルで目立たないようにレンダリングされる人間が読める文字列。

UIに表示されるビューのタイトル。

ビューのタイトルは、最初は拡張機能のpackage.jsonの貢献から取得されます。

'hexEditor.dataView'のようなWebviewビューのタイプを識別します。

Webviewが現在表示されているかどうかを追跡します。

ビューは、画面に表示され、展開されている場合に可視となります。

ビューの基になるWebview。

メソッド

UIにビューを表示します。

ビューが折りたたまれている場合、これにより展開されます。

パラメーター説明
preserveFocus?: boolean

trueの場合、ビューはフォーカスを受け取りません。

戻り値説明
void

WebviewViewProvider

WebviewView要素を作成するためのプロバイダー。

メソッド

Webviewビューを解決します。

resolveWebviewViewは、ビューが最初に表示されたときに呼び出されます。これは、ビューが最初に読み込まれたとき、またはユーザーがビューを非表示にした後、再度表示したときに発生する可能性があります。

パラメーター説明
webviewView: WebviewView

復元するWebviewビュー。プロバイダーはこのビューの所有権を取得する必要があります。プロバイダーはWebviewの.htmlを設定し、関心のあるすべてのWebviewイベントを接続する必要があります。

context: WebviewViewResolveContext<unknown>

解決中のビューに関する追加のメタデータ。

token: CancellationToken

提供されているビューが不要になったことを示すキャンセル・トークン。

戻り値説明
void | Thenable<void>

ビューが完全に解決されたことを示すオプションのThenable。

WebviewViewResolveContext<T>

解決中のWebviewビューに関する追加情報。

プロパティ

Webviewコンテンツからの永続化された状態。

リソースを節約するため、エディターは通常、表示されていないWebviewドキュメント(iframeコンテンツ)を解放します。たとえば、ユーザーがビューを折りたたんだり、サイドバーの別のトップレベルのアクティビティに切り替えたりすると、WebviewView自体はアクティブに保たれますが、Webviewの基になるドキュメントは解放されます。ビューが再び表示されると再作成されます。

WebviewOptionsretainContextWhenHiddenを設定することで、この動作を防ぐことができます。ただし、これによりリソース使用量が増加するため、可能な限り避けるべきです。代わりに、永続化された状態を使用してWebviewの状態を保存し、必要に応じて迅速に再作成できるようにすることができます。

永続化された状態を保存するには、Webview内でacquireVsCodeApi().setState()をJSONシリアル化可能なオブジェクトとともに呼び出します。状態を再度復元するには、getState()を呼び出します。例:

// Within the webview
const vscode = acquireVsCodeApi();

// Get existing state
const oldState = vscode.getState() || { value: 0 };

// Update state
setState({ value: oldState.value + 1 });

エディターは、Webviewが非表示になったとき、およびエディターの再起動時に、永続化された状態が正しく保存されることを保証します。

WindowState

ウィンドウの状態を表します。

プロパティ

ウィンドウが最近操作されたかどうか。これは、アクティビティが発生した直後、またはユーザーの非アクティブ状態が短い時間続いた後にすぐに変化します。

現在のウィンドウがフォーカスされているかどうか。

WorkspaceConfiguration

設定を表します。これは以下のマージされたビューです。

  • 既定の設定
  • グローバル (ユーザー) 設定
  • ワークスペース設定
  • ワークスペース フォルダー設定 - 要求されたリソースが属するワークスペース フォルダーの1つから。
  • 言語設定 - 要求された言語で定義された設定。

実効値(getによって返される)は、以下の順序で値を上書きまたはマージすることによって計算されます。

  1. defaultValue (package.jsonで定義されている場合、それ以外の場合は値のタイプから派生)
  2. globalValue (定義されている場合)
  3. workspaceValue (定義されている場合)
  4. workspaceFolderValue (定義されている場合)
  5. defaultLanguageValue (定義されている場合)
  6. globalLanguageValue (定義されている場合)
  7. workspaceLanguageValue (定義されている場合)
  8. workspaceFolderLanguageValue (定義されている場合)

注意: object型の値のみがマージされ、その他の値の型はすべて上書きされます。

例 1: 上書き

defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
value = 'off';

例 2: 言語値

defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
globalLanguageValue = 'on';
value = 'on';

例 3: オブジェクト値

defaultValue = { a: 1, b: 2 };
globalValue = { b: 3, c: 4 };
value = { a: 1, b: 3, c: 4 };

注意: ワークスペースとワークスペースフォルダーの設定には、launchtasksの設定が含まれます。これらのベース名はセクション識別子の一部となります。次のスニペットは、launch.jsonからすべての設定を取得する方法を示しています。

// launch.json configuration
const config = workspace.getConfiguration(
  'launch',
  vscode.workspace.workspaceFolders[0].uri
);

// retrieve values
const values = config.get('configurations');

詳細については、設定を参照してください。

メソッド

この設定から値を返します。

パラメーター説明
section: string

設定名、ドット区切り名をサポートします。

戻り値説明
T

sectionが示す値、またはundefined

この設定から値を返します。

パラメーター説明
section: string

設定名、ドット区切り名をサポートします。

defaultValue: T

値が見つからない場合は、undefinedが返されます。

戻り値説明
T

sectionが示す値、またはデフォルト値。

この設定に特定の値があるかどうかを確認します。

パラメーター説明
section: string

設定名、ドット区切り名をサポートします。

戻り値説明
boolean

セクションがundefinedに解決されない場合はtrue

設定に関するすべての情報を取得します。設定値は、多くの場合、デフォルト値、グローバルまたはインストール全体の値、ワークスペース固有の値、フォルダー固有の値、および言語固有の値(WorkspaceConfigurationが言語にスコープされている場合)で構成されます。

また、指定された設定が定義されているすべての言語IDも提供します。

注: 設定名は設定ツリーのリーフを示す必要があります (editor.fontSizeeditorを比較) そうでない場合、結果は返されません。

パラメーター説明
section: string

設定名、ドット区切り名をサポートします。

戻り値説明
{defaultLanguageValue: T, defaultValue: T, globalLanguageValue: T, globalValue: T, key: string, languageIds: string[], workspaceFolderLanguageValue: T, workspaceFolderValue: T, workspaceLanguageValue: T, workspaceValue: T}

設定に関する情報、またはundefined

設定値を更新します。更新された設定値は永続化されます。

値は以下で変更できます。

注: 設定値を削除するには、undefinedを使用します。例: config.update('somekey', undefined)

  • スロー - 更新中のエラー
    • 登録されていない設定。
    • ウィンドウ設定からワークスペースフォルダーへ
    • ワークスペースが開かれていない場合のワークスペースまたはワークスペースフォルダーへの設定。
    • ワークスペースフォルダー設定がない場合のワークスペースフォルダーへの設定。
    • WorkspaceConfigurationがリソースにスコープされていない場合のワークスペースフォルダーへの設定。
パラメーター説明
section: string

設定名、ドット区切り名をサポートします。

value: any

新しい値。

configurationTarget?: boolean | ConfigurationTarget

設定ターゲットまたはブール値。 - trueの場合、グローバル設定を更新します。 - falseの場合、ワークスペース設定を更新します。 - undefinedまたはnullの場合、設定がリソース固有であればワークスペースフォルダー設定を更新し、それ以外の場合はワークスペース設定を更新します。

overrideInLanguage?: boolean

要求されたlanguageIdのスコープで値を更新するかどうか。 - trueの場合、要求されたlanguageIdの下の値を更新します。 - undefinedの場合、設定がその言語に定義されている場合にのみ、要求されたlanguageIdの下の値を更新します。

戻り値説明
Thenable<void>

WorkspaceEdit

ワークスペース編集は、複数のリソースとドキュメントに対するテキストおよびファイル変更のコレクションです。

ワークスペース編集を適用するには、applyEdit関数を使用します。

コンストラクタ

パラメーター説明
戻り値説明
WorkspaceEdit

プロパティ

テキストまたはリソースの変更によって影響を受けるリソースの数。

メソッド

通常のファイルを作成します。

パラメーター説明
uri: Uri

新しいファイルのUri。

options?: {contents: Uint8Array | DataTransferFile, ignoreIfExists: boolean, overwrite: boolean}

既存のファイルを上書きするか、無視するかを定義します。overwriteignoreIfExistsの両方が設定されている場合、overwriteが優先されます。どちらも設定されておらず、ファイルが既に存在する場合、編集は正常に適用できません。contentプロパティを使用すると、ファイルが作成される際の初期コンテンツを設定できます。

metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

指定された範囲のテキストを削除します。

パラメーター説明
uri: Uri

リソース識別子です。

range: Range

範囲。

metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

ファイルまたはフォルダーを削除します。

パラメーター説明
uri: Uri

削除するファイルのuri。

options?: {ignoreIfNotExists: boolean, recursive: boolean}
metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

リソース別にグループ化されたすべてのテキスト編集を取得します。

パラメーター説明
戻り値説明
Array<[Uri, TextEdit[]]>

[Uri, TextEdit[]]-タプルのシャローコピー。

リソースのテキスト編集を取得します。

パラメーター説明
uri: Uri

リソース識別子です。

戻り値説明
TextEdit[]

テキスト編集の配列。

リソースのテキスト編集が存在するかどうかを確認します。

パラメーター説明
uri: Uri

リソース識別子です。

戻り値説明
boolean

指定されたリソースがこの編集によって変更される場合はtrue

指定された位置に指定されたテキストを挿入します。

パラメーター説明
uri: Uri

リソース識別子です。

position: Position

位置。

newText: string

文字列です。

metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

ファイルまたはフォルダーの名前を変更します。

パラメーター説明
oldUri: Uri

既存のファイル。

newUri: Uri

新しい場所です。

options?: {ignoreIfExists: boolean, overwrite: boolean}

既存のファイルを上書きするか無視するかを定義します。上書きとignoreIfExistsの両方が設定されている場合、上書きが優先されます。

metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

指定されたリソースについて、指定された範囲を指定されたテキストで置換します。

パラメーター説明
uri: Uri

リソース識別子です。

range: Range

範囲。

newText: string

文字列です。

metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

リソースのテキスト編集またはスニペット編集を設定(および置換)します。

パラメーター説明
uri: Uri

リソース識別子です。

edits: ReadonlyArray<TextEdit | SnippetTextEdit>

編集の配列。

戻り値説明
void

リソースのメタデータ付きテキスト編集またはスニペット編集を設定(および置換)します。

パラメーター説明
uri: Uri

リソース識別子です。

edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]>

編集の配列。

戻り値説明
void

リソースのノートブック編集を設定(および置換)します。

パラメーター説明
uri: Uri

リソース識別子です。

edits: readonly NotebookEdit[]

編集の配列。

戻り値説明
void

リソースのメタデータ付きノートブック編集を設定(および置換)します。

パラメーター説明
uri: Uri

リソース識別子です。

edits: ReadonlyArray<[NotebookEdit, WorkspaceEditEntryMetadata]>

編集の配列。

戻り値説明
void

WorkspaceEditEntryMetadata

ワークスペース編集のエントリに関する追加データ。エントリにラベルを付けたり、ユーザーによる確認が必要なエントリとしてマークしたりすることをサポートします。エディターは、同じラベルを持つ編集をツリーノードにグループ化します。たとえば、「文字列の変更」とラベル付けされたすべての編集はツリーノードになります。

プロパティ

同じ行で目立たないようにレンダリングされる人間が読める文字列。

編集のアイコンパスまたはThemeIcon

目立つようにレンダリングされる人間が読める文字列。

ユーザー確認が必要であることを示すフラグ。

WorkspaceEditMetadata

ワークスペース編集に関する追加データ。

プロパティ

この編集がリファクタリングであることをエディタに通知します。

WorkspaceFolder

ワークスペースフォルダーは、エディターで開かれている可能性のある多数のルートの1つです。すべてのワークスペースフォルダーは同等であり、アクティブまたはプライマリなワークスペースフォルダーという概念はありません。

プロパティ

このワークスペースフォルダーの序数。

このワークスペースフォルダーの名前。uriパスのベース名がデフォルトです。

このワークスペースフォルダーに関連付けられたURI。

注: Uri型が意図的に選択されたのは、エディターの将来のリリースで、ローカルディスクに保存されていないワークスペースフォルダー(例: ftp://server/workspaces/foo)をサポートできるようにするためです。

WorkspaceFolderPickOptions

ワークスペースフォルダー選択UIの動作を設定するオプション。

プロパティ

フォーカスがエディタの別の部分または別のウィンドウに移動したときにピッカーを開いたままにするには、trueに設定します。この設定はiPadでは無視され、常にfalseです。

入力ボックスにプレースホルダーとして表示されるオプションの文字列で、ユーザーに何を選択すべきかを案内します。

WorkspaceFoldersChangeEvent

ワークスペースフォルダーのセットへの変更を記述するイベント。

プロパティ

追加されたワークスペースフォルダー。

削除されたワークスペースフォルダー。

WorkspaceSymbolProvider<T>

ワークスペースシンボルプロバイダーインターフェースは、拡張機能とシンボル検索機能間のコントラクトを定義します。

メソッド

指定されたクエリ文字列に一致するシンボルをプロジェクト全体で検索します。

queryパラメーターは緩やかな方法で解釈されるべきです。なぜなら、エディターが結果に独自のハイライトとスコアリングを適用するためです。良い経験則としては、大文字と小文字を区別せず、単にqueryの文字が候補シンボルにその順序で出現するかどうかを確認することです。プレフィックス、サブストリング、または同様の厳密な一致は使用しないでください。

パフォーマンスを向上させるには、実装者はresolveWorkspaceSymbolを実装し、rangeが定義されていない部分的なlocation-オブジェクトを持つシンボルを提供できます。エディターは、選択されたシンボル(例: ワークスペースシンボルを開くときなど)に対してのみresolveWorkspaceSymbolを呼び出します。

パラメーター説明
query: string

クエリ文字列。空文字列の場合、すべてのシンボルが返されるべきです。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T[]>

ドキュメントハイライトの配列、またはそれに解決されるThenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

与えられたシンボルの位置を埋めます。このメソッドは、UIでシンボルが選択されるたびに呼び出されます。プロバイダーはこのメソッドを実装し、provideWorkspaceSymbolsから不完全なシンボルを返すことができます。これはパフォーマンスの向上に役立つことがよくあります。

パラメーター説明
symbol: T

解決されるべきシンボル。provideWorkspaceSymbolsへの以前の呼び出しから返されたオブジェクトのインスタンスであることが保証されています。

token: CancellationToken

キャンセルトークン。

戻り値説明
ProviderResult<T>

解決されたシンボル、またはそれに解決されるthenable。結果が返されない場合、与えられたsymbolが使用されます。

APIパターン

これらは、VS Code APIで使用される一般的なパターンのいくつかです。

Promise

VS Code APIは、非同期操作をPromiseで表現します。拡張機能からは、ES6、WinJS、A+など、あらゆる種類のPromiseを返すことができます。

特定のPromiseライブラリに依存しないことは、APIではThenable型で表現されます。Thenableは、thenメソッドという共通の分母を表します。

ほとんどの場合、Promiseの使用はオプションであり、VS Codeが拡張機能を呼び出す場合、結果タイプだけでなく、結果タイプThenableも処理できます。Promiseの使用がオプションである場合、APIはor型を返すことでこれを示します。

provideNumber(): number | Thenable<number>

キャンセル・トークン

多くの場合、操作は一時的な状態から開始され、操作が完了する前に状態が変化します。たとえば、IntelliSenseの計算が開始され、ユーザーが入力し続けると、その操作の結果は陳腐化します。

このような動作にさらされるAPIには、CancellationTokenが渡されます。これを使用してキャンセルを確認(isCancellationRequested)したり、キャンセルが発生したときに通知を受け取ったり(onCancellationRequested)することができます。キャンセル・トークンは通常、関数呼び出しの最後のパラメーターであり、オプションです。

Disposable

VS Code APIは、VS Codeから取得されるリソースに対してdisposeパターンを使用します。これは、イベントリスニング、コマンド、UIとのやり取り、およびさまざまな言語の貢献に適用されます。

例えば、setStatusBarMessage(value: string)関数はDisposableを返し、disposeを呼び出すとメッセージが再度削除されます。

イベント

VS Code APIのイベントは、購読するためにリスナー関数を呼び出す関数として公開されています。購読の呼び出しはDisposableを返し、disposeでイベントリスナーが削除されます。

var listener = function(event) {
  console.log('It happened', event);
};

// start listening
var subscription = fsWatcher.onDidDelete(listener);

// do more stuff

subscription.dispose(); // stop listening

イベントの名前は、on[Will|Did]VerbNoun?パターンに従います。名前は、イベントが発生する前(onWill)か、既に発生した(onDid)か、何が起こったか(verb)、そしてコンテキストから明白でない場合はコンテキスト(noun)を示します。

VS Code APIの例としては、window.onDidChangeActiveTextEditorがあります。これは、アクティブなテキストエディター(noun)が変更された(onDid)ときに発生する(verb)イベントです。

厳密なnull

VS Code APIは、厳密なnullチェックをサポートするために、適切な場所でundefinedおよびnullのTypeScript型を使用しています。