zoukankan      html  css  js  c++  java
  • VSCode插件开发全攻略(九)常用API总结

    更多文章请戳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时则相当于双击。

    W740xH312

    通知和状态栏

    提示

    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('你好,前端艺术家!');
    

    W594xH270

    setStatusBarMessage只是vscode.window.createStatusBarItem的一种快捷调用方式,如需更多自定义设置可以使用这个方法。

    参考

    https://code.visualstudio.com/docs/extensionAPI/vscode-api

  • 相关阅读:
    细说Cookie(转)
    Custom Exception in ASP.NET Web API 2 with Custom HttpResponse Message
    内核中的定时器
    ibus拼音安装_ubuntu10.04
    linux模块
    zebra/quagga线程分析
    vim常用配置
    rar安装和使用
    zebra/quagga
    netsnmp编译动态库
  • 原文地址:https://www.cnblogs.com/liuxianan/p/vscode-plugin-common-api.html
Copyright © 2011-2022 走看看