visual-studio-code - 如何在 VS 代码扩展中访问文件内容

标签 visual-studio-code vscode-extensions

我想浏览当前在工作区中打开的文件的内容。我试过:

console.log(vscode.window.activeTextEditor); // Doesn't work

我也试过:

vscode.workspace.openTextDocument(vscode.window.terminals).then(document => {
  let text = document.getText();
  console.log(text);
});

最后一个抛出了一个错误:“没有找到有效的项目结构,正在退出……”我做错了什么?

最佳答案

请考虑查看 VS Code Extension Samples特别是 Document Editing Sample .它确实展示了如何在编辑器中阅读当前事件文档中的文本。

要在当前事件的文档编辑器中阅读文本,请将此代码放入您的 extension.ts:

'use strict';

import * as vscode from 'vscode';

export function activate(context: vscode.ExtensionContext) {
    const disposable = vscode.commands.registerCommand('extension.scanDocument', function () {
        // Get the active text editor
        const editor = vscode.window.activeTextEditor;

        if (editor) {
            let document = editor.document;

            // Get the document text
            const documentText = document.getText();

            // DO SOMETHING WITH `documentText`
        }
    });

    context.subscriptions.push(disposable);
}

并在您的 package.json 中声明此命令:

    "contributes": {
        "commands": [
            {
                "command": "extension.scanDocument",
                "title": "Scan current document..."
            }
        ]
    }

...运行扩展,打开文件并从命令托盘调用命令。

关于visual-studio-code - 如何在 VS 代码扩展中访问文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58779275/

相关文章:

visual-studio-code - 有没有办法在 Visual Studio Code 中安装扩展列表?

javascript - typescript、jsconfig.json、bower.json 和 vs-code 协同工作

visual-studio-code - VSCode-是否可以自定义双击选择行为?

visual-studio-code - 如何使用 JavaScript/Nodejs 在 VSCode 中显示警告、错误、函数、变量

typescript - 如何从 QuickPick 中删除 'OK' 按钮

javascript - vscode 扩展在函数外使用变量

python - vscode 扩展 : how to create a language specific command

reactjs - TypeScript 可选属性不接受未定义的值

java - vsCode java.test.config vmArgs 不起作用

visual-studio-code - VSCode IntelliSense 无法理解 CMake add_definitions