我正在编写一个vscode扩展名,它接受当前的文件类型,并为它生成一个HelloWorld初学者代码。但是,我无法找到如何在vscode文档中获取当前文件类型,找到的任何代码都无法工作。我们会感谢你的帮助。当前代码在生成相关代码之前接受文件名,然后接受fileType。
const documentFileType = null;
const documentFileName = vscode.window.activeTextEditor?.document.fileName;
if documentFileType === 'ts' {
vscode.window.activeTextEditor.edit(editBuilder => {
editBuilder.insert(new vscode.Position(0, 0), 'console.log("Hello World!");');
});
}如果有人想看的话..。
import * as vscode from 'vscode';
import "typescript";
export function activate(context: vscode.ExtensionContext) {
console.log("code-boilerplate is active!");
let disposable = vscode.commands.registerCommand('code-boilerplate.CodeBoilerPlate', () => {
const documentFileType = null;
const documentFileName = vscode.window.activeTextEditor?.document.fileName;
if documentFileType === 'ts' {
vscode.window.activeTextEditor.edit(editBuilder => {
editBuilder.insert(new vscode.Position(0, 0), 'console.log("Hello World!");');
});
}
else if documentFileType == "py" {
vscode.window.activeTextEditor.edit(editBuilder => {
editBuilder.insert(new vscode.Position(0, 0), 'print("Hello World!")');
});
}
else if documentFileType === "js" {
vscode.window.activeTextEditor?.edit(editBuilder => {
editBuilder.insert(new vscode.Position(0,0), 'console.log("Hello World!")');
})
}
vscode.window.showInformationMessage("Generating code boilerplate...");
});
context.subscriptions.push(disposable);
}
// this method is called when your extension is deactivated
export function deactivate() {
console.log("code-boilerplate is deactivated!");
}发布于 2021-12-30 18:31:04
可以使用vscode.window.activeTextEditor?.document.languageId获取当前文档的语言。
请参阅https://code.visualstudio.com/api/references/vscode-api#TextDocument
https://stackoverflow.com/questions/70535326
复制相似问题