更多文章請戳VSCode插件開發全攻略系列目錄導航。
本文提煉一些常見的API使用場景供參考,本文內容有待完善。
編輯器相關
修改當前激活編輯器內容
替換當前編輯器全部內容:
vscode.window.activeTextEditor.edit(editBuilder => {
// 從開始到結束,全量替換
const end = new vscode.Position(vscode.window.activeTextEditor.document.lineCount + 1, 0);
const text = '新替換的內容';
editBuilder.replace(new vscode.Range(new vscode.Position(0, 0), end), text);
});
打開文件並選中某段文字
const path = '/Users/somefile.txt';
const options = {
// 選中第3行第9列到第3行第17列
selection: new vscode.Range(new vscode.Position(2, 8), new vscode.Position(2, 16));
// 是否預覽,默認true,預覽的意思是下次再打開文件是否會替換當前文件
preview: false,
// 顯示在第二個編輯器
viewColumn: vscode.ViewColumn.Two
};
vscode.window.showTextDocument(vscode.Uri.file(path), options);
preview
為true相當於我們在文件管理器單擊文件,此時標題是斜體(如下圖),為false時則相當於雙擊。
通知和狀態欄
提示
vscode.window.showInformationMessage('我是info信息!');
vscode.window.showErrorMessage('我是錯誤信息!');
自定義按鈕帶回調的提示:
vscode.window.showInformationMessage('是否要打開小茗同學的博客?', '是', '否', '不再提示').then(result => {
if (result === '是') {
exec(`open 'https://haoji.me'`);
} else if (result === '不再提示') {
// 其它操作
}
});
修改狀態欄
vscode.window.setStatusBarMessage('你好,前端藝術家!');
setStatusBarMessage
只是vscode.window.createStatusBarItem
的一種快捷調用方式,如需更多自定義設置可以使用這個方法。