Vscode: Permitir la personalización de los atajos del mouse

Creado en 18 feb. 2016  ·  204Comentarios  ·  Fuente: microsoft/vscode

A algunos usuarios les gustaría poder personalizar no solo los atajos de teclado puros, sino también los de mouse + modificador. Estos están actualmente codificados, por ejemplo, alt + clic para agregar una selección.

Consulte https://github.com/Microsoft/vscode/issues/3091 para obtener más contexto.

editor-core feature-request keybindings

Comentario más útil

+1

Me gustaría hacer shift+cmd+leftMouseButton para Peek Definition, sería una combinación perfecta para mí.

Todos 204 comentarios

+1

Me gustaría hacer shift+cmd+leftMouseButton para Peek Definition, sería una combinación perfecta para mí.

+1

Encontré una implicación de rendimiento interesante como resultado de los valores predeterminados actuales / falta de capacidad de configuración. Considere el modificador codificado de forma rígida asociado con la funcionalidad de "definición rápida". Si un complemento debe hacer algún trabajo para proporcionar la definición, es muy probable que VSCode solicite a los complementos información de definición incluso cuando el usuario no tenga la intención de obtenerla. Como describo en https://github.com/Microsoft/vscode-go/issues/257#issuecomment -198993769:

Por ejemplo, con el cursor quieto en el área del editor, presionar ⌘ invoca instantáneamente GoDefinitionProvider, incluso cuando ⌘ se usa inmediatamente en un acorde para algún otro comando (por ejemplo, copiar, pegar, abrir la paleta de comandos, etc.).

Esto significa que se realizan llamadas a godef cuando el usuario presiona una tecla muy común sin intención de obtener información contextual de desplazamiento.

Cuando se usa vscode-go, esto significa un uso significativo de energía externa que podría evitarse casi por completo proporcionando configuraciones de teclas modificadoras para la "definición de peek". La función no solo sería conveniente y permitiría una mejor integración de la GUI del sistema operativo del host, sino que VSCode sería más eficiente en la CPU para usos comunes.

+1: Atom, Sublime y jsbin.com (presumiblemente otros también) permiten la creación de varios cursores con ⌘ + clic (en una Mac, al menos). Sería bueno verse obligado a aprender la menor cantidad posible de atajos nuevos al cambiar a un nuevo editor.

Estoy evitando por completo usar alt + click para agregar cursores hasta que pueda personalizar para hacer Windows y Linux consistentes. No quiero desarrollar la memoria muscular cuando va a cambiar más adelante.

@alexandrudima ¿ alguna idea sobre cuándo podrías llegar a esto? Está bloqueando la adición de cursores a través del mouse en Linux . Puedo intentarlo si das un enfoque de alto nivel.

+1 Acabo de descubrir VS Code y me encanta, pero como usuario de Sublime Text desde hace mucho tiempo en Linux, me falta la capacidad de ctrl + clic. Me encantaría poder personalizar los accesos directos del mouse.

De @ChristopherHaws en # 6853

  • Versión de VSCode: 1.1.1
  • Versión del sistema operativo: Windows 10 Pro

En Visual Studio (versión completa), tiendo a desactivar Ctrl + LeftMouseClick para ir a la función de definición. Personalmente, prefiero que Ctrl + LeftMouseClick seleccione la palabra completa debajo del cursor del mouse.

Por lo que puedo ver, los eventos del mouse no son configurables en este momento, y tampoco es posible anularlos con extensiones (a mi leal saber y entender). Sería muy bueno tener un archivo de configuración de mapeo del mouse. Sublime Text tiene esto (aunque es una especie de característica oculta que no se expone a través de la interfaz de usuario). Solo como ejemplo, mi archivo de mapa de mouse de texto sublime se ve así:

[
    {
        "button": "button1", "count": 1, "modifiers": ["ctrl"],
        "press_command": "drag_select",
        "press_args": {"by": "words"}
    }
]

+1 para personalización.
Me gustaría usar CTRL para realizar una selección múltiple en lugar de alt.

Me gustaría señalar que agregar cursores con el mouse es imposible en Linux, porque alt+click ya se usa para mover la ventana (al menos en KDE y XFCE), y por lo tanto alt+click el comportamiento no llega al editor de código en absoluto. Por lo tanto, también sugeriría cambiar el enlace predeterminado a algo que no entre en conflicto con las combinaciones de teclas de los principales administradores de ventanas. Ctrl+Alt+click podría funcionar,

Me gustaría señalar que agregar cursores con el mouse es imposible en Linux, porque alt + click ya se usa para mover la ventana (al menos en KDE y XFCE) y, por lo tanto, el comportamiento de alt + click no alcanza el editor de código en absoluto. Por lo tanto, también sugeriría cambiar el enlace predeterminado a algo que no entre en conflicto con las combinaciones de teclas de los principales administradores de ventanas. Ctrl + Alt + clic podría funcionar,

No cambie el valor predeterminado. Usar Alt para mover Windows es un mal valor predeterminado, por ejemplo, Inkscape también tiene problemas con esto. La tecla de Windows es mucho más adecuada para esto, ya que se usa más a menudo para accesos directos del "administrador de ventanas", por ejemplo, en Windows. Además, incluso el nombre tiene más sentido: "tecla de Windows" -> "mover ventanas". También es el predeterminado de GNOME.

IIRC, la elección de usar Alt como predeterminado para esto también fue una solución, porque la tecla de Windows no actuó como una tecla "meta" real. La última vez que verifiqué, todavía no podía asignar la tecla de Windows para abrir el menú en XFCE y mover ventanas con él al mismo tiempo.

@jhasse Ok, creo que las cosas del administrador de ventanas deberían hacerse con el modificador de teclas de Windows. Es un buen argumento. Pero, ¿qué quiere decir con "La última vez que lo comprobé, todavía no podía asignar la tecla de Windows para abrir el menú en XFCE y mover ventanas con él al mismo tiempo"? ¿Quieres que la tecla de Windows sea un modificador y un no modificador al mismo tiempo?

Pero, ¿qué quiere decir con "La última vez que lo comprobé, todavía no podía asignar la tecla de Windows para abrir el menú en XFCE y mover ventanas con él al mismo tiempo"? ¿Quieres que la tecla de Windows sea un modificador y un no modificador al mismo tiempo?

Quiero abrir el menú presionando la tecla de Windows (solo) mientras aún puedo vincular combinaciones de teclas y mover las ventanas.

Sin embargo, no vayamos a fuera de tema. Este problema solo se trata de permitir personalizaciones a las que, supongo, nadie se opone.

Ok, siempre y cuando todos estemos de acuerdo aquí, que no poder personalizar los atajos del mouse es malo, todo está bien. Sin embargo, aún podría decir que en este momento ya no estoy usando VS-code, y este problema está relacionado con él.

Hay una manera de anular alt + mouse para modificadores de ventana usando xfwm4-tweaks-settings .
screenshot_2016-10-21_09-30-43

Pero lo que @jhasse apunta es lo que debería suceder si ya tieneobligado a abrir el menú xfce. Si tiene alguna combinación de teclas solo para la tecla de Windows Super L , una vez presionada, solo se activa ese evento y nada más. Actualmente, los valores predeterminados de xfce no tienen nada vinculado a Super L , y ctrl+esc está vinculado al comando del menú de la ventana xfce4-popup-whiskermenu .

Sigo pensando que debería haber una forma configurable de abordar los enlaces del mouse en vscode directamente.

Por ahora, una solución es cambiar la clave de accesibilidad del administrador de ventanas de alt a super como en la imagen de arriba.

@anchepiece No voy a cambiar la configuración de mi administrador de ventanas, ni creo que esto apenas pueda verse como una solución alternativa adecuada. Ver esto como una solución alternativa adecuada es un insulto para todas las personas que se acostumbraron a trabajar con esta configuración durante años. No cambiaré los atajos de mi sistema, solo porque un editor de texto estúpido entra en conflicto con esas teclas, prefiero evitar usar el editor de texto.

@ krux02 Totalmente de acuerdo. Lo probé yo mismo cuando se sugirió y no pude acostumbrarme a una nueva combinación de teclas. Sería mucho mejor dejar la personalización al usuario.

Esto arregló mi xenial.
gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"

No estoy seguro de cuándo se agregó esta función, pero pude hacer que Ctrl + clic izquierdo seleccionara la palabra debajo del cursor en lugar de ir a la definición.

[
    { "key": "ctrl+[mouse button]",            "command": "cursorWordLeft",
                                               "when": "editorTextFocus" },
]

@Christopher ¿Tiene alguna idea de dónde se declaran las definiciones [mouse button] ? ¿O alguna posibilidad de que sepa cuál es el enlace para un clic central del mouse? Me encantaría intentar configurar la selección de columnas para hacer clic en el medio + arrastrar.

+1

+1 Por favor, asigne al menos 'cursor múltiple' a un mapa de teclas adicional como solución alternativa hasta que se solucione algo. Esto se abrió en febrero y la mayoría de la gente probablemente solo necesite una forma de crear varios cursores en Linux.

