在VS Code中我想在新编辑器(同一窗口)中创建一个新文档,但它需要保持未保存状态。我无法找到一种方法以编程方式设置此文档处于未保存状态时的内容。
我用过: commands.executeCommand(" workbench.action.files.newUntitledFile&#34) 但似乎没有办法再将内容添加到文件中。
当我创建一个新的临时文件并使用以下命令打开它时: workspace.openTextDocument(路径) 该文件已保存。
有什么想法吗?
答案 0 :(得分:7)
尝试将openTextDocument
与untitled
文档一起使用,在给定路径下创建未保存的文件,然后使用WorkspaceEdit
添加一些文字:
import * as vscode from 'vscode';
import * as path from 'path';
const newFile = vscode.Uri.parse('untitled:' + path.join(vscode.workspace.rootPath, 'safsa.txt'));
vscode.workspace.openTextDocument(newFile).then(document => {
const edit = new vscode.WorkspaceEdit();
edit.insert(newFile, new vscode.Position(0, 0), "Hello world!");
return vscode.workspace.applyEdit(edit).then(success => {
if (success) {
vscode.window.showTextDocument(document);
} else {
vscode.window.showInformationMessage('Error!');
}
});
});
首次打开时,新文件将保留,但在用户保存时保存到指定路径。
希望这是一个很好的起点。
答案 1 :(得分:0)
这应该在 VSCode 1.54(2021 年 2 月)中得到支持,这意味着 vscode.workspace.openTextDocument
script 中的 Matt 是默认实现的:
我们在 New Untitled File
视图标题区域中引入了 Open Editors
操作。