【问题标题】:VSCode API get formatted text from editor.documentVSCode API 从 editor.document 获取格式化文本
【发布时间】:2022-01-13 19:44:28
【问题描述】:

我正在尝试制作一个自定义的 VSCode 扩展,将我当前选择的文件内容导出为 PDF。 (我知道有 PrintCode,但它不适合我的用例)

我当前代码的相关部分是:

const editor = vscode.window.activeTextEditor;
if (editor !== undefined) {
    let cursorPosition = editor.selection.start;
    let wordRange = editor.document.getWordRangeAtPosition(cursorPosition);
    let highlight = editor.document.getText(wordRange);
    console.log(highlight);
}

这可以很好地输出所选文本,但只给我纯文本。我希望将带有语法突出显示的格式化代码放入我的 PDF 文件中。获取格式化文本的最佳方式是通过 rtf 甚至更好的 html。

这甚至可以通过 Visual Studio Code API 实现吗?

感谢您的帮助!

您好, 法比奥

【问题讨论】:

  • 复制/粘贴是您目前最好的选择。
  • 好吧,那我觉得最好的办法是使用电子剪贴板模块,它具有复制为HTML的功能。但是在 VSCode 扩展中无法访问电子库。你有什么想法吗?

标签: html typescript pdf visual-studio-code vscode-extensions


【解决方案1】:

在撰写本文时,这是不可能的。但是,VSCode 使用 Textmate 语法,所以你可以使用 this npm 包轻松解析你想要高亮的代码的 sn-p 并在导出为 PDF 之前自己做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 2019-12-08
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多