+1

Agregue una reacción a este problema en lugar de publicar "+1".

Esto se abrió en febrero y la mayoría de la gente probablemente solo necesite una forma de crear varios cursores en Linux.

Varios cursores ya funcionan bien con algunos DE (como GNOME 3) en Linux. Para otros, consulte https://github.com/Microsoft/vscode/issues/3130#issuecomment -255382002 para obtener una solución alternativa.

@jhasse Lamento repetirme, pero esa es una solución muy mala, que no puede verse como una solución aceptable en absoluto. Solo podría verse como una solución temporal para mostrar que, en teoría, varios cursores son técnicamente posibles, pero no en algo que pueda recomendar a alguien en la práctica. Lamento mucho reaccionar de esta manera, y podría ser molesto: o eres honesto y dices que no me importa lo suficiente porque no crees que hay suficientes personas que se beneficiarían por la cantidad de trabajo, o lo arreglas correctamente. Pero no haga referencia a soluciones alternativas como esa y pretenda que está arreglado cuando no lo está. No estoy pagando por este producto, así que estoy bien cuando dices que no te importa, pero me importa cuando te mientes a ti mismo que esto no es realmente un problema.

@jhasse la última vez que verifiqué, agregar una reacción no hace que las actualizaciones del problema aparezcan en la sección "participante" de las notificaciones de GitHub. Publicar un comentario +1 sirvió para dos propósitos.

@ krux02 Tienes razón, una solución alternativa es solo una solución temporal. Solo quería señalar que decir "varios cursores no funcionan en Linux" no es correcto. Es más bien que varios cursores no funcionan con algunas DE.
Si agarra globalmente la tecla Alt en Windows, agregar varios cursores con el mouse tampoco funcionará allí.

@sharwell ¿Qué hay de suscribirse al problema además de agregar una reacción?

@jhasse La suscripción pone la notificación en la categoría superior aquí. Responder lo coloca en la categoría inferior:

image

No he tenido ninguna de las soluciones alternativas que he investigado, y realmente quería que lo hicieran. Estoy en Linux Mint Sarah con Cinnamon. Honestamente, la solución más rápida es volver a la configuración de mi átomo. Necesito codificar, no conectar con la configuración del escritorio y cruzar los dedos.

Encontré una solución horrible para este problema (al menos para Windows). Puede instalar AutoHotKey y usar el siguiente script que cambiará solo Ctrl+Click y Alt+Click .

; Switches the Left-Control-Click and Alt-Control-Click shortcut for VS Code.
; Setting for allowing dynamic titles
SetTitleMatchMode, 2

#If WinActive(" - Visual Studio Code")
  ^LButton::Send !{Click}
  !LButton::Send ^{Click}
  Return
#If

Estoy de acuerdo en que los accesos directos del mouse deben estar integrados en VSCode, también confío en ellos a diario. La solución que encontré no funciona al hacer clic en palabras con una definición vinculada.

+1 para aquellos que vienen de sublime / atom y les gustaría usar cmd + clic al agregar varios cursores o cmd + arrastrar para arrastrar cursores

+1 ¡¡¡esto sería genial !!!

+1 miss cmd + clic para nuevos cursores de sublime - prefiero no usar la opción + clic

+1 para poder vincular los botones 3 y 4 del mouse a workbench.action.navigate *

@ChristopherHaws, el [mouse button] no parece estar funcionando estos días. ¿Cuál es la sintaxis exacta del comando? https://github.com/Microsoft/vscode/issues/3130#issuecomment -263780725

@vferko Parece que esta solución se eliminó en algún momento. No estoy seguro de cuando. = /

+1

La incapacidad de volver a vincular los controles del mouse + modificador es un factor decisivo para mí, no puedo usar ni recomendar vscode a personas que aún no son usuarios de VStudio. Esto es muy desafortunado, ya que realmente me gusta la sensación rápida y sólida de vscode. Hasta que encontré este problema, estaba completamente vendido y dispuesto a comenzar el proceso de cambio a vscode.

Remapear la memoria muscular para los modificadores de plataforma más básicos es demasiado para soportar, me quedaré con Atom hasta que esto se solucione. En una Mac: cmd-click agrega a selecciones no contiguas; Alt-arrastrar en una selección copia esa selección; de lo contrario, alt-drag crea selecciones rectangulares. Nota: al crear selecciones rectangulares, el valor predeterminado NO es extender la selección desde el punto de inserción anterior, esa capacidad debe colocarse detrás de una marca de configuración de usuario.

Gracias por todo su trabajo hasta la fecha, ¡vscode es realmente bueno! Me suscribiré a este problema y regresaré a la velocidad de la deformación cuando se resuelva con éxito.

+1, estoy usando vscode en Arch Linux (Openbox), no puedo usar la función de navegación del mouse (atrás / adelante) pero esta función funciona bien en Chrome y en el administrador de archivos PCManFM. Supongo que tal vez la asignación de botones sea diferente en vscode. Entonces, si puedo reasignar la acción del botón, cambiar manualmente su comportamiento, entonces puedo solucionar el problema, sería lo mejor.

Estoy usando vscode en Arch Linux (Openbox), no puedo usar la función de navegación del mouse (atrás / adelante) pero esta característica funciona bien en Chrome y en el administrador de archivos PCManFM. Supongo que tal vez la asignación de botones sea diferente en vscode. Entonces, si puedo reasignar la acción del botón, cambiar manualmente su comportamiento, entonces sería lo mejor.

Lo mejor sería que funcionara fuera de la caja, ¿no crees?

suscríbete a este número para ayudar a subirlo en la cola, gracias

: +1:

También me gustaría tener la opción de volver a vincular los eventos de clic del mouse ... esta opción-clic para varios cursores entra en conflicto con todos mis otros programas ...

De hecho, si solo vincular los botones de avance / retroceso del mouse a workbench.action.navigate ... es un subproblema más fácil, sería genial tener eso como una característica para comenzar

+1 - Tan acostumbrado a hacer clic en controlar la selección de una palabra que esto se está volviendo activamente molesto para mí.

También me gustaría ver eso. Me gustaría reemplazar "ir a la definición" por "ir a la definición del tipo" en cmd + clic

Otro candidato es poder personalizar el gesto de deslizamiento que acabamos de presentar a través de https://github.com/Microsoft/vscode/issues/4803

+1 para poder vincular los botones 3 y 4 del mouse a workbench.action.navigate *

No creo que elija usar VSCode hasta que se resuelva este problema.

No sé si esto está relacionado, pero realmente quiero deshabilitar ctrl + clic en enlaces ... actualmente, cuando ctrl + clic en un enlace en un archivo html, abre el enlace en su navegador estándar ... esta "característica" es Realmente un dolor en el culo para mí, siempre quiero copiar un enlace con ctrl + cy cuando lo hago rápido ya tengo ctrl presionado antes de hacer clic en el enlace para seleccionarlo y luego aparece mi navegador y comienza la tragedia :(

+1 ejecutando una VM Linux dentro de mi mac, no puedo reasignar los accesos directos del mouse para que sean más parecidos a los que están fuera de la VM

+1 característica esencial

necesito esto para ir a change.org? :alegría:

Cambie las ventanas de arrastre con Alt para Kubuntu (16.04):
Configuración -> Configuración del sistema -> Administración de ventanas -> Comportamiento de la ventana -> Acciones de la ventana -> Tecla modificadora -> cambiar a "Meta"

¡usar la tecla cmd para agregar múltiples selecciones está funcionando ahora para mac!

gracias a todos !!!

eh @ ajoslin103 esa no era realmente la intención de este número.

Deberíamos intentar encontrar una manera de personalizar la interacción, en lugar de que se nos proporcione un valor predeterminado codificado.

Por ejemplo, cmd + clic sería muy útil para Peek como con la mayoría de los otros editores.

Reducir el impuesto mental, ¡eso es lo que debemos esforzarnos por lograr con los atajos de teclado!

Si bien estoy totalmente de acuerdo con usted en espíritu, este problema singular era lo único que se mantenía alejado de vsCode, he aquí muchas lunas, y tomó tanto tiempo encontrar el problema, encerrado en un problema al final de una cadena puerta marcada: ¡cuidado con el leopardo!)

Estoy de acuerdo en que una forma de personalizar la interacción del mouse + tecla sería fabulosa, todavía estoy frustrado por el comportamiento de la extensión de selección.

Pero al menos finalmente estoy aquí, abriéndome camino lentamente a través del bosque de extensiones y opciones tratando de volver a la [casi] 'edición irreflexiva' que tuve con mi editor anterior.

Por favor perdona mi visión de túnel

¿Cómo va esto?
¿Cuándo podemos esperar el lanzamiento de esta función?
¡Me encantaría cambiar el atajo como ctrl + maj + mouse para la selección de bloques a alt + mouse!

+1, realmente quiero deshacerme del enlace "Ctrl + Click => ir a la definición".

También quiero deshacerme de ctrl, hacer clic en ir a la definición y, en su lugar, usarlo para seleccionar la palabra completa. Esta es una característica que utilizo constantemente en vs y la usaría todos los días en vs code.

