赞
踩
在开发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); } } });
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。