如何在 Visual Studio Code Extension.js 中获取当前打开文件的项目文件夹路径

2024-04-15

我试图在 Visual Studio 代码扩展中获取当前打开的文件的项目文件夹路径,但不适用于多根工作区。

现在我得到的路径值为空。

目前我打开了project-ws文件夹文件app.component.html,然后在文件选项卡上按ctrl+shift+p,然后框将打开。如果我从扩展框中单击“获取项目文件夹路径”,路径值应该类似于 C:\xampp\htdocs\projects\project-ws。

如果我打开了project-bh文件夹中的任何文件,然后在文件选项卡上按ctrl+shift+p,然后框将打开。如果我从扩展框中单击“获取项目文件夹路径”,路径值应该类似于 C:\xampp\htdocs\projects\project-bh。

我无法从我的代码中找到错误。任何人都可以解决这个问题吗?

检查此网址,然后您可以在您的 vs code 扩展中进行测试,您可以轻松理解:https://github.com/jasonnutter/vscode-search-node-modules https://github.com/jasonnutter/vscode-search-node-modules我在扩展中使用了相同的概念。

enter image description here.

按 Ctrl+Shift+p = 查看扩展名,然后单击“获取项目文件夹路径”,然后应该出现路径消息。

C:/Users/ADMIN/.vscode/extensions/getprojectpath/extension.js:

  const vscode = require('vscode');
  const path = require('path');
  exports.activate = context => {

  const searchMyModules = vscode.commands.registerCommand('extension.search', () => {

  const preferences = vscode.workspace.getConfiguration('files.exclude');

  const getCurrentlyopenedtabprojectfolderpath = async() => {

  const editor = vscode.window.activeTextEditor;
  if (!editor || !vscode.workspace.workspaceFolders || vscode.workspace.workspaceFolders.length < 2) {
    return null;
  }
  let path;
  const resource = editor.document.uri;
  if (resource.scheme === 'file') {
    const folder = vscode.workspace.getWorkspaceFolder(resource);
    if (!folder) {
      path = `$(alert) <outside workspace> → ${basename(resource.fsPath)}`;
    } else {
      path = `$(file-submodule) ${basename(folder.uri.fsPath)} (${folder.index + 1} of ${vscode.workspace.workspaceFolders.length}) → $(file-code) ${basename(resource.fsPath)}`;

    }
  }
  return {
    path
  };
}

 getCurrentlyopenedprojectpath().then(result => {
  vscode.window.showInformationMessage(result.path)
 })
 })
 }

 exports.deactivate = () => {};

你可以试试vscode.workspace.workspaceFolders and vscode.workspace.workspaceFiles。这些将返回当前打开目录的文件和文件夹列表

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Visual Studio Code Extension.js 中获取当前打开文件的项目文件夹路径 的相关文章

随机推荐