¿cómo no ha salido esto todavía ...?

@lopugit este es un proyecto de código abierto, no dude en contribuir a él.

Como alguien que contribuye en una serie de proyectos, no ayuda en absoluto cuando la gente publica cosas como "¿por qué no está esto en la biblioteca?" "¿Por qué no existe esto? ¡Es necesario!", etc.

Proporcionar comentarios constructivos junto con +1 para el problema de raíz es lo que ayudará a impulsar el desarrollo.

No tengas derecho, el código fuente está abierto, saca tu teclado y envía un PR si es tan urgente.

Para que conste, estoy totalmente a favor de esta función, es simplemente molesto ver que la gente demanda funciones para software gratuito.

@oshalygin

perdón por haber sonado titulado, ahora son las 7 am y he estado despierto toda la noche trabajando en mis propios proyectos, no me di cuenta de que esto era de código abierto, pensé que era un proyecto de microsoft.

Mi comentario solo proviene de la perspectiva de, cielos, ctrl + clic no es un atajo editable. ¿Sientes?

Estoy trabajando en algunas cosas para contribuir a la comunidad de código abierto, solo quería agregar mis pensamientos a esta función aquí, cada comentario puede verse como un buen discurso ... algo así como ...

Idk, estoy super cansado, paz;)

@lopugit Bueno, ya que estamos en GitHub aquí, sí, esto es de código abierto. 😅

@Tyriar Me doy cuenta de que esto está en la lista de

Sin sucursal AFAIK. Ha habido un pequeño movimiento sobre esto; la configuración editor.multiCursorModifier permite intercambiar el cursor múltiple y seguir modificadores de definición / enlace. No hay un archivo similar a keybinding.json para los enlaces del mouse, aunque imagino que se verá la solución. Creo que esto está principalmente bloqueado en @alexandrudima, liberando a quienes tienen muchas prioridades en competencia.

Me gustaría usar el mouse 4 + 5 (botones laterales) para "navegar hacia atrás" + "navegar hacia adelante". Ya funciona en el navegador y otros IDE. Por lo tanto, agregue atajos del mouse =)

+1

¿Todos han leído esta solicitud de función?
+1

En serio, agregue soporte para los botones del mouse en los atajos de teclado.

¡Viene en 2 años ahora! ¿Por qué todavía no es una característica? Permítanos usar los botones del mouse en la vinculación de teclas

Me pregunto si sería fácil agregar un cambio temporal para permitir la selección de columnas en Linux, de modo que Ctrl + Alt + clic (solo siguiendo la sugerencia de krux02) también realiza la selección de cuadro / columna además de Alt + clic, que está bloqueado por los administradores de ventanas de Linux? Si se agrega la personalización del botón del mouse en algún momento, este cambio temporal podría eliminarse, pero mientras tanto aliviaría la mayor frustración que he tenido con el uso de VS Code en Linux.

¿Cuánto tiempo debemos esperar para esta función BÁSICA? ¿Otro año? ¿Es una característica COMÚN BÁSICA CORE como ENTRAR o BORRAR?
Dios mío, qué está pasando ... La gente volará a Marte, y lucharemos por los atajos de teclado del mouse. Todos los demás editores tienen esta función a bordo. Pero el chico nuevo y genial de la cuadra está detrás ...

Estoy de acuerdo, esta es una característica muy básica, no entiendo qué está pasando ...
NECESITAMOS esta característica

¿Se dan cuenta de que están usando una herramienta completamente gratuita a la que pueden contribuir, verdad? No creo que nadie en la comunidad esté en contra de un RP con esta "característica básica" 📄

@Thargarius @DoCode

Si mal no recuerdo, este problema es causado por Electron, no tanto VS
Base de código en sí. Entonces, una solución requeriría parchear el código fuente de Electron
methinks = P

El lunes 4 de diciembre de 2017 a las 10:49 a. M. Oleg Shalygin [email protected]
escribió:

Ustedes se dan cuenta de que están usando una herramienta completamente gratuita que pueden
contribuir a la derecha? No creo que nadie en la comunidad esté en contra de
PR con esta "función básica" 📄

@Thargarius https://github.com/thargarius @DoCode
https://github.com/docode

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/Microsoft/vscode/issues/3130#issuecomment-349064344 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AD2MVQ9h6MIa7CdtLZcXTrvt5XxYn1-9ks5s9D6ygaJpZM4HdSg8
.

No soy un desarrollador perfecto de Atom / Electron.
¿Alguien aquí, quién puede solucionar o empezar a solucionar este problema?

Creo que aquí está el colgante Atom.

+1

Me gustaría presionar Mouse2Click (botón central del mouse / rueda de desplazamiento) para navegar a la declaración en lugar de Ctrl-Mouse1Click

Me gustaría presionar Mouse2Click (botón central del mouse / rueda de desplazamiento) para navegar a la declaración en lugar de Ctrl-Mouse1Click

La capacidad de hacer clic con el botón central para abrir la definición de un método o variable estaría bien, es algo a lo que me acostumbré en el IDE de GameMaker.

Sería genial tener la opción de desactivar la función de pegar doble clic del botón central del mouse.

Si VSCode tuviera capacidades de macro, esta característica probablemente podría agregarse a través de una macro.

¡POR FAVOR vaya al número 4490 y vote a favor (haga clic en el botón de aprobación) y agregue su apoyo!

https://github.com/Microsoft/vscode/issues/4490

Me gustaría usar el trackpoint en mi thinkpad para desplazarme al presionar ctrl (como emulación de clic central, ubnutu)

¿Es posible usar Mayús + comando y clic del botón izquierdo del mouse en lugar de comando + clic del botón izquierdo del mouse o tenemos que enviar esta función primero?

Creo que esta sería una buena característica, me gustaría enlazar ctrl + rueda del mouse para desplazarse hacia adelante y hacia atrás en el tiempo

Creo que esto es lo que estoy buscando ...

Realmente solo quiero poder usar los botones 'atrás' y 'adelante' en mi mouse para equiparar las acciones de atajo de teclado 'Regresar' y 'Avanzar' respectivamente. Parece que en este momento no puedo asignar los botones del mouse a estos. ¡Incluso me conformaría con una solución codificada para poder saltar mi código!

Hola @nerael , totalmente de acuerdo. Resolví este problema enlazando los botones de mi mouse para emitir atajos de teclado que realizan las acciones 'Regresar' y 'Avanzar' en VSCode. Es fácil hacer esto en el software de Logitech, pero hay formas de hacerlo en Windows / OSX incluso si no es compatible con el fabricante del dispositivo.

Tenga en cuenta que esto es solo una solución personal y el soporte a nivel de software sería ideal, pero esto puede funcionar mientras tanto.

@jsonMartin

Gracias ... esto me llevó a una solución. lo aproximé de esta manera
https://thecrumb.com/2015/06/03/xbindkeys/index.html

EDITAR: este también fue un tutorial muy útil sobre la configuración de xbindkeys
https://blog.hanschen.org/2009/10/13/mouse-shortcuts-with-xbindkeys/

Mi archivo ~ / .xbindkeysrc es:

# VSCODE MOUSE BINDINGS FOR CODE JUMPING
# 'Go Back'
"xte 'keydown Control_L' 'keydown Alt_L' 'key minus' 'keyup Alt_L' 'keyup Control_L'" 
b:8
# 'Go Forward'
"xte 'keydown Control_L' 'keydown Alt_L' 'key equal' 'keyup Alt_L' 'keyup Control_L'" 
b:9

Esto se debe a que mi 'Avanzar' se ha vinculado a ctrl + alt + igual. b: 8 yb: 9 son códigos de teclas para los botones de mi mouse para avanzar y retroceder.

EDITAR: en caso de que no esté claro, estoy usando la última versión de Ubuntu LTS al momento de escribir este artículo, no Windows ni OSX

Solo quiero poder deshabilitar los botones de mi mouse en Visual Studio Code para que no hagan nada, ya que uso uno de ellos para mi tecla presionar para hablar.

Entonces, ¿por qué aparentemente no hay respuesta o progreso aquí? (No he visto ningún comentario de un colaborador, lo siento si eso no es cierto)

¿Es una cuestión de electrones aguas arriba? ¿No es simplemente una característica importante en la hoja de ruta?

+1

Hola @ mhh1422, solo un recordatorio amistoso de que si publicas sobre un problema de github, todas las personas suscritas recibirán un correo electrónico.

Si no tiene nada constructivo que agregar pero desea aumentar la conciencia, utilice las reacciones.

Para todos los que envié spam con este mensaje, ❤️

@philiiiiiipp Aunque me gusta saber cuánto tiempo está tomando esto

+1

+1

@lopugit @ Nemesis19 @DeadByElpy

Agregue el +1 al problema original en la parte superior.

Puede recibir notificaciones sin comentar presionando el botón "Suscribirse" en la parte superior derecha de esta página.

Esto podría ser útil cuando desee vincular el comando de retroceso con el botón de retroceso en el mouse, este acceso directo se usa ampliamente en el navegador web y creo que Visual Studio también lo tiene.

