获取项目管理器下所有的项目对象(不包含已关闭项目)
参数说明
无
返回值
示例
getWorkspaceFolder
从HBuilderX 2.7.12及以上版本开始支持
获取某个文件所在的项目
参数说明
参数名称 |
参数类型 |
描述 |
uri |
String或Uri |
文件绝对路径或者文件Uri |
返回值
返回类型 |
描述 |
Promise<> |
文件所在的项目 |
示例
var wsPromise = hx.workspace.getWorkspaceFolder("%fsPath%");
wsPromise.then(function(wsFolder) {
console.log("文件所在项目:",wsFolder.name);
});
openTextDocument
参数说明
参数名称 |
参数类型 |
描述 |
uri |
String或Uri |
文档地址 |
返回值
返回类型 |
描述 |
Promise<> |
返回打开的文档 |
示例
var documentPromise = hx.workspace.openTextDocument("foo/bar.js");
console.log("打开了文档:",document.fileName);
});
从HBuilderX 2.7.10及以上版本开始支持
全局配置改变事件,比如”editor.fontSize”改变,或者通过插件扩展的配置项改变。
参数说明
返回值
返回类型 |
描述 |
|
该事件回调的销毁器,可将该对象放置到插件的context.subscriptions数组内,插件卸载时,将会自动注销该事件回调 |
示例
onDidChangeWorkspaceFolders
从HBuilderX 2.7.10及以上版本开始支持
项目管理器内的项目新增或者移除时产生的事件
参数说明
返回值
返回类型 |
描述 |
Disposable |
该事件回调的销毁器,可将该对象放置到插件的context.subscriptions数组内,插件卸载时,将会自动注销该事件回调 |
示例
if(event.added){
event.added.forEach(item=>console.log("新增了项目:",item.name));
}
if(event.removed){
event.removed.forEach(item=>console.log("移除了项目:",item.name));
}
});
onWillSaveTextDocument
文档即将要保存的事件,注意该事件是同步调用,会阻塞用户界面,为了避免长时间阻塞界面,目前设置了超时机制,超时时间为2s。
参数说明
参数名称 |
参数类型 |
描述 |
listener |
Function() |
事件回调 |
返回值
返回类型 |
描述 |
Disposable |
该事件回调的销毁器,可将该对象放置到插件的context.subscriptions数组内,插件卸载时,将会自动注销该事件回调 |
示例
let willSaveTextDocumentEventDispose = hx.workspace.onWillSaveTextDocument(function(event){
let document = event.document;
//do something with document.
});
文档被修改时的事件
参数说明
参数名称 |
参数类型 |
描述 |
listener |
Function() |
事件回调 |
返回值
返回类型 |
描述 |
Disposable |
该事件回调的销毁器,可将该对象放置到插件的context.subscriptions数组内,插件卸载时,将会自动注销该事件回调 |
示例
onDidSaveTextDocument
文档被保存时的事件
参数说明
参数名称 |
参数类型 |
描述 |
listener |
Function() |
事件回调 |
返回值
示例
let onDidSaveTextDocumentEventDispose = hx.workspace.onDidSaveTextDocument(function(document){
//do something with document.
});
onDidOpenTextDocument
从HBuilderX 2.7.6及以上版本开始支持
文档打开时的事件
参数说明
返回值
返回类型 |
描述 |
|
该事件回调的销毁器,可将该对象放置到插件的context.subscriptions数组内,插件卸载时,将会自动注销该事件回调 |
示例
let onDidOpenTextDocumentEventDispose = hx.workspace.onDidOpenTextDocument(function(document){
//do something with document.
});
context.subscriptions.push(onDidOpenTextDocumentEventDispose);
根据指定的WorkspaceEdit对象编辑文档。WorkspaceEdit对象内要设定被修改文档的uri和要执行修改的TextEdit操作对象。
参数说明
返回值
返回类型 |
描述 |
Promise<void> |
Promise |
示例
getConfiguration
参数说明
参数名称 |
参数类型 |
描述 |
section |
String |
配置项分类名称 |
返回值
示例
let config = hx.workspace.getConfiguration()
let fontSize = config.get("editor.fontSize");
//或者也可以这样