web-dev-qa-db-ja.com

VSコード拡張-フルパスを取得

VS Codeのプラグインを作成していますが、拡張機能を呼び出しているファイルのパスを知る必要があります。これは、エディターのコンテキストメニューまたはエクスプローラーのコンテキストメニューから呼び出された場合、またはユーザーが拡張機能コマンドを入力しただけの場合です。

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

前もって感謝します!

10
JM. Benitez

Vscodeウィンドウプロパティを呼び出して、探しているものに応じてファイルパスまたは名前を取得できます。これにより、コマンドを実行したときに現在のタブで開いているファイルの名前がわかります。 Explorerコンテキストから呼び出された場合、どのように機能するのかわかりません。

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

フォルダを開くと、workspace変数を取得できます。

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

詳細は VS Code API から取得できます。

1
Bingoabs
import * as vscode from "vscode";
import * as fs from "fs";   

var currentlyOpenTabfilePath = vscode.window.activeTextEditor?.document.uri.fsPath;

上記のコードは、vscodeで現在アクティブ化されているファイルのパスを見つけるために使用されます。

vscode.window.activeTextEditorは編集者の参照を取得します。document.uri.fsPathそのファイルへのパスを文字列形式で返します

0
Faisal Iqbal