VSCode插件开发全攻略(九)常用API总结

时间:2022-12-31 17:24:09

更多文章请戳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插件开发全攻略(九)常用API总结

通知和状态栏

提示

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

VSCode插件开发全攻略(九)常用API总结

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

参考

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

VSCode插件开发全攻略(九)常用API总结的更多相关文章

  1. VSCode插件开发全攻略(一)概览

    文章索引 VSCode插件开发全攻略(一)概览 VSCode插件开发全攻略(二)HelloWord VSCode插件开发全攻略(三)package.json详解 VSCode插件开发全攻略(四)命令. ...

  2. VSCode插件开发全攻略(四)命令、菜单、快捷键

    更多文章请戳VSCode插件开发全攻略系列目录导航. 命令 我们在前面HelloWord章节中已经提到了命令写法,这里再重温一下. context.subscriptions.push(vscode. ...

  3. VSCode插件开发全攻略(七)WebView

    更多文章请戳VSCode插件开发全攻略系列目录导航. 什么是Webview 大家都知道,整个VSCode编辑器就是一张大的网页,其实,我们还可以在Visual Studio Code中创建完全自定义的 ...

  4. VSCode插件开发全攻略(六)开发调试技巧

    更多文章请戳VSCode插件开发全攻略系列目录导航. 前言 在介绍完一些比较简单的内容点之后,我觉得有必要先和大家介绍一些开发中遇到的一些细节问题以及技巧,特别是后面一章节将要介绍WebView的知识 ...

  5. VSCode插件开发全攻略(三)package.json详解

    更多文章请戳VSCode插件开发全攻略系列目录导航. package.json 在详细介绍vscode插件开发细节之前,这里我们先详细介绍一下vscode插件的package.json写法,但是建议先 ...

  6. VSCode插件开发全攻略(十)打包、发布、升级

    更多文章请戳VSCode插件开发全攻略系列目录导航. 发布方式 插件开发完了,如何发布出去分享给他人呢?主要有3种方法: 方法一:直接把文件夹发给别人,让别人找到vscode的插件存放目录并放进去,然 ...

  7. VSCode插件开发全攻略(八)代码片段、设置、自定义欢迎页

    更多文章请戳VSCode插件开发全攻略系列目录导航. 代码片段 代码片段,也叫snippets,相信大家都不陌生,就是输入一个很简单的单词然后一回车带出来很多代码.平时大家也可以直接在vscode中创 ...

  8. VSCode插件开发全攻略(五)跳转到定义、自动补全、悬停提示

    更多文章请戳VSCode插件开发全攻略系列目录导航. 跳转到定义 跳转到定义其实很简单,通过vscode.languages.registerDefinitionProvider注册一个provide ...

  9. VSCode插件开发全攻略(二)HelloWord

    更多文章请戳VSCode插件开发全攻略系列目录导航. 写着前面 学习一门新的语言或者生态首先肯定是从HelloWord开始. 您可以直接克隆我放在GitHub上vscode-plugin-demo 的 ...

随机推荐

  1. S2SH简介

    struts2简介 Struts2是由WebWork基础上发展起来的,与struts1比较,选用struts2的理由是:①Struts1要求Action类继承一个抽象基类,而Struts 2 Acti ...

  2. jstack简单使用,定位死循环、线程阻塞、死锁等问题

    当我们运行java程序时,发现程序不动,但又不知道是哪里出问题时,可以使用JDK自带的jstack工具去定位: 废话不说,直接上例子吧,在window平台上的: 死循环 写个死循环的程序如下: pac ...

  3. CentOS配置ssh无密码登录

      CentOS配置ssh无密码登录的注意点   前提配置:使用root登录修改配置文件:/etc/ssh/sshd_config,将其中三行的注释去掉,如下: 然后重启ssh服务:service s ...

  4. [ES6] Module export

    Default export: Default export is easy way to export a function to outside module. //flash-message.j ...

  5. HDU1584:蜘蛛牌(DFS)

    Problem Description 蜘蛛牌是windows xp操作系统自带的一款纸牌游戏,游戏规则是这样的:只能将牌拖到比她大一的牌上面(A最小,K最大),如果拖动的牌上有按顺序排好的牌时,那么 ...

  6. 基于最简单的FFmpeg采样读取内存读写:内存玩家

    ===================================================== 基于最简单的FFmpeg样品系列读写内存列表: 最简单的基于FFmpeg的内存读写的样例:内 ...

  7. putty 的美化

    1.       中文乱码问题. 这个问题由来已久,每当我查看 mount到linux下的windows 中文目录的时候,都是一堆乱码, putty 也拒绝我输入中文, 一句话,这玩意,对中文过敏. ...

  8. random 随机数模块

    import random # 随机数模块 print(random.random()) #0-1 不包括1随机浮点数 print(random.randint(1,10)) # 1-10 包括1和1 ...

  9. 自己写的保证js顺序加载的方法

    var arr =["test1.js","test2.js","test3.js"] loadScripts:function(arr){ ...

  10. @Value("#{}") 和 @Value("{}")

    1 @Value("#{}")   SpEL表达式 @Value("#{}") 表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法.当然还 ...