【问题标题】:vscode api for file explorer文件资源管理器的 vscode api
【发布时间】:2016-11-11 06:20:38
【问题描述】:

我正在编写一个 VSCode 扩展,需要在用户选择的文件夹/子文件夹中创建文件/删除文件。

有没有办法通过visual studio code api从资源管理器树中找到选定的文件夹?可以通过活动文本编辑器或onDidOpenTextDocument() 跟踪打开的文件。我有兴趣查找用户是否选择了一个文件夹,如果是,则选择文件夹的路径。

例如:workspace.rootPath 提供已打开项目的根目录。同样,如何识别用户选择了哪个子文件夹(如果有)。

【问题讨论】:

  • 你有想过这个吗?

标签: typescript visual-studio-code vscode-extensions


【解决方案1】:

我终于想通了,我找了一段时间,发现文档说:

注意:当从(上下文)菜单调用命令时,VS Code 会尝试推断当前选定的资源,并在调用命令时将其作为参数传递。例如,资源管理器中的菜单项被传递给选定资源的 URI,编辑器中的菜单项被传递给文档的 URI。 vscode extension contribution points

这让我想到了 github Get selected file folder 上的这个问题/错误,这反过来又把我带到了 github 存储库 stef-levesque/vscode-hexdump 我从中得到了以下信息:

let disposable = Commands.registerCommand('extension.superExtension', async (fileUri) => {
    console.log(fileUri);
})

注意:当在编辑器中使用上下文菜单时,这将为空。

【讨论】:

  • 谢谢!我已经对此进行了测试,它可以正常工作。
  • 如何在不使用上下文菜单的情况下获取选定文件夹或文件的路径?
猜你喜欢
  • 2019-05-06
  • 2017-03-13
  • 2020-08-31
  • 2018-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多