node.js - 我该如何访问VSCode用户的文件系统?

标签 node.js visual-studio-code vscode-extensions

所以我正在制作一个 VSCode 扩展。它应该读取和修改用户文件系统的文件。我应该使用 Node 的 fs 来完成它还是应该使用一些 VSCode 的接口(interface)/API?

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

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

最佳答案

这取决于。

一般使用 vscode 的 TextDocument api 用于:

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

使用fs用于:

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

This api proposal您也会感兴趣。它将直接使用 VS Code 实现更多低级文件读取/写入。

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

关于node.js - 我该如何访问VSCode用户的文件系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53559240/

相关文章:

visual-studio-code - 在 VSCode 扩展中允许 QuickPick 上的新值

javascript - VSCode 如何加载 .js.map 来查看/编辑 js 文件?

visual-studio-code - 使用 VSCode 扩展 API 关闭特定打开的选项卡

visual-studio-code - 为 vscode 扩展的用户添加任务到 tasks.json

node.js - 如何重新启动 Node.js 应用程序并将新进程移交给控制台

node.js - 如何等待所有异步调用完成

node.js - Cloud Functions for Firebase - 将 PDF 转换为图像

c++ - 错误 [outdebug 不存在] 在 Visual Studio 代码中调试基本 C++

visual-studio-code - 有没有办法在 VS Code 中构建可视化插件

node.js - firebase-admin WebSocket 错误