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

avi*_*iit 8 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"
          }]
        }
    }
Run Code Online (Sandbox Code Playgroud)

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?
}));
Run Code Online (Sandbox Code Playgroud)

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

Gam*_*a11 10

回调将接收一个带有vscode.Uri对象的参数:

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