繁体   English   中英

如何检查文档是否为只读 - VSCode 扩展 API

[英]How to check if a document is read-only - VSCode extension API

有没有办法查明活动文本文档是否为只读?

我在VSCode 命名空间 API文档中找不到它。

VSCode 在 NodeJS 上运行的 Electron 上运行,这意味着您可以在不使用 VSCode API 的情况下访问文件系统并检查文件权限。

您可以使用fs本机包检查 NodeJS 上的文件权限:

if ((fs.statSync(document.uri.fsPath).mode & 146) == 0) {
  // document is in read-only mode
}

您应该使用内置的vscode.workspace.fs API,而不是普通的 node.js fs包。 但即使这样对不代表物理文件的TextDocument

您可以假设如果TextDocument.uri.schema === 'file' ,您可以使用vscode.workspace.fs API 测试它是否可写。

否则,也许应用一个空的良性编辑,例如按照@Michael 的建议插入一个空字符串将是一个有用的测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM