2016-12-09 5 views
1

В VS Code Я хотел бы создать новый документ в новом редакторе (в том же окне), но он должен оставаться несохраненным. Я не могу найти способ программно установить содержимое этого документа, пока он находится в несохраненном состоянии.VSCode создает несохраненный файл и добавляет контент

Я использовал: commands.executeCommand («workbench.action.files.newUntitledFile») , но, кажется, нет никакого способа, чтобы затем добавить содержимое в файл.

Когда я создаю новый временный файл и открываю его с помощью: workspace.openTextDocument (путь) Файл уже сохранен.

Любые мысли?

ответ

0

Попробуйте использовать openTextDocument с untiled документом для создания несохраненного файла на данном пути, а затем использовать 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!'); 
     } 
    }); 
}); 

Новый файл будет несохраненным при первом открытии, но сохраняется в данный путь, когда пользователь сохраняет его.

Надеюсь, что это хорошая отправная точка.