我想浏览工作空间中当前打开的文件。我怎么做?
我尝试过以下行
console.log(vscode.window.activeTextEditor); //没用
以下代码无效。
vscode.workspace.openTextDocument(vscode.window.terminals).then(document => {
let text = document.getText();
// console.log(text);
});
我看到错误并说“找不到有效的项目结构,正在退出...”
P.S:目前,我正在Salesforce项目上运行它。
答案 0 :(得分:0)
请考虑签出VS Code Extension Samples,尤其是Document Editing Sample。它确实显示了如何在编辑器中读取当前活动文档中的文本。
要在当前活动的文档编辑器中阅读文本,请将此代码放入您的extension.ts
:
'use strict';
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
let disposable = vscode.commands.registerCommand('extension.scanDocument', function () {
// Get the active text editor
let editor = vscode.window.activeTextEditor;
if (editor) {
let document = editor.document;
// Get the document text
let documentText = document.getText();
// DO SOMETHING WITH `documentText`
}
});
context.subscriptions.push(disposable);
}
并在您的package.json
中声明此命令:
"contributes": {
"commands": [
{
"command": "extension.scanDocument",
"title": "Scan current document..."
}
]
}
...运行扩展程序,打开一个文件,然后从命令托盘中调用命令。