我想浏览当前在工作区中打开的文件的内容。我试过:
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/