Sería realmente bueno usar "Alt + Scroll Up / Down" para incrementar / disminuir números o recorrer enums o algo como esto.

maldita sea, necesitamos poder usar los botones del mouse en las combinaciones de teclas ... resolvería muchos problemas como poder reemplazar los atajos de basura como {
"key": "ctrl + pagedown",
"comando": "workbench.action.nextEditor"
}
con ctrl + rueda del mouse hacia abajo, etc.

... hecho el cambio de pestaña con la rueda del mouse ... mucho mejor.

por favor, adelante con esto, ya es hora.

Espero que esta tarea todavía esté sobre la mesa. Me gustaría modificar el combo SHIFT-ALT-LeftMouse "selección de columna" en solo ALT-LeftMouse ...

Estoy cambiando de los productos JetBrains debido al trabajo e intento adaptar VSCode tanto como sea posible a mi flujo de trabajo anterior.

Usé alt+leftclick en cualquier texto resaltado para llegar al menú QuickFix . En el otro editor, serían cosas como corregir errores de ortografía, corregir importaciones faltantes, simplificar código, etc. Todas estas acciones están ocultas bajo el menú de clic derecho, ahora masivo.

Dado que uso un ratón por discapacidad, esto se vuelve más difícil de lo normal, ya que ahora tengo que hacer un movimiento extraño para lograr las mismas acciones.

Tener la capacidad de personalizar tales cosas mejoraría enormemente mi comodidad.

Espero que alguien llegue a esto.

¡Felices vacaciones!

@silentwarrior si está en Windows, como solución antes de que se implemente en vscode, puede usar algo como autohotkey

Como hallazgo de referencia se presenta vscode en la última actualización. La mayoría de las personas se acostumbraron a usarlo presionando ctrl + clic. Intenté lo mismo pero no es compatible.
Se agradecería que se introdujera pronto el atajo del mouse.

Sería muy útil poder mezclar las teclas del mouse y del teclado de forma nativa en keybindings.json.
También otra cosa muy útil sería poder vincular múltiples combinaciones a un solo comando, este último es bastante fácil, supongo.

@ mortinger91 ya es posible vincular varias teclas al mismo comando, no sé a qué te refieres.

@ mortinger91 ya es posible vincular varias teclas al mismo comando, no sé a qué te refieres.

¿Lo es? No he realizado una investigación exhaustiva al respecto, pero parece que no puedo encontrar ningún método como
<br i="9"/> {<br i="10"/> "key": "key1","key2",<br i="11"/> "command": "do something"<br i="12"/> }<br i="13"/>
o una sintaxis similar para usar en settings.json, a menos que se refiera a algún tipo de macro o use una extensión que no conozco.

@ mortinger91 tienes que hacerlo con múltiples claves, así:

[
   {
      "key": "combination1",
      "command": "command1"
   },
   {
      "key": "combination2",
      "command": "command1"
   }
]

@ mortinger91 tienes que hacerlo con múltiples claves, así:

[
   {
      "key": "combination1",
      "command": "command1"
   },
   {
      "key": "combination2",
      "command": "command1"
   }
]

si, gracias. Ya lo estaba intentando, pero con un comando incorrecto, confirmó que funcionaba.
Aún así, las teclas del mouse se enlazan

