我应该如何访问 VSCode 用户的文件系统?

Nur*_*yev 2 node.js visual-studio-code vscode-extensions

所以我正在制作一个 VSCode 扩展。它应该读取和修改用户文件系统的文件。我应该用节点来做fs还是应该为此使用一些 VSCode 的接口/API?

如果后者是正确的,那么我需要的 API 命名空间是什么(工作区或其他东西)?

如果前者没问题,我该如何真正使用fs?如果用户没有安装 node.js 怎么办?还是它总是与 VSCode 一起安装?

Mat*_*ner 7

这取决于。

通常将 vscode 的TextDocumentapi 用于:

  • 从工作区读取文本文件。这个 api 确保您始终读取文件的当前状态(即使它尚未保存到磁盘)。
  • 修改工作区中的文本文件内容。您还可以使用save将修改后的文件写回磁盘。
  • 从文件系统提供程序读取资源

使用fs为:

  • 读取和写入工作区之外的文件。
  • 读取和写入不应被 VS Code 跟踪的文件。打开 aTextDocument可能会导致 VS Code 及其扩展程序尝试处理文件。
  • 读取和写入二进制文件。

你也会对这个 api 提议感兴趣。它将直接使用 VS Code 启用更多低级文件读取/写入。

(此外,您始终可以安全地使用 node,因为 VS Code 包含一个供扩展使用的副本)