VS代码扩展 - 获取完整路径

时间:2016-09-19 09:42:40

标签: javascript typescript visual-studio-code file-properties

我正在为VS Code编写一个插件,我需要知道调用扩展的文件的路径,如果它是从编辑器上下文菜单或资源管理器上下文菜单调用的,或者用户只需键入扩展命令。

function activate(context){
    // get full path of the file somehow
}

提前致谢!

3 个答案:

答案 0 :(得分:7)

您可以调用vscode窗口属性来检索文件路径或名称,具体取决于您要查找的内容。 这将为您提供执行命令时在当前选项卡中打开的文件的名称。如果从资源管理器上下文调用,我不知道它是如何工作的。

var vscode = require('vscode');
var path = require("path");
function activate(context) {
   var currentlyOpenTabfilePath = vscode.window.activeTextEditor.document.fileName;
   var currentlyOpenTabfileName = path.basename(filePath);
   //...
}

答案 1 :(得分:4)

如果打开文件夹,则可以获取workspace变量。

let folderName = vscode.workspace.name; // get the open folder name
let folderPath = vscode.workspace.rootPath; // get the open folder path

更多详细信息,请访问VS Code API

答案 2 :(得分:2)

this.camera

上面的代码用于查找当前在vscode上激活的文件的路径。

import * as vscode from "vscode"; import * as fs from "fs"; var currentlyOpenTabfilePath = vscode.window.activeTextEditor?.document.uri.fsPath; 获取编辑者的参考,vscode.window.activeTextEditor以字符串格式返回该文件的路径