Este problema (https://github.com/Microsoft/vscode/issues/5402) ya se ha mencionado anteriormente en el hilo, pero alguien aquí preguntó si este problema no se estaba moviendo debido a un problema anterior con Electron, y hasta Puedo ver que este problema no está relacionado con eso, ya que Atom tiene una extensión que permite este comportamiento.

Si este comportamiento pudiera replicarse con un complemento en Atom, ¿sería posible en vscode?

¿Alguien aquí ha considerado portar la extensión Atom a vscode?

Estaba tratando de vincular "Regresar" al botón 3 de mi mouse, terminé configurando una mejor herramienta táctil para invocar el atajo de teclado cuando presiono el botón del mouse en VSCode. Mientras tanto, podría ser una solución útil. 👍

Me di cuenta de que el desplazamiento es lento, busqué una configuración para cambiarlo y noté "sensibilidad de desplazamiento rápido" y que "Alt" es en realidad un multiplicador de velocidad de desplazamiento. Busqué formas de cambiar "Alt" a "Super" en este caso particular, pero lamentablemente no pude encontrar nada. :(

Estaba tratando de vincular "Regresar" al botón 3 de mi mouse, terminé configurando una mejor herramienta táctil para invocar el atajo de teclado cuando presiono el botón del mouse en VSCode. Mientras tanto, podría ser una solución útil. 👍

¿Cómo haría esto? Quiero evitar que el botón 4 del mouse invoque "Regresar" en Visual Studio Code, pero aún quiero poder usarlo en otros lugares.

@Tyriar esto ha estado abierto durante 3 años, ¿cómo podemos ayudar a impulsar esto? :)

@ george-cz Quiero vincular Go back al botón 3 de mi mouse, ¿cómo haría esto?

@stereokai de acuerdo con una charla reciente dada por @egamma , la forma es votar el problema aquí para que salga a la superficie.

@ foxx1337 ¿te refieres a reaccionar con 👍 en el comentario del problema?

tiene como casi 500 pulgares arriba ... cuántos malditos votos @egamma necesita ...

¿Por qué no contratar a personas que tengan idea de lo que es necesario hacer para mejorar el flujo de trabajo?

Habiendo analizado esto un poco, esto es lo que creo que son los problemas:

  • La forma "correcta" de hacer esto sería recoger los eventos de cromo / electrón. No creo que estén expuestos. (Tenga en cuenta que esta es una característica solicitada desde hace mucho tiempo en Electron con ellos básicamente encogiéndose de hombros y pasando apuntando a la siguiente capa en la pila tecnológica).
  • La siguiente forma de hacerlo sería escribir paquetes nativos de npm que puedan recoger estos eventos 'de lado' y publicarlos. Esto se puede hacer en los 3 sistemas operativos (de formas muy diferentes) y caer en la categoría de 'hackeo desagradable'.
  • Y el verdadero espectáculo: las extensiones no pueden hacer esto ya que el código debe ejecutarse "en proceso" de la aplicación principal de VSCode; y es poco probable que MS acepte (imo) y parche que implemente esto (ver 'desagradable' arriba).

Entonces ... ¿Podría hacerse en una extensión? En Windows, sí, pero requeriría una inyección de DLL pirateada; en este punto, es mucho mejor instalar alguna utilidad específica del sistema operativo de terceros que pueda asignar los botones adicionales del mouse a las pulsaciones de teclas.

Así que podría estar equivocado en cualquiera de los puntos anteriores, pero esa es mi suposición en cuanto a la situación.

Oh Dios mío. Así que una característica simple, desde el lado de Windows, pero tan complicada ...

Han pasado 3 años desde que comenzó el hilo, y el código vs parece que prácticamente no obtuvo ninguna característica / cambios ergonómicos durante todo el tiempo.

La gran mayoría de los comentarios aquí son, en el mejor de los casos, no constructivos. ¿Podrían los propietarios de repositorios considerar bloquear este problema?

@KevinMGranger Las malas actitudes no invalidan la necesidad o relevancia de este tema.

@stereokai Lo sé, es uno de mis principales deseos para VS Code. Pero la discusión aquí no está ayudando realmente a implementar la función. Bloquear no significa WONTFIX.

@KevinMGranger Desafortunadamente, bloquear este problema también evitará : +1: reacciones a la primera publicación, lo que hace que se desconozca el número real de personas interesadas en este tema (aunque, dado el número actual de reacciones, tal vez esto no sea necesario, pero aún prefiero que siga abierto) ..

Si está en Mint, puede deshabilitar el Alt Click yendo a Configuración del sistema, Ventana, Comportamiento y luego cambiando la "Tecla especial para mover y cambiar el tamaño de la ventana". De esta manera, alt + clic funcionará en vscode.

Para el registro, la publicación de

+1, un clic alt-derecho para copiar rutas relativas sería increíble. (incluso mejor sería la capacidad enlazable de arrastrar al archivo actual para insertar relpath, pero eso es otro asunto)

+1, un ctrl + clic derecho para ver la definición sería conveniente para leer el código fuente.

en Windows utilizo ctrl + clic para seguir el enlace y alt + clic para agregar el cursor
pero en linux tengo que cambiarlo a alt pero alt + clic para seguir los enlaces no funcionan.

Me encantaría poder asignar el botón central del mouse para que sea "pegar en la ubicación del cursor del mouse" en mi Mac. Estoy acostumbrado a este comportamiento de mi linux boxen.

Hacia los desarrolladores, ¿pueden etiquetar este problema como un error o algo similar? Estas etiquetas le hacen sentir que es totalmente opcional resolver este problema, pero este problema es un problema de compatibilidad importante que hace que características importantes de VSCode sean totalmente inutilizables para algunas plataformas.

Esto se mencionó en algún lugar de los hilos duplicados, creo. Para que conste, lo diré aquí también.

Me encontré con este hilo porque me preguntaba si debería comprar un mouse con más botones para poder enlazar cosas en Code. Por ejemplo, mapear 3 botones laterales para pasar y entrar / salir mientras se depura. Estás usando el mouse para explorar lo que sea que esté en la barra lateral de depuración, por lo que sería muy útil poder avanzar en la ejecución con él.

Entonces, además de volver a enlazar el clic izquierdo / derecho, volver a enlazar otras entradas del mouse también sería valioso.

+1. Esta funcionalidad es realmente necesaria para poder admitir ctrl + clic para la selección de palabras. Ctrl + Click no es ir a la definición, no importa cuántas personas piensen que debería ser. Esta característica por sí sola es la razón por la que no puedo usar VSCode aunque quiera.

Desde una perspectiva de rendimiento, me gustaría vincular "clic del medio" a "Ir a definición". Webstorm tiene esto por defecto y hace que navegar por el código sea mucho más fácil.

Cuando me refiero al rendimiento, me refiero al rendimiento del desarrollador.

Desde una perspectiva de rendimiento, me gustaría vincular "clic del medio" a "Ir a definición". Webstorm tiene esto por defecto y hace que navegar por el código sea mucho más fácil.

Siempre que este sea un escenario, por mí está bien. En mi sistema interferiría con el mecanismo de pegado.

Creo que en este punto no tiene sentido profundizar en las discusiones. Los desarrolladores dejaron bastante claro por ignorancia que no les importa este problema.

@ krux02 siempre puedes contribuir con código en lugar de snark. O simplemente abstente de comentar.

¿Estaría motivado para trabajar en proyectos FOSS si sus usuarios se comportaran como usted? Sea civilizado, esos "imbéciles" al otro lado del rastreador de problemas son personas como usted y yo, y ellos también tienen sentimientos.

@jrial , trabajo en software gratuito de código abierto y también contribuyo a otros proyectos, puedes verificarlo visitando mi perfil de github. Y sí, también tengo que lidiar con usuarios molestos. Sin embargo, esto no es solo sarcasmo. Si miras mis comentarios anteriores, he proporcionado comentarios positivos en el pasado. Pero después de más de 3 años de silencio por parte de los desarrolladores y sin mejoras. Al menos podrían disculparse y explicar por qué es difícil arreglar esto, pero no, no hay ninguna reacción. Mi única conclusión es que a los desarrolladores simplemente no les importa.

Y no, tampoco estoy contribuyendo a solucionar esto. La razón número 1 es que no estoy usando VSCode debido a problemas como este.

Busqué brevemente solucionarlo el año pasado, pero no pude averiguar cómo compilar y ejecutar VS Code localmente desde la fuente para poder depurarlo y probarlo. Realmente solo uso VS Code para algunos proyectos secundarios pequeños, por lo que el tiempo que tengo para realizar un cambio como este es limitado. No me sorprendería encontrar a una o más personas interesadas en este tema en el mismo barco.

Queremos presionar Ctrl + clic para seleccionar la palabra en lugar de ir a la definición, ¡pero esta capacidad no existe!

La integración completa del mouse sería increíble. Cualquier combinación de Ctrl / Shift / Alt más los botones del mouse más comunes (clic derecho / izquierdo, desplazarse hacia arriba / abajo, clic medio / derecho / izquierdo y el botón habitual del mouse 4/5 / adelante / atrás) sería increíble.

Cerca de 4 años desde la apertura del boleto. ¿Nada en el horizonte todavía?

¿Ha habido una regresión con respecto al # 71318 ya que atrás / adelante no parece funcionar en 1.39 en MacOS? También se puede verificar con Linux.

¡Deberían poner esto como una resolución de año nuevo 2020! Han pasado casi 4 años y todavía no se admite la combinación de teclas de clic.

Debido a esto, no creo que pueda defender VSCODE o motivar a la gente a usar más: /

Realmente me gustaría usar el botón central del mouse de una manera más adecuada, para abrir el manual, por ejemplo, pero no para pegar un texto.

¿Alguna actualización de cuándo se habilitará esta función?

Realmente me gustaría usar el botón central del mouse de una manera más adecuada, para abrir el manual, por ejemplo, pero no para pegar un texto.

No me importaría, siempre que siga siendo opcional y no haya atajos estándar, use el botón central del mouse en cualquier lugar donde se pueda pegar texto. Esto para no alienar a los usuarios de * nix a quienes el mouse medio equivale a "pegar desde el búfer secundario", y que lo han comprometido con la memoria muscular después de años de uso.

Creo que este problema consta de dos, en realidad:

  1. Agregar más personalización sobre los atajos, es decir, por ejemplo, permitir definir atajos personalizados para acciones como la selección de palabras.
  2. Permitir que los "atajos de teclado" no sean solo atajos de teclado sino también atajos del mouse, es decir, solo para demostrar, en lugar de asignar F5 para iniciar el comando de depuración, poder asignar Ctrl + Shift + Clic medio del mouse para eso.

Si esos dos se resuelven, resolveremos este problema por completo.
Sin embargo, quiero abordar este problema:
Puedo manejar el segundo problema por mí mismo. Pero para el primero, necesito una lista de más atajos que desee. Y como creo que este es un tema aparte, contribuiré solo con el segundo problema ahora mismo. Creo que deberíamos dividir este tema.

Como me comprometí, implementé la segunda parte: ahora en mi rama puede asociar los botones del mouse a los comandos, incluidas las teclas modificadoras y los acordes.

Antes de enviar una solicitud de extracción, quiero que me envíe una lista de acciones comunes que desea poder asociar con el mouse.

El proceso es realmente simple: para cada acción, extráigala de estar incrustada en el código para que sea un comando separado, (si es necesario) agregue nuevos contextos para marcar cuándo este comando está habilitado y finalmente defina un acceso directo predeterminado para él, en lugar del anterior, usando el mouse.

Esperaré alrededor de una semana y luego enviaré un PR con los comandos recopilados. No quiero recibir más acciones después de esta semana (también necesito algo de tiempo para mí), pero puede llevarme algún tiempo implementar las que ya recopilamos. Con suerte terminaré pronto, veo la esperanza en tus ojos 👀

Sin embargo, por supuesto, puede mencionar más acciones; siempre que se acepte el RP, será relativamente fácil ajustar nuevos comandos. Y siempre pueden contribuir ustedes mismos, como siempre, ¡las contribuciones son bienvenidas!

Esto es lo que tengo por ahora, está invitado a agregar el suyo. Comenta este tema.

  • Ir a la definición (Ctrl + Clic)
  • Seleccionar palabra completa (doble clic)

Una nota sobre "seleccionar palabra completa": no la revisé (próximamente, con suerte), pero aunque me parece bastante fácil, incluso vital, duplicar eso como un comando, es decir, para proporcionar un comando que sirva al lado y se puede asignar (por ejemplo) como se solicita aquí a Ctrl + Click, creo que es difícil y tal vez incluso imposible extraer eso, es decir, poder asignar el doble clic para otro propósito. Eso es porque (de nuevo, todavía no lo he verificado) esta función es parte del editor principal y (quizás, de nuevo) puede requerir refactorizar cientos de líneas de código. Sin embargo, lo intentaré y te informaré de los resultados siempre que estén disponibles 🎉 🎉 🎉

¡Muchas gracias!

Yo agregaría:

  • Definición de inspección (para agregar como Shift-Ctrl-Click, por ejemplo)
  • Revisar referencias (Ctrl-Click ya funciona si el cursor está en la definición de la variable)

@benoitmasson ¿Existe un atajo para "Definición de Peek"? No conozco ninguno (usando el mouse, por supuesto).

  • botón central = "pegar portapapeles" o preferiblemente "mover el cursor a ese punto y pegar el portapapeles"
  • botón izquierdo arrastrar sobre texto = "seleccionar y copiar texto al portapapeles"

@benoitmasson Después de investigar un poco, descubrí que el acceso directo de las "referencias a escondidas" no es real; el comando "ir a la definición" hace lo que describiste cuando se llama en la línea de declaración. Si esto es un problema, es con el comando, no voy a manejar eso.

Parece que no entiendes: no voy a cambiar las combinaciones de teclas predeterminadas. Creo que ni siquiera Microsoft aprobará tales relaciones públicas. Lo que HAGO es extraer acciones de comandos en lugar de comportamientos integrados, por lo que USTED puede crear fácilmente sus propios accesos directos del mouse con ellos.

De acuerdo, no estoy seguro de entender su punto con precisión, pero intentaré aclarar mi comentario. Probablemente no todo será relevante para ti, así que elige lo que quieras allí:

  • La definición de Peek y las referencias de Peek ya son comandos de código VS (consulte https://code.visualstudio.com/Docs/editor/editingevolved#_peek), por lo que tal vez no desee tratar con ellos específicamente (por lo que entiendo, su PR permitirá cambiar de las combinaciones de teclas del teclado a las del mouse, lo cual es genial).

  • Más precisamente, me encantaría poder tener un enlace de mouse para ir a la definición Y Peek definición (ambos son comandos, ambos ya son posibles con el mouse desde la versión 1.43 pero tienes que elegir uno, me gustaría ser capaz de hacer ambas cosas con solo un modificador de teclado + clic)

  • Finalmente, el comando de referencias de Peek ya tiene un enlace de mouse cuando Ctrl-Click en la definición (no necesito nada allí, solo para informarle)

Y si todo esto está fuera de alcance, no se moleste y disculpe el ruido ...

Para obtener referencias, creo que, dado que ctrl / cmd- "clic izquierdo" ya está vinculado a eso (pero codificado), probablemente debería cambiarse de modo que ctrl / cmd- "clic izquierdo" sea un enlace predeterminado con este nuevo PR pero se puede cambiar.

Me imagino que esto debería ser cierto para cualquier asignación existente que actualmente tenga atajos de mouse codificados.

Personalmente, me gustaría reprogramar los otros botones de mi mouse. Botones como atrás, adelante, desplazamiento horizontal y botón central del mouse.

@AndreasBackx Clic en el botón central: ya implementé esta funcionalidad.
Atrás, adelante, no conozco estos botones. ¿Puedes explicarme por favor?
Desplazamiento horizontal: si te refieres a desplazarte con la rueda del mouse, entonces no puedes personalizarlo con mi implementación, y no quiero implementar esto, porque a diferencia de otras funcionalidades, la rueda del mouse requiere una comunicación continua entre el servicio de combinaciones de teclas y el comando para ser ejecutado, es decir, no solo cuando termine el scroll debemos llamar al comando, sino también en el medio. Introducir esto, en mi humilde opinión, requeriría cambios en la API para permitir dicha comunicación (de hecho, un nuevo tipo de comando que afecta a los nuevos métodos para registrarlo e invocarlo, incluso nuevos protocolos, no es tan agradable), y no quiero entrar en este tema. Esta es también la razón por la que no implementé el arrastre general del mouse, es decir, mi RP permite personalizar el arrastre sobre el texto del editor, o la selección, pero no el arrastre general como el del explorador de archivos cuando arrastra un archivo a una carpeta. , porque este tipo de arrastre requerirá, nuevamente, una comunicación continua para proporcionar la retroalimentación visual al usuario (en mi ejemplo, el nombre del archivo que se arrastra). Sin embargo, si hay comentarios positivos de la comunidad sobre esas capacidades, acepto reconsiderar mi decisión, pero dentro de un tema y discusión por separado con un empleado de Microsoft (debido a los cambios de API).

@ ChayimFriedman2 Los botones de avance y retroceso son botones adicionales que se encuentran en algunos ratones, generalmente debajo del pulgar. Estos aparecen como botones adicionales. Algunos ratones tienen una rueda de desplazamiento adicional en lugar de estos botones o además de ellos. Algunos tienen incluso más botones.

El desplazamiento no debería requerir nada diferente a los botones normales del mouse, ya que el sistema operativo ve cada clic discreto de la rueda de desplazamiento como una presión de botón. La rueda de desplazamiento solo agrega 2 botones adicionales, que emiten señales cuando se gira la rueda. Por ejemplo, en Linux, xev informa lo siguiente cuando se desplaza hacia abajo una sola muesca:

ButtonPress event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417460611, (103,113), root:(1285,747),
    state 0x10, button 5, same_screen YES

ButtonRelease event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417460611, (103,113), root:(1285,747),
    state 0x1010, button 5, same_screen YES

mientras que el desplazamiento hacia arriba se ve así:

ButtonPress event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417468067, (103,113), root:(1285,747),
    state 0x10, button 4, same_screen YES

ButtonRelease event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417468067, (103,113), root:(1285,747),
    state 0x810, button 4, same_screen YES

Compare con un clic normal del botón izquierdo del mouse:

ButtonPress event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417598246, (135,115), root:(1317,749),
    state 0x10, button 1, same_screen YES

ButtonRelease event, serial 38, synthetic NO, window 0x9800001,
    root 0x255, subw 0x0, time 1417598297, (135,115), root:(1317,749),
    state 0x110, button 1, same_screen YES

@jrial ¿Puedes decirme cuáles son los códigos MouseEvent.button para atrás y adelante?

@jrial Y si puedes, dijiste que hay más, por favor envíame una lista de nombre / código en el navegador.

@jrial Pero no tengo planes de implementar ruedas. También me preocupan los impactos en el rendimiento de dicha función: el desplazamiento es una operación rápida, a diferencia de hacer clic con el mouse y presionar teclas. Eso significa que tendremos que activar el comando muchas veces.

@jrial ¿Puedes decirme cuáles son los códigos MouseEvent.button para atrás y adelante?

No soy un tipo de JS, pero una búsqueda rápida parece indicar que accede a las ruedas a través de WheelEvent. Ver https://www.w3.org/TR/DOM-Level-3-Events/#events -wheelevents

En cuanto a los botones de avance y retroceso, consulte https://www.javascripture.com/MouseEvent y https://www.w3.org/TR/DOM-Level-3-Events/#dom -mouseevent-button

@jrial ¿Puedes decirme cuáles son los códigos MouseEvent.button para atrás y adelante?

Mira esto, menciona los botones de avance y retroceso: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button

Ir a implementación sería excelente para tener un atajo de mouse. https://code.visualstudio.com/Docs/editor/editingevolved#_go -to-deployment

Obviamente, el escenario ideal es si los accesos directos del mouse se pueden configurar para usar cualquier botón y / o combinación de teclas. Si eso no es posible, en mi opinión, sería una pena que un atajo requiriera ciertos botones del mouse que no siempre están disponibles.

Creo, y todos mis colegios, que el comportamiento predeterminado de Visual Studio 20xx (Ctrl + Click) sería una gran mejora: seleccione la palabra subyacente debajo del cursor y cuando se mueva hacia adelante o hacia atrás también se seleccionan las siguientes palabras.

Me gustaría volver a mencionar: TENERLO EN CUENTA: NO VOY A CAMBIAR EL COMPORTAMIENTO ACTUAL .

¿Quieres diferentes atajos de los predeterminados? ¡Por supuesto! Cree su propia extensión de combinación de teclas (si lo desea
para compartirlo con otros, de lo contrario, simplemente cambie su keybindinbgs.json o use el editor de keybinding).

El uso de atajos del mouse será posible gracias a mi trabajo, pero los predeterminados no se cambiarán. A los desarrolladores no les gustan los cambios.

Creo que, dado el título de la solicitud, la mayoría de las personas que siguen esto solo quieren la capacidad de modificar el comportamiento del clic, y están proporcionando ejemplos de lo que se le dará a ese comportamiento en sus configuraciones.

Sé que eso es lo que esperan mis publicaciones / solicitudes.

-
Alan Hoyle - [email protected] - alanhoyle.com


De: Chayim Refael Friedman [email protected]
Enviado: sábado 21 de marzo de 2020 1:56:19 p.m.
Para: microsoft / vscode [email protected]
Cc: Alan Hoyle [email protected] ; Comentario [email protected]
Asunto: Re: [microsoft / vscode] Permitir la personalización de los atajos del mouse (# 3130)

Me gustaría volver a mencionar: TENGA EN CUENTA: NO VOY A CAMBIAR EL COMPORTAMIENTO ACTUAL.

¿Quieres diferentes atajos de los predeterminados? ¡Por supuesto! Cree su propia extensión de combinación de teclas (si lo desea
para compartirlo con otros, de lo contrario, simplemente cambie su keybindinbgs.json o use el editor de keybinding).

El uso de atajos del mouse será posible gracias a mi trabajo, pero los predeterminados no se cambiarán. A los desarrolladores no les gustan los cambios.

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub https://github.com/microsoft/vscode/issues/3130#issuecomment-602079576 , o cancele la suscripción https://github.com/notifications/unsubscribe-auth/AACGX4ZLQHZA2FMDCUYI3DTRIT5UHANCNFSM4B3VFA .

@alanhoyle ¿Qué quieres decir de mí? (o solo quieres mencionar)

Me he enfrentado a un pequeño problema: si alguien puede ayudar, seré muy feliz.

Al principio, ya vi que no puedo vincular comandos al doble clic izquierdo o derecho del mouse.

¿Por qué? porque no podemos diferenciar un solo clic y un doble clic. Consulte https://stackoverflow.com/questions/5497073/how-to-differentiate-single-click-event-and-double-click-event. El botón derecho es el más problemático: activará el menú contextual. Pero también la izquierda puede actuar sobre botones, etc.

Como se sugiere en la respuesta SO relacionada (yo también pensé en eso), puede usar un tiempo de espera. Pero eso no se puede personalizar para que coincida con el tiempo de espera del SO del doble clic.

Me fui con dos opciones:

  • Cuando se dblclick evento
  • Usando un tiempo de espera, como pensé. Este enfoque tiene dos problemas:

    • El tiempo de espera debe coincidir con la configuración del sistema operativo. Esto se puede solucionar debido a que estamos en Node.js y podemos comunicar el sistema operativo (a diferencia de los js que se ejecutan en el navegador), pero no conozco una API de Electron que nos brinde el tiempo de espera solicitado. Por supuesto, podemos buscar npm para dicho módulo, o incluso puedo escribir el mío propio, pero este módulo debe ser un módulo nativo (es decir, escrito en C ++) y agregar un módulo nativo a la compilación debe hacerse solo después de discutirlo con un Miembro de Microsoft.

    • Dañará la experiencia de usuario, ya que tendrá que esperar un tiempo por el menú contextual (no tanto tiempo, hasta un segundo, pero eso no perjudicará la productividad).

Mientras tanto (y probablemente seguirá siéndolo), solo aparece un mensaje de error cuando el usuario intenta usar estos atajos. Esto funciona de maravilla.

Quiero abrir una discusión: en su opinión, al ejecutar un atajo de selección (un atajo usa esa selección del mouse), cuando se ejecutó el comando (diga "Copiar"), ¿qué debemos hacer y por qué?

  • Recuperar lo seleccionado anteriormente (no creo que eso sea lo que el usuario espera ver: seleccionan el texto, se resalta y una vez que terminan su selección, la selección salta a otro lugar ...)
  • Permanecer con el texto seleccionado.
  • Mueva el cursor al final de la selección.
  • Permanezca con el cursor en el comienzo de la selección (como el # 1 debido al hecho de que mientras selecciona el cursor está al final).

Me gustaría escuchar tus opiniones 😃

@ ChayimFriedman2 No haría que hiciera nada más. ¿No es posible definir una lista de comandos? Entonces, primero se podría emitir un comando de copia y luego borrar la selección si se desea.

Secundo la capacidad de hacer ctrl + clic realizar "Ir a implementación". De hecho, terminé en este hilo porque quería esta opción. Aparecer un menú preguntando al usuario si desea ver la declaración de importación en ese mismo archivo exacto o la implementación real siempre ha sido mi no. 1 molestia en VScode.

@kasvtv Por ahora estoy usando Ctrl+Alt+z para ir a la implementación, porque puedo hacerlo con una mano (si no me equivoco, el valor predeterminado es Ctrl+F12 ), pero aún así prefiero una Enfoque Ctrl+click o Ctrl+Alt+click .

Por favor, por favor, proporcione una manera de poder usar [ctrl] [clic] para poder seleccionar la palabra completa, como lo hace Visual Studio. No me importa cómo lo hagas, pero por favor, hazlo. Si alguna vez lo ha usado, entonces sabe lo fácil que le hace la vida a un programador. A los programadores como yo les encanta porque cuando agregamos una nueva función, a menudo comenzamos con una plantilla y luego cambiamos los detalles para nuestros propósitos. Con ese fin, terminamos cambiando palabras por otras palabras varias veces en la función. Tener [ctrl] [clic] hace que sea REALMENTE rápido y fácil: para llenar el portapapeles [ctrl] [clic], [ctrl] C ... luego para cambiar una palabra, es solo [ctrl] [clic], [ctrl] V. Lo que lo hace TAN genial es que mantienes presionada la tecla [ctrl] todo el tiempo. Es TAN útil y natural que si lo usa varias veces, rápidamente se vuelve dependiente de él, y cuando se lo quitan, su productividad disminuye mucho.

Por favor.

simplemente proporcione una forma de poder usar [ctrl] [clic] para poder seleccionar la palabra completa, como lo hace Visual Studio.

Simplemente haga doble clic en la palabra. Esa es la memoria muscular que te servirá en muchas más situaciones, ya que es más o menos una forma estandarizada multiplataforma de seleccionar palabras completas. Aparentemente, el equipo de Visual Studio ha elegido una convención algo extraña y, como resultado, ha adquirido un hábito poco convencional. La respuesta no es cambiar todo para que se parezca al valor atípico; la respuesta es adoptar el estándar que funciona en todas partes.

Además: este es un rastreador de problemas para un IDE. Escrito por y para desarrolladores de software. No creo que sea necesario escribir una novela que explique por qué la selección de palabras completas puede ser útil para "programadores como yo". Sabemos... ;)

Simplemente haga doble clic en la palabra. Esa es la memoria muscular que te servirá en muchas más situaciones, ya que es más o menos una forma estandarizada multiplataforma de seleccionar palabras completas. Aparentemente, el equipo de Visual Studio ha elegido una convención algo extraña y, como resultado, ha adquirido un hábito poco convencional. La respuesta no es cambiar todo para que se parezca al valor atípico; la respuesta es adoptar el estándar que funciona en todas partes.

No tengo esta memoria muscular, pero creo que el poder de cambiar cosas como esta es bastante importante. Es difícil para mí creer que hay muchas personas que han estado programando durante un tiempo que no han adquirido uno o dos hábitos no estándar; el mío en particular es el estilo sublime de alt + drag para la selección rectangular. Después de más de un año de usar vscode, he roto la memoria muscular pero aún extraño la funcionalidad.

Mi punto aquí no es decir que mi problema es más importante ni nada por el estilo (aunque no tiene una buena alternativa "estándar" que funcione en un trackpad), pero que una forma estandarizada existente no es realmente un buen argumento por no apoyar algo.

Dicho esto, esto probablemente se esté saliendo del tema, así que es mejor si no golpeamos este tambor mucho más ...

Simplemente haga doble clic en la palabra. Esa es la memoria muscular que te servirá en muchas más situaciones, ya que es más o menos una forma estandarizada multiplataforma de seleccionar palabras completas.

🤨

Ctrl + Click es un gesto que consiste en seleccionar palabras en lugar de caracteres, no una sola palabra . Nunca se puede hacer tanto con un doble clic mucho más lento .

Ya ayudaría tener una forma más agradable de seleccionar palabras sueltas, pero eso es solo una parte de la historia. (Lo que me temo que no se puede solucionar permitiendo solo reasignar atajos, ya que los gestos son más complejos)

Así es ± cómo Visual Studio maneja las cosas:

  • Shift Abajo Inicia la selección del teclado
  • Mouse Button 1 Abajo Inicia la selección del mouse / Si Shift está abajo, establece el inicio de la selección en la ubicación anterior del cursor de edición.
  • Ctrl Abajo + Selección Modifica el comportamiento de selección a palabra por palabra (alternancia dinámica para la selección del teclado)
  • Alt Abajo + Selección Modifica el comportamiento de selección a la columna / cuadro (no se puede desactivar soltando la tecla, pero se puede activar dinámicamente para la selección del teclado)

La esencia de esto es que Ctrl y Alt (y posiblemente otros modificadores / futuros) actúan como modificadores de comportamiento de selección de una manera mayormente consistente, independientemente del origen de la selección (mouse o teclado) .
Obviamente, existen diferencias entre los modos de selección del mouse y del teclado en algunos casos de esquina, pero eso no es algo que notaría a menos que lo esté buscando específicamente.

Pero compare eso con la forma en que VS Code está (profundamente) roto cuando se trata de coherencia entre la selección del teclado y el mouse:

  • La selección de columna será Shift + Alt + Mouse Button 1 con el mouse, pero se convierte en Shift + Ctrl + Alt + Arrow Keys con el teclado. Una llave extra, así como así. 🤷‍♂️
  • La selección de palabras será Shift + Ctrl + Arrow Keys con el teclado, y… ¡Oh, qué lástima, nos olvidamos del mouse! 😐

Parece que solo hay casos especiales en la implementación de selección de texto de VS Code. No sé cómo terminamos con eso, pero eso es realmente malo.

Realmente deseo que las teclas modificadoras de selección se puedan personalizar para solucionar esto, pero dada la antigüedad de todos los problemas relacionados, me temo que eso nunca sucederá ... 😟

@GoldenCrystal VS Code implementa el paradigma común de terminales y áreas de texto, donde el arrastre con un solo clic es por glifo, el arrastre con doble clic es por palabra y, como beneficio adicional, el arrastre con triple clic es por línea.

Cuando estés en Roma, disfruta de las tradiciones locales y ten en cuenta que no Code VS es el más extraño.

simplemente proporcione una forma de poder usar [ctrl] [clic] para poder seleccionar la palabra completa, como lo hace Visual Studio.

Simplemente haga doble clic en la palabra. Esa es la memoria muscular que te servirá en muchas más situaciones, ya que es más o menos una forma estandarizada multiplataforma de seleccionar palabras completas. Aparentemente, el equipo de Visual Studio ha elegido una convención algo extraña y, como resultado, ha adquirido un hábito poco convencional. La respuesta no es cambiar todo para que se parezca al valor atípico; la respuesta es adoptar el estándar que funciona en todas partes.

Además: este es un rastreador de problemas para un IDE. Escrito por y para desarrolladores de software. No creo que sea necesario escribir una novela que explique por qué la selección de palabras completas puede ser útil para "programadores como yo". Sabemos... ;)

Simplemente intente hacer doble clic en cosas todo el día ... encontrará que muchas veces el mouse o su dedo no hicieron lo correcto y usted hizo un solo clic en lugar de hacer doble clic. Luego haga ctrl-clic para abrir una nueva ventana allí mismo, y vea cuántas veces tiene que cerrar la ventana que abrió sin darse cuenta. Un solo clic es 100 veces más fácil y menos propenso a errores.

Soy desarrollador de software desde hace 35 años. Si es realmente tan difícil poner una opción allí que nos permita especificar si queremos este comportamiento o "definición de peek", entonces afirmo que el programa no está muy bien diseñado. ¿Por qué obligarnos a hacer algo que es mucho menos óptimo y más propenso a errores? Simplemente hazlo y deja de discutir al respecto. Microsoft lo hizo tanto para Visual Studio como para SQL Server Management Studio. Nos encanta porque es TAN natural y eficaz.

Estoy TAN cerca de decir "Código F VS" y escribir el mío o encontrar otro editor que admita esto. Eso es lo valioso que es.

Quizás no ve por qué es tan valioso para nosotros porque quizás no ve que es una parte integral de la actividad que hacemos todos los días todos los días. Una de las cosas más comunes que hacen muchos programadores durante todo el día es seleccionar una palabra, copiarla y luego reemplazar otra palabra con ella en otro lugar. Con [ctrl] [clic] para seleccionar la palabra, es REALMENTE eficiente ... manteniendo presionada la tecla [ctrl], simplemente [clic], c para copiar la palabra y [clic] v para reemplazar la palabra de destino. Sin [ctrl] [clic] para seleccionar la palabra, debe hacer doble clic al menos dos veces, una vez para seleccionar la palabra de origen y luego cada vez para seleccionar la palabra de destino. Hacer doble clic es una operación muy propensa a errores. ¿Es realmente tan difícil poner un ajuste de configuración para hacer eso en lugar de "peek definición"? Ya tienes una configuración para apagarlo. ¿Qué tan difícil podría ser?

¿Hay al menos una manera de simplemente deshabilitar la acción ctrl-clic, para que no lo lleve a la definición?

Secundo la capacidad de hacer ctrl + clic realizar "Ir a implementación". De hecho, terminé en este hilo porque quería esta opción. Aparecer un menú preguntando al usuario si desea ver la declaración de importación en ese mismo archivo exacto o la implementación real siempre ha sido mi no. 1 molestia en VScode.

¡Esta! En mi opinión, "ir a la implementación" es mucho más natural cuando se hace como apuntar y hacer clic, siendo una extensión lógica de "ir a la definición", por ejemplo, la forma en que funciona en ReSharper - CTRL + ALT + LMB

¿Todavía no hay una manera de hacer ctrl + clic en Visual Studio?

@thedrean te refieres al código de estudio visual (código VS), ¿verdad? Visual Studio es IDE completamente diferente https://visualstudio.microsoft.com

¿Todavía no hay una manera de hacer ctrl + clic en Visual Studio?

Aún no

+1 Esto tiene que suceder ayer. Busqué en Google cómo eliminar la funcionalidad predeterminada Ctrl + Click porque es lo más frustrante de VSCode, muy decepcionado. Como señaló @CCurl , es algo que los desarrolladores no solo hacen a diario, sino minuciosamente, y el valor predeterminado de Ir a la definición es extremadamente molesto. Solo quiero seleccionar un poco de texto rápidamente, ¿es demasiado pedir en un IDE?

¿Por qué Microsoft capacitaría efectivamente a los usuarios en un conjunto de atajos de teclado (estudio visual) y luego, aparentemente como una broma, cambiaría esos enlaces en VSCode? Me parece un departamento de experiencia de usuario loco.

Otro común es Ctrl + K + D para dar formato a las cosas; por favor, danos una opción para seleccionar una "plantilla" de enlace de teclado que se asemeje mucho a Visual Studio.

¡Otro! Ctrl +. está tan cerca de Ctrl +, que a menudo lo escribe mal y se abre la ventana de configuración. Molesto.

Es importante recordar que hay muchos usuarios de VSCode que no usaban Visual Studio anteriormente. Si bien puedo entender que los usuarios que vinieron de allí esperarían los mismos enlaces de teclado y mouse, sería miope limitar la funcionalidad para simplemente imitar los enlaces de Visual Studio.

Permitir la personalización es la clave. Me imagino que podría haber una variedad de extensiones una vez que se permite la personalización: una para imitar las vinculaciones del mouse de Visual Studio, una podría imitar las vinculaciones genéricas de X / Unix / Linux ("pegar con el clic central", por ejemplo), etc. Ya existen extensiones similares que hacen lo mismo con los enlaces de teclado para imitar a otros editores (Sublime, Emacs, VIM, etc.), y esos también podrían extenderse con enlaces de mouse.

No solo "nunca usé VS", sino también "usé \".
Es decir, Ctrl + Click = peek definición es (era) también común para Borland IDE.

Pero además de eso, me encuentro moviendo el mouse para cerrar la pestaña abierta actual, a menudo. Memoria muscular…

De vez en cuando, probaba el Código VS después de ver algunas buenas mejoras en el registro de cambios. Pero lo primero que me llamó la atención es que todavía personalizo Alt + Click como definición de vista previa. Luego vuelvo a IntelliJ. Creo que muchos otros sentirían lo mismo por no poder reasignar el clic del mouse.

Ctrl + clic para seleccionar una palabra completa (y arrastrar para seguir seleccionando palabra por palabra) también es una característica de accesibilidad de amplio alcance.

No solo es más fácil y cómodo, sino también más saludable (o menos dañino).

Así que encontré una solución (tal vez imperfecta, pero aún así) que me permite seleccionar / copiar una palabra con solo presionar una tecla y reemplazar otra palabra con la última cosa que se copió. Utiliza la extensión VIM y combinaciones de teclas personalizadas en modo normal.

Ahora puedo hacer clic en cualquier parte de una palabra y presionar [para copiar la palabra completa. Luego puedo hacer clic en cualquier parte de otra palabra y presionar] para reemplazar esa palabra con la palabra que acabo de copiar.

No es perfecto, y todavía estoy aprendiendo la forma VIM de editar archivos, pero CREO que me va a gustar. VIM es muy poderoso.

image

Otra solución alternativa alhaga clic en problema ... instale la extensión "macros" de "geddski". Luego ponga esto en su archivo settings.json:

"macros": {
    "copyWord": [
        "cursorWordEndRight",
        "cursorWordStartLeft",
        "cursorWordEndRightSelect",
        "editor.action.clipboardCopyAction"
    ],
    "replaceWord": [
        "cursorWordEndRight",
        "cursorWordStartLeft",
        "cursorWordEndRightSelect",
        "editor.action.clipboardPasteAction"
    ]
}

Luego, vincúlelos a las claves que desee en su keybindings.json:

{
    "key": "F9",
    "command": "macros.copyWord",
    "when": "editorTextFocus"
},
{
    "key": "F10",
    "command": "macros.replaceWord",
    "when": "editorTextFocus"
}

Ahora puedo hacer clic, F9, hacer clic, F10. No es exactamente lo mismo quehacer clic,C,hacer clic,V, pero bastante cerca.

¡Apoyo! Incluso Visual Studio tiene la capacidad de ajustar el tamaño de la fuente mediante "ctrl + desplazamiento del mouse".

VS Code también puede hacer zoom con el mouse, no sé por qué mencionaste ESO sin verificar.

+1

¿Hay alguna posibilidad de que se analice este problema? Ahora tiene 4 años y más de 800 votos a favor ... Es el problema número 1 que me impide cambiar a VS Code. Específicamente, quiero poder deshabilitar / reasignar Ctrl + clic de 'Ir a definición' a 'Seleccionar palabra' como Visual Studio. Si bien recibo la solicitud de una configuración completa del mouse, estaría feliz con una configuración booleana simple para esta configuración como una solución temporal.

Emita https://github.com/microsoft/vscode/issues/71817#issuecomment -482754429 puntos aquí, así que me gustaría preguntar: ¿Alguna forma de permitir que los clics del medio del mouse (PASTE) pasen a través del terminal?

Estoy en MasOS Catalina con una terminal bash, que se comporta correctamente en modo independiente, pero ignora / no recibe los clics del medio del mouse cuando está integrado en VSCode.

Terminal> Integrado: comportamiento del clic central
Controla cómo reacciona el terminal al clic central.
(valores desplegables: todos iguales que el comportamiento del clic derecho, siempre que incluya "pegar")

Solo quiero pegar con el clic central, es lo suficientemente común en terminales (por ejemplo, Mac, varios Linux) que debería ofrecerse como una opción en VS Code

Un voto más de mi parte para poder pegar con un clic central y copiar automáticamente al seleccionar un texto en la terminal

La copia automática de
screenshot_2020-10-12_at_14 12 58

También tenga en cuenta en la configuración anterior que puede habilitar pegar con el botón derecho del ratón, que si bien no es pegar con el clic central, podría ser algo que podría obtener usando mientras tanto

¿Cualquier progreso?

ctrl + rueda -> navegar hacia atrás y adelante

Me gustaría implementar el botón central del mouse para ir a la definición en lugar de tener que presionar ctrl + clic o F12.

¿Fue útil esta página
0 / 5 - 0 calificaciones