mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-07-06 02:00:07 +00:00
Merge pull request #34124 from octref/master
VS Code 1.23 Extension API
This commit is contained in:
677
types/vscode/index.d.ts
vendored
677
types/vscode/index.d.ts
vendored
@@ -1,4 +1,4 @@
|
||||
// Type definitions for Visual Studio Code 1.22
|
||||
// Type definitions for Visual Studio Code 1.23
|
||||
// Project: https://github.com/microsoft/vscode
|
||||
// Definitions by: Visual Studio Code Team, Microsoft <https://github.com/Microsoft>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
@@ -10,10 +10,15 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Type Definition for Visual Studio Code 1.22 Extension API
|
||||
* Type Definition for Visual Studio Code 1.23 Extension API
|
||||
* See https://code.visualstudio.com/api for more information
|
||||
*/
|
||||
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
declare module 'vscode' {
|
||||
|
||||
/**
|
||||
@@ -99,9 +104,13 @@ declare module 'vscode' {
|
||||
export interface TextDocument {
|
||||
|
||||
/**
|
||||
* The associated URI for this document. Most documents have the __file__-scheme, indicating that they
|
||||
* represent files on disk. However, some documents may have other schemes indicating that they are not
|
||||
* available on disk.
|
||||
* The associated uri for this document.
|
||||
*
|
||||
* *Note* that most documents use the `file`-scheme, which means they are files on disk. However, **not** all documents are
|
||||
* saved on disk and therefore the `scheme` must be checked before trying to access the underlying file or siblings on disk.
|
||||
*
|
||||
* @see [FileSystemProvider](#FileSystemProvider)
|
||||
* @see [TextDocumentContentProvider](#TextDocumentContentProvider)
|
||||
*/
|
||||
readonly uri: Uri;
|
||||
|
||||
@@ -112,7 +121,9 @@ declare module 'vscode' {
|
||||
readonly fileName: string;
|
||||
|
||||
/**
|
||||
* Is this document representing an untitled file.
|
||||
* Is this document representing an untitled file which has never been saved yet. *Note* that
|
||||
* this does not mean the document will be saved to disk, use [`uri.scheme`](#Uri.scheme)
|
||||
* to figure out where a document will be [saved](#FileSystemProvider), e.g. `file`, `ftp` etc.
|
||||
*/
|
||||
readonly isUntitled: boolean;
|
||||
|
||||
@@ -904,6 +915,11 @@ declare module 'vscode' {
|
||||
*/
|
||||
color?: string | ThemeColor;
|
||||
|
||||
/**
|
||||
* CSS styling property that will be applied to text enclosed by a decoration.
|
||||
*/
|
||||
opacity?: string;
|
||||
|
||||
/**
|
||||
* CSS styling property that will be applied to text enclosed by a decoration.
|
||||
*/
|
||||
@@ -1815,7 +1831,7 @@ declare module 'vscode' {
|
||||
* its resource, or a glob-pattern that is applied to the [path](#TextDocument.fileName).
|
||||
*
|
||||
* @sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }`
|
||||
* @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**/package.json' }`
|
||||
* @sample A language filter that applies to all package.json paths: `{ language: 'json', scheme: 'untitled', pattern: '**/package.json' }`
|
||||
*/
|
||||
export interface DocumentFilter {
|
||||
|
||||
@@ -1840,10 +1856,14 @@ declare module 'vscode' {
|
||||
* A language selector is the combination of one or many language identifiers
|
||||
* and [language filters](#DocumentFilter).
|
||||
*
|
||||
* @sample `let sel:DocumentSelector = 'typescript'`;
|
||||
* @sample `let sel:DocumentSelector = ['typescript', { language: 'json', pattern: '**/tsconfig.json' }]`;
|
||||
* *Note* that a document selector that is just a language identifier selects *all*
|
||||
* documents, even those that are not saved on disk. Only use such selectors when
|
||||
* a feature works without further context, e.g without the need to resolve related
|
||||
* 'files'.
|
||||
*
|
||||
* @sample `let sel:DocumentSelector = { scheme: 'file', language: 'typescript' }`;
|
||||
*/
|
||||
export type DocumentSelector = string | DocumentFilter | (string | DocumentFilter)[];
|
||||
export type DocumentSelector = DocumentFilter | string | Array<DocumentFilter | string>;
|
||||
|
||||
/**
|
||||
* A provider result represents the values a provider, like the [`HoverProvider`](#HoverProvider),
|
||||
@@ -1889,17 +1909,17 @@ declare module 'vscode' {
|
||||
static readonly Empty: CodeActionKind;
|
||||
|
||||
/**
|
||||
* Base kind for quickfix actions.
|
||||
* Base kind for quickfix actions: `quickfix`
|
||||
*/
|
||||
static readonly QuickFix: CodeActionKind;
|
||||
|
||||
/**
|
||||
* Base kind for refactoring actions.
|
||||
* Base kind for refactoring actions: `refactor`
|
||||
*/
|
||||
static readonly Refactor: CodeActionKind;
|
||||
|
||||
/**
|
||||
* Base kind for refactoring extraction actions.
|
||||
* Base kind for refactoring extraction actions: `refactor.extract`
|
||||
*
|
||||
* Example extract actions:
|
||||
*
|
||||
@@ -1912,7 +1932,7 @@ declare module 'vscode' {
|
||||
static readonly RefactorExtract: CodeActionKind;
|
||||
|
||||
/**
|
||||
* Base kind for refactoring inline actions.
|
||||
* Base kind for refactoring inline actions: `refactor.inline`
|
||||
*
|
||||
* Example inline actions:
|
||||
*
|
||||
@@ -1924,7 +1944,7 @@ declare module 'vscode' {
|
||||
static readonly RefactorInline: CodeActionKind;
|
||||
|
||||
/**
|
||||
* Base kind for refactoring rewrite actions.
|
||||
* Base kind for refactoring rewrite actions: `refactor.rewrite`
|
||||
*
|
||||
* Example rewrite actions:
|
||||
*
|
||||
@@ -1937,6 +1957,18 @@ declare module 'vscode' {
|
||||
*/
|
||||
static readonly RefactorRewrite: CodeActionKind;
|
||||
|
||||
/**
|
||||
* Base kind for source actions: `source`
|
||||
*
|
||||
* Source code actions apply to the entire file.
|
||||
*/
|
||||
static readonly Source: CodeActionKind;
|
||||
|
||||
/**
|
||||
* Base kind for an organize imports source action: `source.organizeImports`
|
||||
*/
|
||||
static readonly SourceOrganizeImports: CodeActionKind;
|
||||
|
||||
private constructor(value: string);
|
||||
|
||||
/**
|
||||
@@ -2033,7 +2065,6 @@ declare module 'vscode' {
|
||||
* A code action can be any command that is [known](#commands.getCommands) to the system.
|
||||
*/
|
||||
export interface CodeActionProvider {
|
||||
|
||||
/**
|
||||
* Provide commands for the given document and range.
|
||||
*
|
||||
@@ -2047,6 +2078,19 @@ declare module 'vscode' {
|
||||
provideCodeActions(document: TextDocument, range: Range, context: CodeActionContext, token: CancellationToken): ProviderResult<(Command | CodeAction)[]>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metadata about the type of code actions that a [CodeActionProvider](#CodeActionProvider) providers
|
||||
*/
|
||||
export interface CodeActionProviderMetadata {
|
||||
/**
|
||||
* [CodeActionKinds](#CodeActionKind) that this provider may return.
|
||||
*
|
||||
* The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the provider
|
||||
* may list our every specific kind they provide, such as `CodeActionKind.Refactor.Extract.append('function`)`
|
||||
*/
|
||||
readonly providedCodeActionKinds?: ReadonlyArray<CodeActionKind>;
|
||||
}
|
||||
|
||||
/**
|
||||
* A code lens represents a [command](#Command) that should be shown along with
|
||||
* source text, like the number of references, a way to run tests, etc.
|
||||
@@ -2729,6 +2773,18 @@ declare module 'vscode' {
|
||||
* signaled by returning `undefined` or `null`.
|
||||
*/
|
||||
provideRenameEdits(document: TextDocument, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit>;
|
||||
|
||||
/**
|
||||
* Optional function for resolving and validating a position *before* running rename. The result can
|
||||
* be a range or a range and a placeholder text. The placeholder text should be the identifier of the symbol
|
||||
* which is being renamed - when omitted the text in the returned range is used.
|
||||
*
|
||||
* @param document The document in which rename will be invoked.
|
||||
* @param position The position at which rename will be invoked.
|
||||
* @param token A cancellation token.
|
||||
* @return The range or range and placeholder text of the identifier that is to be renamed. The lack of a result can signaled by returning `undefined` or `null`.
|
||||
*/
|
||||
prepareRename?(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Range | { range: Range, placeholder: string }>;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3355,6 +3411,68 @@ declare module 'vscode' {
|
||||
provideColorPresentations(color: Color, context: { document: TextDocument, range: Range }, token: CancellationToken): ProviderResult<ColorPresentation[]>;
|
||||
}
|
||||
|
||||
export class FoldingRange {
|
||||
|
||||
/**
|
||||
* The zero-based start line of the range to fold. The folded area starts after the line's last character.
|
||||
*/
|
||||
start: number;
|
||||
|
||||
/**
|
||||
* The zero-based end line of the range to fold. The folded area ends with the line's last character.
|
||||
*/
|
||||
end: number;
|
||||
|
||||
/**
|
||||
* Describes the [Kind](#FoldingRangeKind) of the folding range such as [Comment](#FoldingRangeKind.Comment) or
|
||||
* [Region](#FoldingRangeKind.Region). The kind is used to categorize folding ranges and used by commands
|
||||
* like 'Fold all comments'. See
|
||||
* [FoldingRangeKind](#FoldingRangeKind) for an enumeration of all kinds.
|
||||
*/
|
||||
kind?: FoldingRangeKind;
|
||||
|
||||
/**
|
||||
* Creates a new folding range.
|
||||
*
|
||||
* @param start The start line of the folded range.
|
||||
* @param end The end line of the folded range.
|
||||
* @param kind The kind of the folding range.
|
||||
*/
|
||||
constructor(start: number, end: number, kind?: FoldingRangeKind);
|
||||
}
|
||||
|
||||
export enum FoldingRangeKind {
|
||||
/**
|
||||
* Kind for folding range representing a comment.
|
||||
*/
|
||||
Comment = 1,
|
||||
/**
|
||||
* Kind for folding range representing a import.
|
||||
*/
|
||||
Imports = 2,
|
||||
/**
|
||||
* Kind for folding range representing regions (for example a folding range marked by `#region` and `#endregion`).
|
||||
*/
|
||||
Region = 3
|
||||
}
|
||||
|
||||
/**
|
||||
* Folding context (for future use)
|
||||
*/
|
||||
export interface FoldingContext {
|
||||
}
|
||||
|
||||
export interface FoldingRangeProvider {
|
||||
/**
|
||||
* Returns a list of folding ranges or null and undefined if the provider
|
||||
* does not want to participate or was cancelled.
|
||||
* @param document The document in which the command was invoked.
|
||||
* @param context Additional context information (for future use)
|
||||
* @param token A cancellation token.
|
||||
*/
|
||||
provideFoldingRanges(document: TextDocument, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>;
|
||||
}
|
||||
|
||||
/**
|
||||
* A tuple of two characters, like a pair of
|
||||
* opening and closing brackets.
|
||||
@@ -3691,6 +3809,17 @@ declare module 'vscode' {
|
||||
constructor(uri: Uri, rangeOrPosition: Range | Position);
|
||||
}
|
||||
|
||||
/**
|
||||
* The event that is fired when diagnostics change.
|
||||
*/
|
||||
export interface DiagnosticChangeEvent {
|
||||
|
||||
/**
|
||||
* An array of resources for which diagnostics have changed.
|
||||
*/
|
||||
readonly uris: Uri[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents the severity of diagnostics.
|
||||
*/
|
||||
@@ -3859,7 +3988,7 @@ declare module 'vscode' {
|
||||
* modify the diagnostics-array returned from this call.
|
||||
*
|
||||
* @param uri A resource identifier.
|
||||
* @returns An immutable array of [diagnostics](#Diagnxostic) or `undefined`.
|
||||
* @returns An immutable array of [diagnostics](#Diagnostic) or `undefined`.
|
||||
*/
|
||||
get(uri: Uri): Diagnostic[] | undefined;
|
||||
|
||||
@@ -4342,6 +4471,9 @@ declare module 'vscode' {
|
||||
* script: string;
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* Note that type identifier starting with a '$' are reserved for internal
|
||||
* usages and shouldn't be used by extensions.
|
||||
*/
|
||||
readonly type: string;
|
||||
|
||||
@@ -4691,6 +4823,441 @@ declare module 'vscode' {
|
||||
resolveTask(task: Task, token?: CancellationToken): ProviderResult<Task>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enumeration of file types. The types `File` and `Directory` can also be
|
||||
* a symbolic links, in that use `FileType.File | FileType.SymbolicLink` and
|
||||
* `FileType.Directory | FileType.SymbolicLink`.
|
||||
*/
|
||||
export enum FileType {
|
||||
/**
|
||||
* The file type is unknown.
|
||||
*/
|
||||
Unknown = 0,
|
||||
/**
|
||||
* A regular file.
|
||||
*/
|
||||
File = 1,
|
||||
/**
|
||||
* A directory.
|
||||
*/
|
||||
Directory = 2,
|
||||
/**
|
||||
* A symbolic link to a file.
|
||||
*/
|
||||
SymbolicLink = 64
|
||||
}
|
||||
|
||||
/**
|
||||
* The `FileStat`-type represents metadata about a file
|
||||
*/
|
||||
export interface FileStat {
|
||||
/**
|
||||
* The type of the file, e.g. is a regular file, a directory, or symbolic link
|
||||
* to a file.
|
||||
*/
|
||||
type: FileType;
|
||||
/**
|
||||
* The creation timestamp in milliseconds elapsed since January 1, 1970 00:00:00 UTC.
|
||||
*/
|
||||
ctime: number;
|
||||
/**
|
||||
* The modification timestamp in milliseconds elapsed since January 1, 1970 00:00:00 UTC.
|
||||
*/
|
||||
mtime: number;
|
||||
/**
|
||||
* The size in bytes.
|
||||
*/
|
||||
size: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* A type that filesystem providers should use to signal errors.
|
||||
*
|
||||
* This class has factory methods for common error-cases, like `EntryNotFound` when
|
||||
* a file or folder doesn't exist, use them like so: `throw vscode.FileSystemError.EntryNotFound(someUri);`
|
||||
*/
|
||||
export class FileSystemError extends Error {
|
||||
|
||||
/**
|
||||
* Create an error to signal that a file or folder wasn't found.
|
||||
* @param messageOrUri Message or uri.
|
||||
*/
|
||||
static FileNotFound(messageOrUri?: string | Uri): FileSystemError;
|
||||
|
||||
/**
|
||||
* Create an error to signal that a file or folder already exists, e.g. when
|
||||
* creating but not overwriting a file.
|
||||
* @param messageOrUri Message or uri.
|
||||
*/
|
||||
static FileExists(messageOrUri?: string | Uri): FileSystemError;
|
||||
|
||||
/**
|
||||
* Create an error to signal that a file is not a folder.
|
||||
* @param messageOrUri Message or uri.
|
||||
*/
|
||||
static FileNotADirectory(messageOrUri?: string | Uri): FileSystemError;
|
||||
|
||||
/**
|
||||
* Create an error to signal that a file is a folder.
|
||||
* @param messageOrUri Message or uri.
|
||||
*/
|
||||
static FileIsADirectory(messageOrUri?: string | Uri): FileSystemError;
|
||||
|
||||
/**
|
||||
* Create an error to signal that an operation lacks required permissions.
|
||||
* @param messageOrUri Message or uri.
|
||||
*/
|
||||
static NoPermissions(messageOrUri?: string | Uri): FileSystemError;
|
||||
|
||||
/**
|
||||
* Create an error to signal that the file system is unavailable or too busy to
|
||||
* complete a request.
|
||||
* @param messageOrUri Message or uri.
|
||||
*/
|
||||
static Unavailable(messageOrUri?: string | Uri): FileSystemError;
|
||||
|
||||
/**
|
||||
* Creates a new filesystem error.
|
||||
*
|
||||
* @param messageOrUri Message or uri.
|
||||
*/
|
||||
constructor(messageOrUri?: string | Uri);
|
||||
}
|
||||
|
||||
/**
|
||||
* Enumeration of file change types.
|
||||
*/
|
||||
export enum FileChangeType {
|
||||
|
||||
/**
|
||||
* The contents or metadata of a file have changed.
|
||||
*/
|
||||
Changed = 1,
|
||||
|
||||
/**
|
||||
* A file has been created.
|
||||
*/
|
||||
Created = 2,
|
||||
|
||||
/**
|
||||
* A file has been deleted.
|
||||
*/
|
||||
Deleted = 3,
|
||||
}
|
||||
|
||||
/**
|
||||
* The event filesystem providers must use to signal a file change.
|
||||
*/
|
||||
export interface FileChangeEvent {
|
||||
|
||||
/**
|
||||
* The type of change.
|
||||
*/
|
||||
type: FileChangeType;
|
||||
|
||||
/**
|
||||
* The uri of the file that has changed.
|
||||
*/
|
||||
uri: Uri;
|
||||
}
|
||||
|
||||
/**
|
||||
* The filesystem provider defines what the editor needs to read, write, discover,
|
||||
* and to manage files and folders. It allows extensions to serve files from remote places,
|
||||
* like ftp-servers, and to seamlessly integrate those into the editor.
|
||||
*
|
||||
* * *Note 1:* The filesystem provider API works with [uris](#Uri) and assumes hierarchical
|
||||
* paths, e.g. `foo:/my/path` is a child of `foo:/my/` and a parent of `foo:/my/path/deeper`.
|
||||
* * *Note 2:* There is an activation event `onFileSystem:<scheme>` that fires when a file
|
||||
* or folder is being accessed.
|
||||
* * *Note 3:* The word 'file' is often used to denote all [kinds](#FileType) of files, e.g.
|
||||
* folders, symbolic links, and regular files.
|
||||
*/
|
||||
export interface FileSystemProvider {
|
||||
|
||||
/**
|
||||
* An event to signal that a resource has been created, changed, or deleted. This
|
||||
* event should fire for resources that are being [watched](#FileSystemProvider.watch)
|
||||
* by clients of this provider.
|
||||
*/
|
||||
readonly onDidChangeFile: Event<FileChangeEvent[]>;
|
||||
|
||||
/**
|
||||
* Subscribe to events in the file or folder denoted by `uri`.
|
||||
*
|
||||
* The editor will call this function for files and folders. In the latter case, the
|
||||
* options differ from defaults, e.g. what files/folders to exclude from watching
|
||||
* and if subfolders, sub-subfolder, etc. should be watched (`recursive`).
|
||||
*
|
||||
* @param uri The uri of the file to be watched.
|
||||
* @param options Configures the watch.
|
||||
* @returns A disposable that tells the provider to stop watching the `uri`.
|
||||
*/
|
||||
watch(uri: Uri, options: { recursive: boolean; excludes: string[] }): Disposable;
|
||||
|
||||
/**
|
||||
* Retrieve metadata about a file.
|
||||
*
|
||||
* Note that the metadata for symbolic links should be the metadata of the file they refer to.
|
||||
* Still, the [SymbolicLink](#FileType.SymbolicLink)-type must be used in addition to the actual type, e.g.
|
||||
* `FileType.SymbolicLink | FileType.Directory`.
|
||||
*
|
||||
* @param uri The uri of the file to retrieve metadata about.
|
||||
* @return The file metadata about the file.
|
||||
* @throws [`FileNotFound`](#FileSystemError.FileNotFound) when `uri` doesn't exist.
|
||||
*/
|
||||
stat(uri: Uri): FileStat | Thenable<FileStat>;
|
||||
|
||||
/**
|
||||
* Retrieve all entries of a [directory](#FileType.Directory).
|
||||
*
|
||||
* @param uri The uri of the folder.
|
||||
* @return An array of name/type-tuples or a thenable that resolves to such.
|
||||
* @throws [`FileNotFound`](#FileSystemError.FileNotFound) when `uri` doesn't exist.
|
||||
*/
|
||||
readDirectory(uri: Uri): [string, FileType][] | Thenable<[string, FileType][]>;
|
||||
|
||||
/**
|
||||
* Create a new directory (Note, that new files are created via `write`-calls).
|
||||
*
|
||||
* @param uri The uri of the new folder.
|
||||
* @throws [`FileNotFound`](#FileSystemError.FileNotFound) when the parent of `uri` doesn't exist, e.g. no mkdirp-logic required.
|
||||
* @throws [`FileExists`](#FileSystemError.FileExists) when `uri` already exists.
|
||||
* @throws [`NoPermissions`](#FileSystemError.NoPermissions) when permissions aren't sufficient.
|
||||
*/
|
||||
createDirectory(uri: Uri): void | Thenable<void>;
|
||||
|
||||
/**
|
||||
* Read the entire contents of a file.
|
||||
*
|
||||
* @param uri The uri of the file.
|
||||
* @return An array of bytes or a thenable that resolves to such.
|
||||
* @throws [`FileNotFound`](#FileSystemError.FileNotFound) when `uri` doesn't exist.
|
||||
*/
|
||||
readFile(uri: Uri): Uint8Array | Thenable<Uint8Array>;
|
||||
|
||||
/**
|
||||
* Write data to a file, replacing its entire contents.
|
||||
*
|
||||
* @param uri The uri of the file.
|
||||
* @param content The new content of the file.
|
||||
* @param options Defines if missing files should or must be created.
|
||||
* @throws [`FileNotFound`](#FileSystemError.FileNotFound) when `uri` doesn't exist and `create` is not set.
|
||||
* @throws [`FileNotFound`](#FileSystemError.FileNotFound) when the parent of `uri` doesn't exist and `create` is set, e.g. no mkdirp-logic required.
|
||||
* @throws [`FileExists`](#FileSystemError.FileExists) when `uri` already exists, `create` is set but `overwrite` is not set.
|
||||
* @throws [`NoPermissions`](#FileSystemError.NoPermissions) when permissions aren't sufficient.
|
||||
*/
|
||||
writeFile(uri: Uri, content: Uint8Array, options: { create: boolean, overwrite: boolean }): void | Thenable<void>;
|
||||
|
||||
/**
|
||||
* Delete a file.
|
||||
*
|
||||
* @param uri The resource that is to be deleted.
|
||||
* @param options Defines if deletion of folders is recursive.
|
||||
* @throws [`FileNotFound`](#FileSystemError.FileNotFound) when `uri` doesn't exist.
|
||||
* @throws [`NoPermissions`](#FileSystemError.NoPermissions) when permissions aren't sufficient.
|
||||
*/
|
||||
delete(uri: Uri, options: { recursive: boolean }): void | Thenable<void>;
|
||||
|
||||
/**
|
||||
* Rename a file or folder.
|
||||
*
|
||||
* @param oldUri The existing file.
|
||||
* @param newUri The new location.
|
||||
* @param options Defines if existing files should be overwriten.
|
||||
* @throws [`FileNotFound`](#FileSystemError.FileNotFound) when `oldUri` doesn't exist.
|
||||
* @throws [`FileNotFound`](#FileSystemError.FileNotFound) when parent of `newUri` doesn't exist, e.g. no mkdirp-logic required.
|
||||
* @throws [`FileExists`](#FileSystemError.FileExists) when `newUri` exists and when the `overwrite` option is not `true`.
|
||||
* @throws [`NoPermissions`](#FileSystemError.NoPermissions) when permissions aren't sufficient.
|
||||
*/
|
||||
rename(oldUri: Uri, newUri: Uri, options: { overwrite: boolean }): void | Thenable<void>;
|
||||
|
||||
/**
|
||||
* Copy files or folders. Implementing this function is optional but it will speedup
|
||||
* the copy operation.
|
||||
*
|
||||
* @param source The existing file.
|
||||
* @param destination The destination location.
|
||||
* @param options Defines if existing files should be overwriten.
|
||||
* @throws [`FileNotFound`](#FileSystemError.FileNotFound) when `source` doesn't exist.
|
||||
* @throws [`FileNotFound`](#FileSystemError.FileNotFound) when parent of `destination` doesn't exist, e.g. no mkdirp-logic required.
|
||||
* @throws [`FileExists`](#FileSystemError.FileExists) when `destination` exists and when the `overwrite` option is not `true`.
|
||||
* @throws [`NoPermissions`](#FileSystemError.NoPermissions) when permissions aren't sufficient.
|
||||
*/
|
||||
copy?(source: Uri, destination: Uri, options: { overwrite: boolean }): void | Thenable<void>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Content settings for a webview.
|
||||
*/
|
||||
export interface WebviewOptions {
|
||||
/**
|
||||
* Controls whether scripts are enabled in the webview content or not.
|
||||
*
|
||||
* Defaults to false (scripts-disabled).
|
||||
*/
|
||||
readonly enableScripts?: boolean;
|
||||
|
||||
/**
|
||||
* Controls whether command uris are enabled in webview content or not.
|
||||
*
|
||||
* Defaults to false.
|
||||
*/
|
||||
readonly enableCommandUris?: boolean;
|
||||
|
||||
/**
|
||||
* Root paths from which the webview can load local (filesystem) resources using the `vscode-resource:` scheme.
|
||||
*
|
||||
* Default to the root folders of the current workspace plus the extension's install directory.
|
||||
*
|
||||
* Pass in an empty array to disallow access to any local resources.
|
||||
*/
|
||||
readonly localResourceRoots?: ReadonlyArray<Uri>;
|
||||
}
|
||||
|
||||
/**
|
||||
* A webview displays html content, like an iframe.
|
||||
*/
|
||||
export interface Webview {
|
||||
/**
|
||||
* Content settings for the webview.
|
||||
*/
|
||||
readonly options: WebviewOptions;
|
||||
|
||||
/**
|
||||
* Contents of the webview.
|
||||
*
|
||||
* Should be a complete html document.
|
||||
*/
|
||||
html: string;
|
||||
|
||||
/**
|
||||
* Fired when the webview content posts a message.
|
||||
*/
|
||||
readonly onDidReceiveMessage: Event<any>;
|
||||
|
||||
/**
|
||||
* Post a message to the webview content.
|
||||
*
|
||||
* Messages are only develivered if the webview is visible.
|
||||
*
|
||||
* @param message Body of the message.
|
||||
*/
|
||||
postMessage(message: any): Thenable<boolean>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Content settings for a webview panel.
|
||||
*/
|
||||
export interface WebviewPanelOptions {
|
||||
/**
|
||||
* Controls if the find widget is enabled in the panel.
|
||||
*
|
||||
* Defaults to false.
|
||||
*/
|
||||
readonly enableFindWidget?: boolean;
|
||||
|
||||
/**
|
||||
* Controls if the webview panel's content (iframe) is kept around even when the panel
|
||||
* is no longer visible.
|
||||
*
|
||||
* Normally the webview panel's html context is created when the panel becomes visible
|
||||
* and destroyed when it is is hidden. Extensions that have complex state
|
||||
* or UI can set the `retainContextWhenHidden` to make VS Code keep the webview
|
||||
* context around, even when the webview moves to a background tab. When a webview using
|
||||
* `retainContextWhenHidden` becomes hidden, its scripts and other dynamic content are suspended.
|
||||
* When the panel becomes visible again, the context is automatically restored
|
||||
* in the exact same state it was in originally. You cannot send messages to a
|
||||
* hidden webview, even with `retainContextWhenHidden` enabled.
|
||||
*
|
||||
* `retainContextWhenHidden` has a high memory overhead and should only be used if
|
||||
* your panel's context cannot be quickly saved and restored.
|
||||
*/
|
||||
readonly retainContextWhenHidden?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* A panel that contains a webview.
|
||||
*/
|
||||
interface WebviewPanel {
|
||||
/**
|
||||
* Identifies the type of the webview panel, such as `'markdown.preview'`.
|
||||
*/
|
||||
readonly viewType: string;
|
||||
|
||||
/**
|
||||
* Title of the panel shown in UI.
|
||||
*/
|
||||
title: string;
|
||||
|
||||
/**
|
||||
* Webview belonging to the panel.
|
||||
*/
|
||||
readonly webview: Webview;
|
||||
|
||||
/**
|
||||
* Content settings for the webview panel.
|
||||
*/
|
||||
readonly options: WebviewPanelOptions;
|
||||
|
||||
/**
|
||||
* Editor position of the panel. This property is only set if the webview is in
|
||||
* one of the three editor view columns.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
readonly viewColumn?: ViewColumn;
|
||||
|
||||
/**
|
||||
* Is the panel currently visible?
|
||||
*/
|
||||
readonly visible: boolean;
|
||||
|
||||
/**
|
||||
* Fired when the panel's view state changes.
|
||||
*/
|
||||
readonly onDidChangeViewState: Event<WebviewPanelOnDidChangeViewStateEvent>;
|
||||
|
||||
/**
|
||||
* Fired when the panel is disposed.
|
||||
*
|
||||
* This may be because the user closed the panel or because `.dispose()` was
|
||||
* called on it.
|
||||
*
|
||||
* Trying to use the panel after it has been disposed throws an exception.
|
||||
*/
|
||||
readonly onDidDispose: Event<void>;
|
||||
|
||||
/**
|
||||
* Show the webview panel in a given column.
|
||||
*
|
||||
* A webview panel may only show in a single column at a time. If it is already showing, this
|
||||
* method moves it to a new column.
|
||||
*
|
||||
* @param viewColumn View column to show the panel in. Shows in the current `viewColumn` if undefined.
|
||||
*/
|
||||
reveal(viewColumn?: ViewColumn): void;
|
||||
|
||||
/**
|
||||
* Dispose of the webview panel.
|
||||
*
|
||||
* This closes the panel if it showing and disposes of the resources owned by the webview.
|
||||
* Webview panels are also disposed when the user closes the webview panel. Both cases
|
||||
* fire the `onDispose` event.
|
||||
*/
|
||||
dispose(): any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Event fired when a webview panel's view state changes.
|
||||
*/
|
||||
export interface WebviewPanelOnDidChangeViewStateEvent {
|
||||
/**
|
||||
* Webview panel whose view state changed.
|
||||
*/
|
||||
readonly webviewPanel: WebviewPanel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Namespace describing the environment the editor runs in.
|
||||
*/
|
||||
@@ -5173,6 +5740,18 @@ declare module 'vscode' {
|
||||
*/
|
||||
export function createOutputChannel(name: string): OutputChannel;
|
||||
|
||||
/**
|
||||
* Create and show a new webview panel.
|
||||
*
|
||||
* @param viewType Identifies the type of the webview panel.
|
||||
* @param title Title of the panel.
|
||||
* @param position Editor column to show the new panel in.
|
||||
* @param options Settings for the new panel.
|
||||
*
|
||||
* @return New webview panel.
|
||||
*/
|
||||
export function createWebviewPanel(viewType: string, title: string, position: ViewColumn, options?: WebviewPanelOptions & WebviewOptions): WebviewPanel;
|
||||
|
||||
/**
|
||||
* Set a message to the status bar. This is a short hand for the more powerful
|
||||
* status bar [items](#window.createStatusBarItem).
|
||||
@@ -5522,6 +6101,10 @@ declare module 'vscode' {
|
||||
* The range that got replaced.
|
||||
*/
|
||||
range: Range;
|
||||
/**
|
||||
* The offset of the range that got replaced.
|
||||
*/
|
||||
rangeOffset: number;
|
||||
/**
|
||||
* The length of the range that got replaced.
|
||||
*/
|
||||
@@ -5959,6 +6542,19 @@ declare module 'vscode' {
|
||||
* @return A [disposable](#Disposable) that unregisters this provider when being disposed.
|
||||
*/
|
||||
export function registerTaskProvider(type: string, provider: TaskProvider): Disposable;
|
||||
|
||||
/**
|
||||
* Register a filesystem provider for a given scheme, e.g. `ftp`.
|
||||
*
|
||||
* There can only be one provider per scheme and an error is being thrown when a scheme
|
||||
* has been claimed by another provider or when it is reserved.
|
||||
*
|
||||
* @param scheme The uri-[scheme](#Uri.scheme) the provider registers for.
|
||||
* @param provider The filesystem provider.
|
||||
* @param options Immutable metadata about the provider.
|
||||
* @return A [disposable](#Disposable) that unregisters this provider when being disposed.
|
||||
*/
|
||||
export function registerFileSystemProvider(scheme: string, provider: FileSystemProvider, options: { isCaseSensitive?: boolean }): Disposable;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -6051,6 +6647,29 @@ declare module 'vscode' {
|
||||
*/
|
||||
export function match(selector: DocumentSelector, document: TextDocument): number;
|
||||
|
||||
/**
|
||||
* An [event](#Event) which fires when the global set of diagnostics changes. This is
|
||||
* newly added and removed diagnostics.
|
||||
*/
|
||||
export const onDidChangeDiagnostics: Event<DiagnosticChangeEvent>;
|
||||
|
||||
/**
|
||||
* Get all diagnostics for a given resource. *Note* that this includes diagnostics from
|
||||
* all extensions but *not yet* from the task framework.
|
||||
*
|
||||
* @param resource A resource
|
||||
* @returns An arrary of [diagnostics](#Diagnostic) objects or an empty array.
|
||||
*/
|
||||
export function getDiagnostics(resource: Uri): Diagnostic[];
|
||||
|
||||
/**
|
||||
* Get all diagnostics. *Note* that this includes diagnostics from
|
||||
* all extensions but *not yet* from the task framework.
|
||||
*
|
||||
* @returns An array of uri-diagnostics tuples or an empty array.
|
||||
*/
|
||||
export function getDiagnostics(): [Uri, Diagnostic[]][];
|
||||
|
||||
/**
|
||||
* Create a diagnostics collection.
|
||||
*
|
||||
@@ -6084,9 +6703,10 @@ declare module 'vscode' {
|
||||
*
|
||||
* @param selector A selector that defines the documents this provider is applicable to.
|
||||
* @param provider A code action provider.
|
||||
* @param metadata Metadata about the kind of code actions the provider providers.
|
||||
* @return A [disposable](#Disposable) that unregisters this provider when being disposed.
|
||||
*/
|
||||
export function registerCodeActionsProvider(selector: DocumentSelector, provider: CodeActionProvider): Disposable;
|
||||
export function registerCodeActionsProvider(selector: DocumentSelector, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): Disposable;
|
||||
|
||||
/**
|
||||
* Register a code lens provider.
|
||||
@@ -6302,6 +6922,23 @@ declare module 'vscode' {
|
||||
*/
|
||||
export function registerColorProvider(selector: DocumentSelector, provider: DocumentColorProvider): Disposable;
|
||||
|
||||
/**
|
||||
* Register a folding range provider.
|
||||
*
|
||||
* Multiple providers can be registered for a language. In that case providers are asked in
|
||||
* parallel and the results are merged.
|
||||
* If multiple folding ranges start at the same position, only the range of the first registered provider is used.
|
||||
* If a folding range overlaps with an other range that has a smaller position, it is also ignored.
|
||||
*
|
||||
* A failing provider (rejected promise or exception) will
|
||||
* not cause a failure of the whole operation.
|
||||
*
|
||||
* @param selector A selector that defines the documents this provider is applicable to.
|
||||
* @param provider A folding range provider.
|
||||
* @return A [disposable](#Disposable) that unregisters this provider when being disposed.
|
||||
*/
|
||||
export function registerFoldingRangeProvider(selector: DocumentSelector, provider: FoldingRangeProvider): Disposable;
|
||||
|
||||
/**
|
||||
* Set a [language configuration](#LanguageConfiguration) for a language.
|
||||
*
|
||||
@@ -6663,7 +7300,7 @@ declare module 'vscode' {
|
||||
}
|
||||
|
||||
/**
|
||||
* An event describing the changes to the set of [breakpoints](#debug.Breakpoint).
|
||||
* An event describing the changes to the set of [breakpoints](#Breakpoint).
|
||||
*/
|
||||
export interface BreakpointsChangeEvent {
|
||||
/**
|
||||
@@ -6894,4 +7531,4 @@ interface Thenable<T> {
|
||||
*/
|
||||
then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Thenable<TResult>;
|
||||
then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Thenable<TResult>;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user