如何使用 VSCode API 打开文件和插入文本

Posted

技术标签:

【中文标题】如何使用 VSCode API 打开文件和插入文本【英文标题】:How to open file and insert text using the VSCode API 【发布时间】:2016-11-11 19:20:00 【问题描述】:

如何在选项卡中打开一个新的只读文本文件并使用 Visual Studio Code API 在该文件中插入一些格式化文本?

我没有找到任何关于此添加简单文本的示例

以下是我打开一些无标题文件的代码。

var setting: vscode.Uri = vscode.Uri.parse("untitled:" + "C:\summary.txt");
vscode.workspace.openTextDocument(setting).then((a: vscode.TextDocument) => 
    vscode.window.showTextDocument(a, 1, false);
, (error: any) => 
    console.error(error);
    debugger;
);

请给出可以添加到这些行以添加文本的简单示例。 因为官方的例子有点复杂。

【问题讨论】:

不要将Uri.parse 用于文件。使用Uri.file。文件名/路径可能包含# 字符 【参考方案1】:

除了 DAXaholic 的回答,如果您想在活动编辑器中插入文本,可以使用vscode.window.activeTextEditor

function enterText(text: string) 
    const editor = vscode.window.activeTextEditor;
    if (editor) 
        editor.edit(editBuilder => 
            editBuilder.insert(editor.selection.active, text);
        );
    

在我的示例中,文本被插入到当前光标位置。

【讨论】:

【参考方案2】:

下面的内容应该会给你的想法

...
var setting: vscode.Uri = vscode.Uri.parse("untitled:" + "C:\summary.txt");
vscode.workspace.openTextDocument(setting).then((a: vscode.TextDocument) => 
    vscode.window.showTextDocument(a, 1, false).then(e => 
        e.edit(edit => 
            edit.insert(new vscode.Position(0, 0), "Your advertisement here");
        );
    );
, (error: any) => 
    console.error(error);
    debugger;
);
...

【讨论】:

那么如何在活动文档中插入文本? @SaravanaKumar get editor using const e = vscode.window.activeTextEditor; then you can use e.edit() as in DAXaholic's answer 还有没有办法添加来自 API 的文本?

以上是关于如何使用 VSCode API 打开文件和插入文本的主要内容,如果未能解决你的问题,请参考以下文章

VSCode 扩展 - 如何更改文件的文本

Pr如何在视频中插入文本?

vscode如何进行代码注释定制(koroFileHeader)

如何使文本文件“打开方式”我的 Win Api 文本编辑器?

vscode运行vb本地代码步骤

vscode如何在input里放图片