originale asker ici ...
je suis venu avec une solution qui implique remplaçant la coupe par défaut/copier/actions coller dans l'éditeur . Voici le code pour « copie » en extension.js (je me sers js pas ts):
//override the editor.action.clipboardCopyAction with our own
var clipboardCopyDisposable = vscode.commands.registerTextEditorCommand('editor.action.clipboardCopyAction', overriddenClipboardCopyAction);
context.subscriptions.push(clipboardCopyDisposable);
/*
* Function that overrides the default copy behavior. We get the selection and use it, dispose of this registered
* command (returning to the default editor.action.clipboardCopyAction), invoke the default one, and then re-register it after the default completes
*/
function overriddenClipboardCopyAction(textEditor, edit, params) {
//debug
console.log("---COPY TEST---");
//use the selected text that is being copied here
getCurrentSelectionEvents(); //not shown for brevity
//dispose of the overridden editor.action.clipboardCopyAction- back to default copy behavior
clipboardCopyDisposable.dispose();
//execute the default editor.action.clipboardCopyAction to copy
vscode.commands.executeCommand("editor.action.clipboardCopyAction").then(function(){
console.log("After Copy");
//add the overridden editor.action.clipboardCopyAction back
clipboardCopyDisposable = vscode.commands.registerTextEditorCommand('editor.action.clipboardCopyAction', overriddenClipboardCopyAction);
context.subscriptions.push(clipboardCopyDisposable);
});
}
Ce certainement ne porte toutefois pas se sentent comme la meilleure solution ... il ne semble pas fonctionner. Des commentaires/suggestions? Y a-t-il des problèmes que l'enregistrement et le désenregistrement répétés entraîneront?
Oui, cela fonctionnerait pour moi. Connaissez-vous une documentation pour overrideCommand()? Je devrais encore effectuer le comportement par défaut peut-être avec: vscode.commands.executeCommand ("default: editor.action.clipboardPaste Action"); ? –