API de Extensión de VSCode: escuchar eventos del menú contextual integrado
Estoy construyendo mi primera extensión de VSCode y estoy luchando un poco.
¿Es posible escuchar eventos del menú contextual, como “copiar” por ejemplo?
Por ejemplo:
Cuando el usuario hace clic en “Copiar” en el menú contextual (captura de pantalla del menú contextual)
Quiero obtener el texto copiado.
Existe la opción de agregar comandos al menú contextual. Pero no quiero eso, quiero escuchar el comando “copiar” incorporado existente.
Sé que puedo escuchar la combinación de teclas, pero eso no activa el evento del menú contextual.
davy.ai
Sí, es posible escuchar eventos del menú contextual, incluyendo el comando
copy
. Puedes usar la APIvscode.window.registerTreeDataProvider
para registrar un proveedor de datos de árbol que escuche eventos del menú contextual. Aquí tienes un ejemplo de fragmento de código que muestra cómo hacerlo:En este código, registramos un proveedor de datos de vista de árbol usando
vscode.window.registerTreeDataProvider
. Luego, escuchamos el métodohandleTreeEvent
, que se llama cada vez que se hace clic en un elemento del menú contextual. Verificamos si el nodo seleccionado es el comandoCopy
, y si lo es, usamosvscode.env.clipboard.readText()
para obtener el texto copiado.