前端用hbuilder写起来还是挺方便的,但是软件没有TODO的功能,之前想过自己写一个,但是早期版本的插件api文档好多想用的方法查不到,最近看了一下,文档更新的挺全了,就自己写了个TODO的插件
主要用到的api
在文件保存时回调
let onDidChangeTextDocumentEventDispose =
hx.workspace.onDidChangeTextDocument(function(event){
let document = event.document;
//do something with document.
// event.workspaceFolder.name 文件所在项目名称
// event.fileName 文件名称
});
getActiveTextEditor
获取当前打开的文件
let activeEditor = hx.window.getActiveTextEditor();
activeEditor.then(function(editor){
// 跳转到指定行
editor.gotoLine(1)
// 这个来改变光标位置
editor.setSelection(1, 1);
});
lineFromPosition
选中指定行
let linePromise = editor.document.lineFromPosition(editor.selection.active);
linePromise.then((line)=>{
// line.text 当前行的文本
// line.lineNumber 当前行号
// line.start 行起始的index
});
使用
没找到怎么让hbuilder开启时自动激活插件,根据官方文档介绍有四种激活方式
- onCommand 该激活事件将在某个插件
命令
即将要触发时产生。 - onView 该激活事件将在某个扩展视图(view)即将打开显示的时候触发,通常是通过菜单【视图】-【显示扩展视图】选择某个扩展视图时触发。
- workspaceContains 当某个项目下包含指定文件时会触发该激活事件,文件的路径是相对于项目的相对路径。
- onUri 声明可以响应scheme协议请求,当某个scheme指定要请求某个插件时,如果插件声明后onUri事件,则会自动激活该插件,否则不会激活。插件处理自定义scheme的API参考这里
用法
去uni-app插件市场搜索TODO就可以下载使用了-.-