用户右键单击资源管理器/上下文中的文件时,如何获取vscode扩展名中的文件名或路径?

时间:2018-08-22 07:08:29

标签: visual-studio-code vscode-extensions

我的扩展程序在资源管理器树中创建了一个上下文菜单:

"contributes": {
        "commands": [
            ...
            {
                "command": "myextension.mycommand",
                "title": "Run my command"
            }
        ],
        "menus": {
            "explorer/context": [{
                "when": "resourceLangId == python",
                "command": "myextension.mycommand",
                "group": "MyGroup"
          }]
        }
    }

extension.ts中:

export function activate(context: vscode.ExtensionContext) {
context.subscriptions.push(vscode.commands.registerCommand('myextension.mycommand', () => {
    //How to get the filename or file path here?
}));

我想获取运行命令时右键单击上下文菜单的文件的文件名或文件路径。你能告诉我如何吗? 非常感谢你!

1 个答案:

答案 0 :(得分:3)

回调将收到带有vscode.Uri对象的参数:

vscode.commands.registerCommand('myextension.mycommand', (uri:vscode.Uri) => {
    console.log(uri.fsPath);
});