【问题标题】:How should I access the file system of the VSCode's user?我应该如何访问 VSCode 用户的文件系统?
【发布时间】:2023-03-24 17:21:01
【问题描述】:
所以我正在做一个 VSCode 扩展。它应该读取和修改用户文件系统的文件。我应该用节点的fs 来做,还是应该为此使用一些 VSCode 的接口/API?
如果后者是正确的,那么我需要的 API 命名空间是什么(工作区或其他东西)?
如果前者没问题,我怎么能真正使用fs?如果用户没有安装 node.js 怎么办?还是总是随 VSCode 一起安装?
【问题讨论】:
标签:
node.js
visual-studio-code
vscode-extensions
【解决方案1】:
视情况而定。
一般使用vscode的TextDocument api用于:
- 从工作区读取文本文件。此 api 确保您始终读取文件的当前状态(即使尚未保存到磁盘)。
- 修改工作区中的文本文件内容。您还可以使用
save 将修改后的文件写回磁盘。
- 从文件系统提供程序读取资源
将fs 用于:
- 读写工作区外的文件。
- 读取和写入不应被 VS Code 跟踪的文件。打开
TextDocument 会导致 VS Code 及其扩展尝试处理该文件。
- 读写二进制文件。
This api proposal 你也会感兴趣。它可以直接使用 VS Code 实现更底层的文件读/写。
(此外,您始终可以安全地使用节点,因为 VS Code 包含一个可供扩展使用的副本)