在 VSCode 扩展中,如何用从另一个文件读取的内容填充一个未命名的未保存文件?
In VSCode extension, how to fill an untitled unsaved file with content read from another file?
使用 VSCode 1.61.2,我正在做一个扩展,它必须在编辑器中打开一个空的、未保存的文件。
第一部分,没有填写文档,按照下面的方式完成,效果很好:
vscode.workspace.openTextDocument({
language: "json",
content: "toto"
})
但是,我希望内容填充位于扩展代码源中的文件的内容。该文件位于:
src/my-file.json
到目前为止我有:
vscode.workspace.openTextDocument("src/my-file.json").then((file) => {
vscode.workspace.openTextDocument({
language: "json",
content: file.getText()
})
})
但是,这会抛出:
rejected promise not handled within 1 second: Error: cannot open
file:///src/my-file.json. Detail: Unable to read file
'\src\my-file.json' (Error: Unable to resolve nonexistent file
'\src\my-file.json')
我高度怀疑 workspace
指的是用户工作区,因此文件不存在,这解释了错误。
但是,如果我是对的,我在 the api 中没有找到任何允许读取扩展文件的内容。
如何读取我的扩展源文件并将其写入编辑器中未保存的空文件?
在扩展中创建路径
let srcfolder = path.join(__dirname, 'src', 'my-file.json');
或者使用activate
函数的参数ExtensionContext,使用成员extensionUri
这也是web扩展保存,使用vscode.workspace.fs
读取文件
使用 VSCode 1.61.2,我正在做一个扩展,它必须在编辑器中打开一个空的、未保存的文件。
第一部分,没有填写文档,按照下面的方式完成,效果很好:
vscode.workspace.openTextDocument({
language: "json",
content: "toto"
})
但是,我希望内容填充位于扩展代码源中的文件的内容。该文件位于:
src/my-file.json
到目前为止我有:
vscode.workspace.openTextDocument("src/my-file.json").then((file) => {
vscode.workspace.openTextDocument({
language: "json",
content: file.getText()
})
})
但是,这会抛出:
rejected promise not handled within 1 second: Error: cannot open file:///src/my-file.json. Detail: Unable to read file '\src\my-file.json' (Error: Unable to resolve nonexistent file '\src\my-file.json')
我高度怀疑 workspace
指的是用户工作区,因此文件不存在,这解释了错误。
但是,如果我是对的,我在 the api 中没有找到任何允许读取扩展文件的内容。
如何读取我的扩展源文件并将其写入编辑器中未保存的空文件?
在扩展中创建路径
let srcfolder = path.join(__dirname, 'src', 'my-file.json');
或者使用activate
函数的参数ExtensionContext,使用成员extensionUri
这也是web扩展保存,使用vscode.workspace.fs
读取文件