VSCode创建未保存的文件并添加内容

时间:2016-12-09 20:17:02

标签: visual-studio-code vscode-extensions

在VS Code中我想在新编辑器(同一窗口)中创建一个新文档,但它需要保持未保存状态。我无法找到一种方法以编程方式设置此文档处于未保存状态时的内容。

我用过: commands.executeCommand(" workbench.action.files.newUntitledFile&#34) 但似乎没有办法再将内容添加到文件中。

当我创建一个新的临时文件并使用以下命令打开它时: workspace.openTextDocument(路径) 该文件已保存。

有什么想法吗?

2 个答案:

答案 0 :(得分:7)

尝试将openTextDocumentuntitled文档一起使用,在给定路径下创建未保存的文件,然后使用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 操作。

New untitled file -- https://media.githubusercontent.com/media/microsoft/vscode-docs/9ffb91c3746c3dd1156970d23e22aa57ca2fe525/release-notes/images/1_54/new-untitled-file.png