所以我正在制作一个 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/