VSCode 插件开发常用 API

4,425 阅读1分钟

文件操作

  • 读取指定文件
const document = await vscode.workspace.openTextDocument(uri);
document.getText();
  • 写入指定文件
// 写入文件
vscode.workspace.fs.writeFile(uri: Uri, content: Uint8Array): Thenable<void>;

// Uri 拼接
vscode.Uri.joinPath(base: Uri, ...pathSegments: string[]): Uri;

// JS 对象转 Uint8Array
Buffer.from(JSON.stringify({}, null, 2));
  • 打开指定文件
vscode.window.showTextDocument(uri: Uri, options?: TextDocumentShowOptions): Thenable<TextEditor>;;
  • 读写系统剪贴板
// 读取
vscode.env.clipboard.readText(): Thenable<string>;
// 写入
vscode.env.clipboard.writeText(value: string): Thenable<void>;

编辑器操作

  • 获取当前激活编辑器
const { document, selection } = vscode.window.activeTextEditor;
document.uri; // 获取编辑文件 Uri
document.getText(); // 获取编辑器文本内容
document.getText(selection); // 获取选中部分内容

提示交互

  • 设置底部状态栏消息
vscode.window.setStatusBarMessage(text: string, hideAfterTimeout: number): Disposable;
  • 弹出底部消息提示
// 提示消息
vscode.window.showInformationMessage(message: string): Thenable<string | undefined>;
// 警告消息
vscode.window.showWarningMessage(message: string): Thenable<string | undefined>;
// 错误消息
vscode.window.showErrorMessage(message: string): Thenable<string | undefined>;

其它

  • 执行指定命令
vscode.commands.executeCommand('vscode.openWith', resource, editor);

参考资料