https://code.visualstudio.com/api/get-started/your-first-extensionnpm install -g yo generator-code
yo code
Wählen Sie ts oder js für die normale Entwicklung.
Die Ergebnisse sind wie folgt. Der contributors.commands-Knoten von package.json steuert die Befehlslebensdauer und
Contributes.menus definiert die Menüerweiterung.ts
. Registrieren Sie Ereignisse darin
export function activate(context: vscode.ExtensionContext) {
context.subscriptions.push(vscode.commands.registerCommand('extension.sqltool.execSql', () => {
// vscode.window.showInformationMessage('not implemention!');
const editor = vscode.window.activeTextEditor;
if (editor) {
const document = editor.document;
const inputText = document.getText();
editor.edit(editBuilder => {
const start = new vscode.Position(0, 0);
const end = new vscode.Position(document.lineCount, 0);
const range = new vscode.Range(start, end);
editBuilder.replace(range, '处理后的结果');
});
}
}));
}
tsc -watch -p ./
Das Konvertieren von TS-Code in JS-Code und die Überwachung in Echtzeit npm run compile
hat den gleichen Effekt
. Die tatsächliche Definition der Ausführung der Erweiterung lautet wie folgt
Wenn es nicht funktioniert, sollten Sie die neue Version von vscode aktualisieren.
https://astexplorer.net/ kann mit Babel kombiniert werden, um den Codeinhalt zu ersetzen, aber ich denke, einfache Dinge sind kompliziert. Ich habe das Zeilenscannen verwendet, um eine gespeicherte Prozedur abzuschließen, die direkt in SQL-Code konvertiert wird.
Erweiterung veröffentlichen
npm install -g @vscode/vsce
vsve publish
获取Token https://marketplace.visualstudio.com/manage/publishers/ https://dev.azure.com/lozn/_usersSettings/tokens