vscode插件开发-右键菜单:获取选中的文件或者目录
- 在explorer右键添加upload
- 在vscode的explorer中右键,点击upload时获取到当前选中的文件或者目录
在开发vscode插件的过程中遇到需要在vscode的explorer中右键获取到当前选中的文件或者目录,查遍所有vscode 插件api,没有提供相应的方法,只有一个方法,此方法只有在文本编辑器中打开文件后才能拿到当前打开的文件,并不能在explorer右键时获取到选中的文件或者目录:
//获取文本编辑器中打开的文件
let tmpdir = vscode.window.activeTextEditor?.document.fileName;
经过了大概一天时间,终于查到了如下方法,可以获取到选中的文件或者目录,特此记录:
const vscode = require('vscode');
const fs = require('fs');
let disposable2 = vscode.commands.registerCommand('haha.upload', async (fileUri) => {
// fileUri为explorer选中的文件
let proPath = "";
let execPath = "";
//获取文本编辑器中打开的文件
let tmpdir = vscode.window.activeTextEditor?.document.fileName;
const fstat = fs.lstatSync(fileUri.path);
if(fstat.isFile())
{
tmpdir = fileUri.path;
}
if(tmpdir){
let position = tmpdir.lastIndexOf('/');
if(position>0){
proPath = tmpdir.substring(0,position);
execPath = tmpdir.substring(position+1);
}
}
});