Vscode: Permitir personalização de atalhos do mouse

Criado em 18 fev. 2016  ·  204Comentários  ·  Fonte: microsoft/vscode

Alguns usuários gostariam de poder personalizar não apenas atalhos de teclado puros, mas também atalhos de mouse + modificadores. Atualmente, eles estão codificados, por exemplo, alt + clique para adicionar uma seleção.

Consulte https://github.com/Microsoft/vscode/issues/3091 para mais contexto.

editor-core feature-request keybindings

Comentários muito úteis

+1

Eu gostaria de fazer shift+cmd+leftMouseButton para Peek Definition, seria uma combinação perfeita para mim.

Todos 204 comentários

+1

Eu gostaria de fazer shift+cmd+leftMouseButton para Peek Definition, seria uma combinação perfeita para mim.

+1

Eu encontrei uma implicação de desempenho interessante resultante dos padrões / falta de configurabilidade atuais. Considere o modificador embutido em código associado à funcionalidade de "definição de peek". Se um plug-in deve fazer algum trabalho para fornecer a definição, é muito provável que o VSCode solicite informações de definição aos plug-ins, mesmo quando o usuário não tem a intenção de obtê-las. Conforme descrevo em https://github.com/Microsoft/vscode-go/issues/257#issuecomment -198993769:

Por exemplo, com o cursor parado na área do editor, pressionar ⌘ instantaneamente invoca o GoDefinitionProvider, mesmo quando ⌘ é imediatamente usado em um acorde para algum outro comando (por exemplo, copiar, colar, abrir a paleta de comandos, etc.).

Isso significa que as chamadas para godef estão acontecendo quando o usuário pressiona uma tecla muito comum sem a intenção de obter informações contextuais de foco.

Ao usar o vscode-go, isso significa um uso significativo de energia estranha que poderia ser evitado quase totalmente fornecendo configurações de teclas modificadoras para "definição de peek". Não apenas o recurso seria conveniente e permitiria uma melhor integração do host OS GUI, mas o VSCode seria mais eficiente para CPU para usos comuns.

+1 - Atom, Sublime e jsbin.com (provavelmente outros também) permitem a criação de vários cursores com ⌘ + clique (em um Mac, pelo menos). Seria bom ser forçado a aprender o mínimo possível de novos atalhos ao mudar para um novo editor.

Estou evitando completamente usar alt + click para adicionar cursores até que eu possa personalizar para tornar o Windows e o Linux consistentes. Não quero construir memória muscular quando isso vai mudar mais tarde.

@alexandrudima alguma opinião sobre quando você poderia chegar a isso? Ele está bloqueando a adição de cursores via mouse no Linux . Eu posso tentar se você der uma abordagem de alto nível.

+1 Acabei de descobrir o VS Code e estou adorando, mas como usuário de longa data do Sublime Text no Linux, estou perdendo a capacidade de ctrl + clique. Adoraria poder personalizar os atalhos do mouse.

De @ChristopherHaws in # 6853

  • Versão VSCode: 1.1.1
  • Versão do sistema operacional: Windows 10 Pro

No Visual Studio (versão completa), costumo desligar o recurso Ctrl + LeftMouseClick para ir para a definição. Pessoalmente, prefiro que Ctrl + LeftMouseClick selecione a palavra inteira sob o cursor do mouse.

Pelo que posso ver, os eventos do mouse não são configuráveis ​​no momento e também não podem ser substituídos por extensões (até onde sei). Seria muito bom ter um arquivo de configuração de mapeamento do mouse. Sublime Text tem isso (embora seja uma espécie de recurso oculto que não é exposto por meio da IU). Apenas como exemplo, meu arquivo de mousemap de texto sublime se parece com este:

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

1 para personalização.
Eu gostaria de usar CTRL para selecionar vários em vez de alt.

Gostaria de observar que adicionar cursores com o mouse é impossível no Linux, porque alt+click já é usado para mover a janela (pelo menos no KDE e XFCE) e, portanto, o alt+click o comportamento não chega ao editor de código. Portanto, eu também sugeriria alterar a ligação padrão para algo que não entre em conflito com as combinações de teclas dos principais gerenciadores de janela. Ctrl+Alt+click poderia funcionar,

Gostaria de observar que adicionar cursores com o mouse é impossível no Linux, porque alt + click já é usado para mover a janela (pelo menos no KDE e XFCE) e, portanto, o comportamento alt + click não atinge o editor de código em tudo. Portanto, eu também sugeriria alterar a ligação padrão para algo que não entre em conflito com as combinações de teclas dos principais gerenciadores de janela. Ctrl + Alt + clique pode funcionar,

Não altere o padrão. Usar Alt para mover o Windows é um padrão ruim, por exemplo, o Inkscape também tem problemas com isso. A tecla Windows é muito mais adequada para isso, pois é mais frequentemente usada para atalhos do "gerenciador de janelas", por exemplo, no Windows. Além disso, até o nome faz mais sentido: "tecla do Windows" -> "mover janelas". Também é o padrão do GNOME.

IIRC a escolha de usar Alt como o padrão para isso também foi uma solução alternativa, porque a tecla do Windows não agia como uma "meta" chave real. Da última vez que verifiquei, ainda não consegui mapear a tecla do Windows para abrir o menu no XFCE e mover as janelas com ela ao mesmo tempo.

@jhasse Ok, acho que todo o gerenciador de janelas deve ser feito com o modificador de tecla do windows é um bom argumento. Mas o que você quer dizer com "Da última vez que verifiquei, ainda não consegui mapear a tecla do Windows para abrir o menu no XFCE e mover as janelas com ela ao mesmo tempo"? Você deseja que a tecla windows seja um modificador e um não modificador ao mesmo tempo?

Mas o que você quer dizer com "Da última vez que verifiquei, ainda não consegui mapear a tecla do Windows para abrir o menu no XFCE e mover as janelas com ela ao mesmo tempo"? Você deseja que a tecla windows seja um modificador e um não modificador ao mesmo tempo?

Desejo abrir o menu pressionando a tecla do Windows (somente), embora ainda seja capaz de vincular combinações de teclas a ela e mover as janelas.

Mas não vamos ao offtopic. Este problema diz respeito apenas a permitir personalizações às quais - presumo - ninguém se opõe.

Ok, contanto que todos concordemos aqui, que não poder personalizar os atalhos do mouse é ruim, está tudo bem. Eu ainda posso dizer que, no momento, não estou mais usando o VS-code, e esse problema está relacionado a ele.

Existe uma maneira de substituir alt + mouse por modificadores de janela usando xfwm4-tweaks-settings .
screenshot_2016-10-21_09-30-43

Mas o que @jhasse aponta é o que deve acontecer se você já tiverobrigado a abrir o menu xfce. Se você tiver qualquer atalho apenas para a tecla do Windows Super L , uma vez pressionado, apenas esse evento é disparado e nada mais. Atualmente, os padrões do xfce não têm nada vinculado a Super L e ctrl+esc está vinculado ao comando de menu da janela xfce4-popup-whiskermenu .

Eu ainda acho que deveria haver uma maneira configurável de endereçar as ligações do mouse no vscode diretamente.

Por enquanto, uma solução alternativa é alterar a chave de acessibilidade do gerenciador de janelas de alt para super como na imagem acima.

@anchepiece Não vou alterar as configurações do gerenciador de janelas, nem acho que isso possa ser visto como uma solução alternativa apropriada. Ver isso como uma solução alternativa apropriada é um insulto a todas as pessoas que se acostumaram a trabalhar com essa configuração por anos. Não vou alterar meus atalhos de sistema, só porque um editor de texto estúpido entra em conflito com essas teclas, prefiro evitar usar o editor de texto.

@ krux02 Concordo

Isso consertou meu xenial.
gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"

Não tenho certeza de quando esse recurso foi adicionado, mas consegui fazer com que Ctrl + Clique com o botão esquerdo selecionasse a palavra sob meu cursor em vez de ir para a definição.

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

@ChristopherHaws alguma idéia de onde as [mouse button] definições são declaradas? Ou alguma chance de você saber qual é a ligação para um clique do meio do mouse? Eu adoraria tentar definir a seleção de coluna para clicar com o botão do meio e arrastar.

+1

+1 Por favor, mapeie pelo menos 'cursor múltiplo' para um mapa de tecla adicional como uma solução alternativa até que algo seja resolvido. Ele foi inaugurado em fevereiro e a maioria das pessoas provavelmente só precisa de uma maneira de fazer vários cursores no Linux.

+1

Adicione uma reação a este problema em vez de postar "+1".

Ele foi inaugurado em fevereiro e a maioria das pessoas provavelmente só precisa de uma maneira de fazer vários cursores no Linux.

Vários cursores já funcionam bem com alguns DEs (como GNOME 3) no Linux. Para outros, consulte https://github.com/Microsoft/vscode/issues/3130#issuecomment -255382002 para obter uma solução alternativa.

@jhasse Lamento repetir, mas essa é uma solução muito ruim, que não pode ser vista como uma solução ok. Só poderia ser visto como uma solução temporária para mostrar que, em teoria, vários cursores são tecnicamente possíveis, mas não em algo que você poderia recomendar a alguém na prática. Lamento muito reagir dessa forma, e pode ser irritante: ou você é honesto e diz para não se importar o suficiente porque acha que não há pessoas suficientes que se beneficiariam com a quantidade de trabalho, ou você resolve isso devidamente. Mas não faça referência a soluções alternativas como essa e finja que está corrigido quando não está. Não estou pagando por este produto, então não há problema quando você diz que não se importa, mas me importo quando você mente para si mesmo que isso não é realmente um problema.

@jhasse da última vez que verifiquei, adicionar uma reação não faz com que as atualizações do problema apareçam na seção "participante" das notificações do GitHub. Postar um comentário de +1 serviu a dois propósitos para mim.

@ krux02 Você está certo, uma solução alternativa é apenas uma solução temporária. Só queria salientar que dizer que "vários cursores não funcionam no Linux" não é correto. É melhor que vários cursores não funcionem com alguns DEs.
Se você agarrar globalmente a tecla Alt no Windows, adicionar vários cursores com o mouse também não funcionará lá.

@sharwell Que tal subscrever a edição, além de adicionar uma reação?

@jhasse Inscrever-se coloca a notificação na categoria superior aqui. Responder o coloca na categoria inferior:

image

Não tive nenhuma das soluções alternativas que pesquisei para funcionar e realmente queria que tivessem. Estou no Linux Mint Sarah com Cinnamon. Honestamente, a solução mais rápida é voltar para a configuração do meu átomo. Eu preciso codificar, não conectar com as configurações da área de trabalho e cruzar os dedos.

Eu encontrei uma solução horrível para esse problema (para Windows, pelo menos). Você pode instalar o AutoHotKey e usar o seguinte script, que mudará apenas Ctrl+Click e 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

Eu concordo que os atalhos do mouse devem ser integrados ao VSCode, eu também confio neles diariamente. A solução que encontrei não funciona ao clicar em palavras com uma definição vinculada.

+1 para aqueles que vêm de sublime / átomo e gostariam de usar cmd + clique ao adicionar vários cursores ou cmd + arrastar para arrastar cursores

+1 isso seria incrível !!!

+1 miss cmd + clique para novos cursores de sublime - prefira não usar a opção + clique

+1 para que eu possa vincular os botões 3 e 4 do mouse a workbench.action.navigate *

@ChristopherHaws, o [mouse button] não parece estar funcionando atualmente. Qual é a sintaxe exata do comando? https://github.com/Microsoft/vscode/issues/3130#issuecomment -263780725

@vferko Parece que esta solução alternativa foi removida em algum ponto. Não tenho certeza de quando. = /

+1

A incapacidade de religar os controles do mouse + modificador é um problema para mim, não posso usar nem recomendar o vscode para pessoas que ainda não são usuários do VStudio. Isso é muito lamentável, pois eu realmente gosto da sensação rápida e sólida de vscode. Até encontrar esse problema, eu estava totalmente convencido e disposto a iniciar o processo de mudança para o vscode.

Remapear a memória muscular para os modificadores de plataforma mais básicos é muito difícil, vou ficar com o Atom até que isso seja corrigido. Em um Mac: cmd-click adiciona a seleções descontíguas; Alt-drag em uma seleção copia essa seleção; caso contrário, o Alt-drag cria seleções retangulares. Nota: ao criar seleções retangulares, o padrão NÃO é estender a seleção do ponto de inserção anterior, esse recurso deve ser colocado atrás de um sinalizador de configuração do usuário.

Obrigado por todo o seu trabalho até agora, o vscode é muito bom! Vou me inscrever para esse problema e voltarei em alta velocidade quando ele for resolvido com sucesso.

+1, estou usando vscode no Arch Linux (Openbox), não posso usar o recurso de navegação do mouse (voltar / avançar), mas esse recurso funciona bem no gerenciador de arquivos Chrome e PCManFM. Acho que talvez o mapeamento de botões seja diferente no vscode. Portanto, se eu puder remapear a ação do botão, alterar manualmente seu comportamento, então posso corrigir o problema, seria o melhor.

Estou usando o vscode no Arch Linux (Openbox), não consigo usar o recurso de navegação do mouse (voltar / avançar), mas esse recurso funciona bem no gerenciador de arquivos Chrome e PCManFM. Acho que talvez o mapeamento de botões seja diferente no vscode. Portanto, se eu puder remapear a ação do botão, alterar manualmente seu comportamento, seria o melhor.

Melhor seria se funcionasse fora da caixa, você não acha?

por favor, inscreva-se nesta edição para ajudar a colocá-lo na fila, obrigado

: +1:

Eu também gostaria muito da opção de religar eventos de clique do mouse ... esta opção-clique para vários cursores está em conflito com todos os meus outros softwares ...

Na verdade, se apenas vincular os botões de avanço / retrocesso do mouse a workbench.action.navigate ... for um subproblema mais fácil, seria ótimo ter isso como um recurso para começar

+1 - Tão usado para controlar o clique selecionando uma palavra que está se tornando ativamente irritante para mim.

Eu também gostaria de ver isso. Eu gostaria de substituir "ir para a definição" por "ir para a definição do tipo" no cmd + clique

Outro candidato é ser capaz de personalizar o gesto de deslizar que acabamos de apresentar em https://github.com/Microsoft/vscode/issues/4803

+1 para que eu possa vincular os botões 3 e 4 do mouse a workbench.action.navigate *

Não acho que vou escolher usar o VSCode até que esse problema seja resolvido.

não sei se isso está relacionado, mas eu realmente quero desativar ctrl + clique em links ... atualmente, quando você ctrl + clica em um link em um arquivo html, ele abre o link em seu navegador padrão ... esse "recurso" é realmente um pé no saco para mim, eu sempre quero copiar um link com ctrl + c e quando estou fazendo isso rápido, já tenho ctrl pressionado antes de clicar no link para selecioná-lo e então meu navegador aparece e começa a tragédia :(

1 executando uma VM Linux dentro do meu mac, não consigo remapear os atalhos do mouse para ficar mais parecido com aqueles fora da VM

Recurso essencial do +1

eu preciso disso, vá para change.org? :alegria:

Altere as janelas de arrastar com Alt para Kubuntu (16.04):
Configurações -> Configurações do sistema -> Gerenciamento de janelas -> Comportamento da janela -> Ações da janela -> Tecla modificadora -> alterar para "Meta"

usar a tecla cmd para adicionar várias seleções está funcionando agora para mac !!

obrigado a todos !!!

eh @ ajoslin103 esse não era realmente o objetivo deste problema.

Devemos tentar encontrar uma maneira de personalizar a interação, em vez de receber um padrão embutido no código.

Por exemplo, cmd + clique seria muito útil para o Peek, assim como para a maioria dos outros editores.

Reduzir o imposto mental, é isso que devemos buscar com os atalhos de teclado!

embora eu concorde totalmente com você em espírito, esse problema singular era a única coisa que se mantinha longe do vsCode, eis que tantas luas - e demorou tanto para encontrar o problema, preso em um problema no fundo de uma corrente (atrás de um porta marcada: cuidado com o leopardo!)

Eu concordo que uma maneira de personalizar a interação mouse + tecla seria fabulosa, ainda estou frustrado com o comportamento da extensão de seleção.

Mas pelo menos estou finalmente aqui, lentamente escolhendo meu caminho através da floresta de extensões e opções tentando voltar à [quase] 'edição impensada' que tive com meu editor anterior.

Por favor, perdoe minha visão de túnel

Como está indo?
Quando podemos esperar o lançamento desse recurso?
Eu adoraria mudar o atalho como ctrl + maj + mouse para seleção de bloco para alt + mouse!

1, realmente quero se livrar da ligação "Ctrl + Clique => ir para a definição".

Quero me livrar de ctrl click ir para definição também e, em vez disso, usá-lo para selecionar a palavra inteira. Esse é um recurso que usei constantemente no vs e o usaria todos os dias no código vs.

como isso ainda não foi lançado ...?

@lopugit este é um projeto de código aberto, fique à vontade para contribuir com ele.

Como alguém que contribui pessoalmente em uma série de projetos, não ajuda em nada quando as pessoas postam coisas como "por que isso não está na biblioteca?" "por que isso não existe? É necessário!", etc.

Fornecer feedback construtivo junto com + 1s para o problema raiz é o que ajudará a impulsionar o desenvolvimento.

Não tenha o direito, o código-fonte está aberto, retire o teclado e envie um PR se for urgente.

Para que conste, eu sou totalmente a favor desse recurso, é apenas chato ver as pessoas exigirem recursos para software livre.

@oshalygin

desculpe por ter soado intitulado, agora são 7h e estive acordado a noite toda trabalhando em meus próprios projetos, não sabia que era código aberto, pensei que era um projeto da microsoft?

Meu comentário vem apenas da perspectiva de, caramba, ctrl + clique não ser um atalho editável? Você sente?

Estou trabalhando em algumas coisas para contribuir com a comunidade de código aberto, só queria adicionar minhas ideias a esse recurso aqui, cada comentário pode ser visto como um bom discurso .. mais ou menos ..

Idk, estou super cansado, paz;)

@lopugit Bem, já que estamos no GitHub aqui, sim, isso é código aberto. 😅

@Tyriar Percebi que isso está listado como backlog, até onde você sabe, existe um branch onde alguém começou a trabalhar para adicionar ligações de "Mouse" como opções de personalização? Parece que a conversa sobre esse recurso já está acontecendo há algum tempo, então presumo que seja uma mudança bastante complexa.

Nenhum ramo AFAIK. Houve um pequeno movimento sobre isso; a configuração editor.multiCursorModifier permite que você troque o multi-cursor e siga os modificadores de definição / link. Não há nenhum arquivo do tipo keybinding.json para vinculações de mouse, embora eu imagine que a solução para isso será semelhante. Acho que isso está bloqueado principalmente em @alexandrudima, liberando quem tem muitas prioridades concorrentes.

Eu gostaria de usar o Mouse 4 + 5 (botões laterais) para "navegar para trás" + "navegar para frente". Já funciona no navegador e em outros IDEs. Portanto, adicione atalhos do mouse =)

+1

Todos leram este pedido de recurso ???
+1

Sério, adicione suporte para botões do mouse nos atalhos do teclado!

Está chegando 2 anos agora! Por que ainda não é um recurso! Permita-nos usar os botões do mouse na vinculação de teclas

Gostaria de saber se seria fácil adicionar uma alteração temporária para permitir a seleção de colunas no Linux, de forma que Ctrl + Alt + clique (apenas seguindo a sugestão de krux02) também executasse a seleção de caixa / coluna além de Alt + clique, que está bloqueado pelos gerenciadores de janelas do Linux? Se a personalização do botão do mouse for adicionada em algum momento, essa alteração temporária poderá ser removida, mas, por enquanto, isso aliviaria a maior frustração que tive com o uso do VS Code no Linux.

Quanto tempo devemos esperar por este recurso BASIC? Outro ano? É um recurso COMUM BÁSICO CORE como ENTER ou DELETE?
Oh, meu Deus, o que está acontecendo ... As pessoas vão voar para Marte, e nós lutamos por atalhos de teclado do mouse. Todos os outros editores possuem esse recurso a bordo. Mas o novo e legal garoto está atrás ...

Eu concordo, esse é um recurso bem básico, não entendo o que está acontecendo ...
PRECISAMOS deste recurso

Vocês sabem que estão usando uma ferramenta totalmente gratuita com a qual podem contribuir, certo? Acho que ninguém na comunidade é contra um RP com esse "recurso básico" 📄

@Thargarius @DoCode

Se bem me lembro, esse problema é causado pelo Electron, não tanto pelo VS
Codebase em si. Portanto, uma correção exigiria corrigir o código-fonte do Electron
methinks = P

Na segunda-feira, 4 de dezembro de 2017 às 10:49, Oleg Shalygin [email protected]
escrevi:

Vocês sabem que estão usando uma ferramenta totalmente gratuita que podem
contribuir para certo? Eu não acho que ninguém na comunidade seja contra um
PR com este "recurso básico" 📄

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

-
Você está recebendo isso porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/Microsoft/vscode/issues/3130#issuecomment-349064344 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AD2MVQ9h6MIa7CdtLZcXTrvt5XxYn1-9ks5s9D6ygaJpZM4HdSg8
.

Não sou um desenvolvedor Atom / Electron perfeito.
Alguém aqui pode consertar ou começar a consertar esse problema?

Acho que aqui está o pendente Atom.

+1

gostaria de pressionar Mouse2Click (botão do meio do mouse / roda de rolagem) para navegar para a declaração em vez de Ctrl-Mouse1Click

gostaria de pressionar Mouse2Click (botão do meio do mouse / roda de rolagem) para navegar para a declaração em vez de Ctrl-Mouse1Click

A capacidade de clicar com o botão do meio para abrir a definição de um método ou variável seria bom, é algo a que me acostumei no IDE do GameMaker.

Seria ótimo ter a opção de desativar a função de colar duplo clique do botão do meio do mouse.

Se o VSCode tivesse recursos de macro, esse recurso provavelmente poderia ser adicionado por meio de uma macro.

POR FAVOR, vá para a edição # 4490, vote positivamente (clique no botão polegar para cima) e dê seu apoio!

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

Eu gostaria de usar o trackpoint no meu thinkpad para rolar ao pressionar ctrl (como emulação de clique do meio, ubnutu)

É possível usar shift + command e clique com o botão esquerdo do mouse em vez de command + clique com o botão esquerdo do mouse ou precisamos enviar este recurso primeiro?

Acho que seria um bom recurso, gostaria de ligar ctrl + roda do mouse para rolar para frente e para trás no tempo

Acho que é isso que procuro ...

Eu realmente só quero poder usar os botões 'voltar' e 'avançar' no meu mouse para igualar as ações de atalho do teclado 'Voltar' e 'Avançar' respectivamente. Parece que agora não consigo atribuir os botões do mouse a eles. Eu até me contentaria com uma solução codificada para que eu pudesse pular pelo meu código!

Ei @nerael , concordo totalmente. Resolvi esse problema vinculando os botões do mouse para emitir atalhos de teclado que executam as ações 'Voltar' e 'Avançar' no VSCode. É fácil fazer isso no software da Logitech, mas existem maneiras de fazer isso no Windows / OSX, mesmo que não seja suportado pelo fabricante do dispositivo.

Observe que esta é apenas uma solução alternativa pessoal e o suporte de nível de software seria ideal, mas pode funcionar enquanto isso.

@jsonMartin

Obrigado ... isso me levou a uma solução alternativa. eu aproximei desta forma
https://thecrumb.com/2015/06/03/xbindkeys/index.html

EDITAR - este também foi um tutorial muito útil sobre como configurar xbindkeys
https://blog.hanschen.org/2009/10/13/mouse-shortcuts-with-xbindkeys/

Meu arquivo ~ / .xbindkeysrc é:

# 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

Isso ocorre porque meu 'Go Forward' foi vinculado a ctrl + alt + equals. b: 8 eb: 9 são códigos-chave para os botões do mouse para avançar e voltar!

EDITAR - caso não tenha ficado claro, estou usando o Ubuntu LTS mais recente no momento em que este livro foi escrito, não o Windows ou OSX

Eu só quero ser capaz de desabilitar meus botões do mouse no Visual Studio Code de fazer qualquer coisa, pois eu uso um deles para minha tecla push to talk.

Então, por que aparentemente não há resposta ou progresso aqui? (Não vi nenhum comentário de um colaborador, desculpe se isso não é verdade)

É uma questão ascendente do elétron? Não é apenas um recurso importante no Roteiro?

+1

Ei @ mhh1422, apenas um lembrete amigável de que se você estiver postando em um problema do github, todos os inscritos receberão um e-mail.

Se você não tem nada construtivo a acrescentar, mas deseja aumentar a conscientização, use as reações.

Para todos que enviei spam com esta mensagem, ❤️

@philiiiiiipp Eu gosto de saber quanto tempo está demorando

+1

+1

@lopugit @ Nemesis19 @DeadByElpy

Adicione o +1 ao problema original na parte superior.

Você pode ser notificado sem comentar, pressionando o botão "Inscrever-se" no canto superior direito desta página.

Isso pode ser útil quando você deseja vincular o comando voltar com o botão Voltar do mouse, esse atalho é amplamente usado em navegadores da Web e acredito que o Visual Studio também o tenha.

Seria muito bom usar "Alt + Scroll Up / Down" para aumentar / diminuir números ou percorrer enums ou algo assim.

caramba, sim, precisamos poder usar os botões do mouse nas combinações de teclas .. isso resolveria muitos problemas, como ser capaz de substituir os atalhos de lixo como {
"chave": "ctrl + pagedown",
"command": "workbench.action.nextEditor"
}
com ctrl + roda do mouse para baixo etc ....

... alternar a guia do mousewheel .. muito melhor.

por favor, continue, já está na hora.

Espero que essa tarefa ainda esteja sobre a mesa. Eu gostaria de modificar o combo SHIFT-ALT-LeftMouse "coluna selecionar" para apenas ALT-LeftMouse ...

Estou trocando os produtos JetBrains por causa do trabalho e tentando adaptar o VSCode o máximo possível ao meu fluxo de trabalho anterior.

Usei alt+leftclick em qualquer texto destacado para chegar ao menu QuickFix . No outro editor, seriam coisas como corrigir erros de digitação da verificação ortográfica, corrigir importações ausentes, simplificar o código, etc. Todas essas ações estão enterradas no - agora massivo - menu do botão direito.

Como uso um rolo de patins por causa da deficiência, isso se torna mais difícil do que o normal, pois agora tenho que fazer um movimento estranho para alcançar as mesmas ações.

Ter a capacidade de personalizar essas coisas melhoraria muito meu conforto.

Espero que alguém resolva isso.

Boas festas!

@silentwarrior se você estiver no Windows, como uma solução alternativa antes de ser implementado em vscode, você pode usar algo como autohotkey

Como a descoberta de referência é apresentada ao vscode na atualização mais recente. A maioria das pessoas habituou-se a usá-lo pressionando ctrl + clique. Eu tentei mesmo, mas não é compatível.
Agradeceríamos se o atalho do mouse fosse introduzido em breve.

Seria muito útil ser capaz de misturar as teclas do mouse e do teclado nativamente em keybindings.json.
Outra coisa muito útil seria ser capaz de vincular várias combinações a um único comando, o último é bastante fácil, eu acho.

@ mortinger91 já é possível vincular várias chaves ao mesmo comando, não sei o que você quis dizer.

@ mortinger91 já é possível vincular várias chaves ao mesmo comando, não sei o que você quis dizer.

É isso? Eu não fiz uma pesquisa extensa sobre isso, mas não consigo encontrar nenhum método como
<br i="9"/> {<br i="10"/> "key": "key1","key2",<br i="11"/> "command": "do something"<br i="12"/> }<br i="13"/>
ou sintaxe semelhante para usar em settings.json, a menos que você queira dizer algum tipo de macro ou usar uma extensão que eu não conheço.

@ mortinger91 você tem que fazer isso com várias chaves, assim:

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

@ mortinger91 você tem que fazer isso com várias chaves, assim:

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

sim obrigado. Já estava tentando fazer isso mas com um comando errado, confirmei funcionando.
Ainda estou para a ligação das teclas do mouse embora

Este problema (https://github.com/Microsoft/vscode/issues/5402) já foi mencionado anteriormente no tópico, mas alguém aqui perguntou se este problema não estava se movendo devido a um problema de upstream com Electron, e até Posso ver que esse problema não está relacionado a isso, pois o Atom tem uma extensão que permite esse comportamento.

Se esse comportamento pudesse ser replicado com um plugin no Atom, seria possível no vscode?

Alguém aqui considerou portar a extensão Atom para vscode?

Eu estava tentando vincular "Voltar" ao botão do mouse 3, acabei configurando uma ferramenta de toque melhor para invocar o atalho de teclado quando pressiono o botão do mouse no VSCode. Pode ser uma solução útil enquanto isso! 👍

Percebi que a rolagem é lenta, procurei uma configuração para alterá-la e percebi "sensibilidade de rolagem rápida" e que "Alt" é na verdade um multiplicador de velocidade de rolagem. Procurei maneiras de alterar "Alt" para "Super" neste caso específico, mas infelizmente não encontrei nada. :(

Eu estava tentando vincular "Voltar" ao botão do mouse 3, acabei configurando uma ferramenta de toque melhor para invocar o atalho de teclado quando pressiono o botão do mouse no VSCode. Pode ser uma solução útil enquanto isso! 👍

Como eu faria isso? Desejo evitar que o botão 4 do mouse invoque "Voltar" no Visual Studio Code, mas ainda quero poder usá-lo em outro lugar.

@Tyriar está aberto há 3 anos, como podemos ajudar a levar isso adiante? :)

@ george-cz Eu quero vincular Go back ao botão 3 do meu mouse, como eu faria isso?

@stereokai de acordo com uma palestra recente dada por @egamma , a maneira é favor da questão aqui para que

@ foxx1337 quer dizer reagir com 👍 ao comentário do problema?

tem quase 500 polegares para cima .. quantos votos @egamma ele precisa ..

por que não contratar pessoas que têm idéia do que precisa ser feito para melhorar o fluxo de trabalho.

Depois de examinar isso um pouco, aqui está o que acredito que sejam os problemas:

  • A maneira 'certa' de fazer isso seria pegar os eventos do cromo / elétron. Não acredito que estejam expostos. (Observe que este é um recurso muito solicitado no Electron, com eles basicamente dando de ombros e apontando para a próxima camada na pilha de tecnologia).
  • A próxima maneira de fazer isso seria escrever pacotes npm nativos que podem pegar esses eventos 'fora' e publicá-los. Isso pode ser feito em todos os 3 sistemas operacionais (de maneiras muito diferentes) e se enquadra na categoria de 'hack desagradável'.
  • E o verdadeiro obstáculo: as extensões não podem fazer isso, pois o código precisa ser executado 'no processo' do aplicativo principal do VSCode; e é improvável que o MS aceite (imo) e patch que implemente isso (veja 'desagradável' acima).

Então ... Isso poderia ser feito em uma extensão? Sim, no Windows, mas isso exigiria uma injeção de DLL hacky - neste ponto, é muito melhor instalar algum utilitário específico do sistema operacional de terceiros que pode mapear os botões extras do mouse para pressionamentos de tecla.

Portanto, posso estar enganado em qualquer / todas as opções acima, mas esse é o meu palpite quanto à situação.

Oh meu Deus. Um recurso tão simples, do lado do Windows, mas tão complicado ...

já faz 3 anos desde que o thread começou, e o código vs parece que praticamente não teve nenhum recurso / alterações ergonômicas durante todo o tempo.

A grande maioria dos comentários aqui são, na melhor das hipóteses, não construtivos. Os proprietários do repo podem considerar o bloqueio desse problema?

@KevinMGranger Más atitudes não invalidam a necessidade ou relevância desta questão.

@stereokai Eu sei, é uma das minhas principais necessidades para o VS Code. Mas a discussão aqui não está realmente ajudando a implementação do recurso. Bloquear não significa WONTFIX.

@KevinMGranger Infelizmente, bloquear este problema também irá prevenir : +1: reações à primeira postagem, tornando desconhecido o número real de pessoas interessadas neste assunto (embora, dado o número atual de reações, talvez isso não seja necessário, mas eu ainda prefiro para continuar aberto) ..

Se você estiver no Mint, pode simplesmente desabilitar o Alt Click indo para Configurações do Sistema, Janela, Comportamento e então mudar a "Tecla especial para mover e redimensionar a janela". Desta forma, alt + click funcionará no vscode.

Para registro, a postagem de

+1, um Alt-clique com o botão direito para copiar caminhos relativos seria incrível! (ainda melhor seria a capacidade vinculável de arrastar para o arquivo atual para inserir relpath, mas isso é outra questão)

+1, um ctrl + clique com o botão direito para ver a definição seria conveniente para ler o código-fonte!

no windows eu uso ctrl + clique para seguir o link e alt + clique para adicionar o cursor
mas no linux eu tenho que mudá-lo para alt, mas alt + clique para seguir os links não funcionam.

Eu adoraria ser capaz de mapear o botão do meio do mouse para "colar no local do cursor do mouse" no meu Mac. Estou acostumado com esse comportamento do meu Linux Boxen.

Com os desenvolvedores, você pode, por favor, marcar esse problema como um bug ou algo semelhante. Essas tags fazem com que você sinta que é totalmente opcional resolver esse problema, mas esse é um grande problema de compatibilidade que torna recursos importantes do VSCode totalmente inutilizáveis ​​para algumas plataformas.

Isso foi mencionado em algum lugar nos tópicos duplicados, eu acho. Para registro, vou dizer isso aqui também.

Me deparei com este tópico porque estava me perguntando se deveria comprar um mouse com mais botões apenas para poder vincular coisas no Code. Por exemplo, mapear 3 botões laterais para avançar e entrar / sair durante a depuração. Você está usando o mouse para explorar o que quer que esteja na barra lateral de depuração, portanto, poder avançar a execução com ele seria muito útil.

Portanto, além de religar o clique esquerdo / direito, religar outras entradas do mouse também seria valioso.

+1. Esta funcionalidade é realmente necessária para suportar ctrl + clique para seleção de palavras. Ctrl + Click não vai para a definição, não importa quantas pessoas acham que deveria ser. Esse recurso sozinho é o motivo pelo qual não posso usar o VSCode, embora queira.

De uma perspectiva de desempenho, gostaria de vincular "clique do meio" a "Goto Definição". O Webstorm tem isso por padrão e torna a navegação no código muito mais fácil.

Quando me refiro ao desempenho, quero dizer o desempenho do desenvolvedor

De uma perspectiva de desempenho, gostaria de vincular "clique do meio" a "Goto Definição". O Webstorm tem isso por padrão e torna a navegação no código muito mais fácil.

Contanto que seja uma configuração, por mim tudo bem. No meu sistema, isso interfere no mecanismo de colagem.

Acho que neste ponto é bastante inútil ir mais fundo nas discussões. Os desenvolvedores deixaram bem claro por ignorância que não se importam com esse problema.

@ krux02 você sempre pode contribuir com código ao invés de snark. Ou simplesmente evite comentar.

Você ficaria motivado para trabalhar em projetos FOSS se seus usuários se comportassem como você? Seja civilizado, aqueles "imbecis" do outro lado do rastreador de problemas são pessoas como você e eu, e eles também têm sentimentos.

@jrial , eu trabalho com software livre e também contribuo com outros projetos. Você pode verificar isso visitando meu perfil no github. E sim, eu também tenho que lidar com usuários irritantes. Isso, porém, não é apenas snark. Se você olhar para os meus comentários anteriores, eu forneci feedback positivo no passado. Mas depois de mais de 3 anos de silêncio por parte dos desenvolvedores e nenhuma melhoria. Eles poderiam pelo menos se desculpar e explicar por que é difícil consertar isso, mas não, não há reação alguma. Minha única conclusão é que os desenvolvedores simplesmente não se importam.

E não, também não estou contribuindo para consertar isso. O motivo número 1 é que não estou usando o VSCode por causa de problemas como esse.

Eu olhei rapidamente para consertá-lo no ano passado, mas não consegui descobrir como construir e lançar o VS Code localmente a partir da fonte para que eu pudesse depurar e testá-lo. Na verdade, eu só uso o VS Code para alguns pequenos projetos paralelos, então o tempo que tenho para fazer uma mudança como essa é limitado. Eu não ficaria surpreso em encontrar no mesmo barco uma ou mais pessoas interessadas neste assunto.

Queremos ctrl + clique para selecionar a palavra em vez de ir para a definição, mas esse recurso não existe!

A integração total do mouse seria incrível. Qualquer combinação de Ctrl / Shift / Alt mais os botões mais comuns do mouse (clique direito / esquerdo, rolar para cima / baixo, clique do meio / direita / esquerda e o botão usual do mouse 4/5 / avançar / voltar) seria incrível.

Quase 4 anos desde a abertura da passagem. Nada no horizonte ainda?

Houve uma regressão em relação ao # 71318, visto que o back / forward não parece funcionar no 1.39 no MacOS, pode verificar com o Linux também.

Eles deveriam colocar isso como uma resolução de ano novo 2020! Já se passaram quase 4 anos e ainda não há suporte para atalhos de teclado de clique.

Por causa disso, acho que não posso mais defender o VSCODE ou motivar as pessoas a usarem: /

Eu gostaria muito de usar o botão do meio do mouse de uma forma mais adequada, para abrir o manual, por exemplo, mas não para colar um texto.

Alguma atualização de quando este recurso será implementado no GA?

Eu gostaria muito de usar o botão do meio do mouse de uma forma mais adequada, para abrir o manual, por exemplo, mas não para colar um texto.

Eu não me importaria, contanto que permaneça opcional e nenhum atalho padrão use o botão do meio do mouse em qualquer lugar onde se possa colar texto. Isso para não alienar os usuários * nix, para os quais mouse do meio é igual a "colar do buffer secundário", e que comprometeram isso com a memória muscular após anos de uso.

Acho que esse problema consiste em dois, na verdade:

  1. Adicionar mais personalização sobre atalhos, ou seja, por exemplo, permitir definir atalhos personalizados para ações como seleção de palavras.
  2. Permitindo que "atalhos de teclado" sejam não apenas atalhos de teclado, mas também atalhos de mouse, ou seja, apenas para demonstrar, ao invés de alocar F5 para iniciar o comando de depuração, ser capaz de alocar Ctrl + Shift + Clique do Meio do mouse para isso.

Se esses dois forem resolvidos, resolveremos esse problema completamente.
Quero resolver este problema, no entanto:
Posso cuidar do segundo problema sozinho. Mas, primeiro, preciso de uma lista de mais atalhos que você deseja. E porque acho que este é um problema separado, vou contribuir apenas para o segundo problema agora. Acho que devemos dividir esse assunto.

Como me comprometi, implementei a segunda parte - agora no meu ramo você pode associar os botões do mouse a comandos, incluindo teclas modificadoras e acordes.

Antes de enviar uma solicitação pull, quero que você me envie uma lista de ações comuns que deseja associar ao mouse.

O processo é realmente simples: para cada ação, extraia-a de ser incorporado no código para ser um comando separado, (se necessário) adicione novos contextos para marcar quando este comando está ativado e, finalmente, defina um atalho padrão para ele, em vez do anterior, usando o mouse.

Vou esperar cerca de uma semana e enviar um PR com os comandos coletados. Não quero receber mais ações depois desta semana (também preciso de algum tempo para mim), mas posso levar algum tempo para implementar as já coletadas. Espero acabar logo - vejo a esperança em seus olhos 👀

No entanto, é claro, você pode mencionar mais ações - desde que o PR seja aceito, será relativamente fácil ajustar novos comandos. E você sempre pode contribuir com eles - como sempre, contribuições são bem-vindas!

Aqui está o que tenho por agora, você está convidado a adicionar o seu próprio. Comente nesta edição.

  • Vá para a definição (Ctrl + Clique)
  • Selecione a palavra inteira (clique duplo)

Uma nota sobre "selecionar palavra inteira": eu não verifiquei (em breve, espero), mas embora me pareça muito fácil, até vital, duplicar isso como um comando - ou seja, fornecer um comando que fará o lado e pode ser alocado (por exemplo) conforme solicitado aqui para Ctrl + Clique, acho difícil e talvez até impossível extrair isso, ou seja, poder alocar o clique duplo para outra finalidade. Isso porque (novamente, eu não verifiquei ainda) esta função é uma parte do editor principal e (talvez, novamente) pode exigir a refatoração de centenas de linhas de código. No entanto, vou tentar e relatar os resultados, desde que estejam disponíveis 🎉 🎉 🎉

Muito obrigado!

Eu acrescentaria:

  • Peek definição (para adicionar como Shift-Ctrl-Click, por exemplo)
  • Peek referências (Ctrl-Click já funciona se o cursor estiver na definição da variável)

@benoitmasson Existe um atalho para a "definição Peek"? Não conheço nenhum (usando o mouse, é claro).

  • botão do meio = "colar a área de transferência" ou de preferência "mover o cursor para esse ponto e colar a área de transferência"
  • arraste o botão esquerdo sobre o texto = "selecione e copie o texto para a área de transferência"

@benoitmasson Depois de algumas pesquisas, descobri que o seu atalho chamado "peek reference" não é real; o comando "ir para a definição" faz o que você descreveu quando chamado na linha de declaração. Se isso for um problema, é com o comando - não vou lidar com isso.

Parece que você não entendeu: não vou alterar os atalhos de teclado padrão. Acho que nem mesmo a Microsoft aprovará tal RP. O que EU FAÇO é extrair ações para comandos em vez de comportamento embutido, para que VOCÊ possa criar facilmente seus próprios atalhos de mouse com eles,

OK, não tenho certeza se entendi exatamente seu ponto, mas tentarei esclarecer meu comentário. Provavelmente nem tudo será relevante para você, então escolha o que quiser:

  • A definição de Peek e as referências de Peek já são comandos de código VS (consulte https://code.visualstudio.com/Docs/editor/editingevolved#_peek), então talvez você não queira lidar com eles especificamente (pelo que entendi, seu PR permitirá mudar de atalhos de teclado para atalhos de mouse, o que é ótimo).

  • Mais precisamente, adoraria poder ter um vínculo do mouse para Ir para a definição E Peek a definição (ambos são comandos, ambos já são possíveis com o mouse desde a versão 1.43, mas você tem que escolher um, eu gostaria de ser capaz de fazer ambos com apenas um modificador de teclado + clique)

  • Finalmente, o comando Peek References já possui uma ligação do mouse ao clicar com a tecla Ctrl na definição (não preciso de nada aqui, apenas para avisar)

E se tudo isso estiver fora do escopo, não se preocupe e desculpe o barulho ...

Para referências de peek, eu acho que uma vez que ctrl / cmd- "clique esquerdo" já está vinculado a isso (mas codificado), então provavelmente deve ser alterado de forma que ctrl / cmd- "clique esquerdo" seja um vínculo padrão com este novo PR mas pode ser alterado.

Eu imagino que isso deva ser verdade para qualquer mapeamento existente que atualmente possui atalhos de mouse codificados.

Eu pessoalmente gostaria de reprogramar os outros botões do meu mouse. Botões como voltar, avançar, rolagem horizontal e botão do meio do mouse.

@AndreasBackx Clique no botão do meio - já implementei essa funcionalidade.
Voltar, avançar - não conheço esses botões. Você pode explicar por favor?
Rolagem horizontal - se você quer rolar com a roda do mouse, então você não pode personalizá-la com minha implementação, e não pretendo implementar isso, porque ao contrário de outras funcionalidades, a roda do mouse requer comunicação contínua entre o serviço de atalhos de teclado e o comando para ser executado, ou seja, não apenas quando terminar de rolar devemos chamar o comando, mas também no meio. Introduzir isso exigiria, IMHO, mudanças de API para permitir tal comunicação (na verdade, novo tipo de comando que impacta novos métodos para registrar e invocá-lo, até mesmo novos protocolos - não tão legal), e eu não quero entrar neste tópico. Este é também o motivo pelo qual não implementei o arrastar do mouse geral - ou seja, meu PR permite personalizar o arrastar sobre o texto do editor ou seleção, mas não o arrastar geral como o do explorador de arquivos quando você arrasta um arquivo para uma pasta , porque esse tipo de arrastar exigirá, novamente, uma comunicação contínua para fornecer o feedback visual ao usuário (no meu exemplo, o nome do arquivo que está sendo arrastado). No entanto, se houver feedback positivo da comunidade sobre esses recursos, concordo em reconsiderar minha decisão, mas dentro de uma questão separada e discussão com um funcionário da Microsoft (por causa das mudanças na API).

@ ChayimFriedman2 Os botões voltar e avançar são botões extras encontrados em alguns mouses, geralmente sob o polegar. Eles aparecem como botões extras. Alguns mouses têm uma roda de rolagem extra, em vez de ou além desses botões. Alguns têm ainda mais botões.

A rolagem não deve exigir nada diferente dos botões normais do mouse, pois cada clique discreto da roda de rolagem é visto pelo sistema operacional como um pressionamento de botão. A roda de rolagem adiciona apenas 2 botões extras, que emitem sinais quando a roda é girada. Por exemplo, no Linux, xev relata o seguinte ao rolar para baixo um único ponto:

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

enquanto a rolagem para cima se parece com isto:

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 com um clique normal do botão esquerdo do 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 Você pode me dizer quais são os códigos MouseEvent.button para voltar e avançar?

@jrial E se você puder, você disse que há mais - envie-me uma lista de nome / código no navegador.

@jrial Mas não tenho planos de implementar rodas. Também me preocupo com os impactos de desempenho desse recurso - a rolagem é uma operação rápida, em oposição a clicar com o mouse e pressionar teclas. Isso significa que precisaremos acionar o comando várias vezes.

@jrial Você pode me dizer quais são os códigos MouseEvent.button para voltar e avançar?

Eu não sou um cara JS, mas uma pesquisa rápida parece indicar que você acessa rodas através do WheelEvent. Consulte https://www.w3.org/TR/DOM-Level-3-Events/#events -wheelevents

Quanto aos botões voltar e avançar, consulte https://www.javascripture.com/MouseEvent e https://www.w3.org/TR/DOM-Level-3-Events/#dom -mouseevent-button

@jrial Você pode me dizer quais são os códigos MouseEvent.button para voltar e avançar?

Verifique isso, ele menciona os botões voltar e avançar: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button

Ir para implementação seria ótimo para ter um atalho do mouse. https://code.visualstudio.com/Docs/editor/editingevolved#_go -to-deployment

Obviamente, o cenário ideal é se os atalhos do mouse podem ser configurados para usar qualquer botão e / ou combinação de teclas. Se isso não for possível, IMO, seria uma pena se um atalho exigisse determinados botões do mouse que nem sempre estão disponíveis.

Eu acho, e todas as minhas faculdades, que o comportamento padrão do Visual Studio 20xx (Ctrl + Clique) seria uma grande melhoria: Selecione a palavra subjacente sob o cursor e quando movido para frente ou para trás, as próximas palavras também serão selecionadas.

Gostaria de mencionar novamente: MANTENHA EM MENTE: NÃO VOU ALTERAR O COMPORTAMENTO ATUAL .

Quer atalhos diferentes do padrão? Certo! Crie sua própria extensão de atalho de teclado (se você quiser
para compartilhá-lo com outras pessoas, caso contrário, apenas altere seu keybindinbgs.json ou use o editor de atalhos de teclado).

Usar os atalhos do mouse será possível graças ao meu trabalho, mas os padrões não serão alterados. Os desenvolvedores não gostam de mudanças.

Acho que, dado o título da solicitação, a maioria das pessoas que seguem isso quer apenas a capacidade de modificar o comportamento do clique e estão fornecendo exemplos de como o comportamento em suas configurações terá essa capacidade.

Eu sei que era isso que minhas postagens / solicitações estavam esperando.

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


De: Chayim Refael Friedman [email protected]
Enviado: sábado, 21 de março de 2020 13:56:19
Para: microsoft / vscode [email protected]
Cc: Alan Hoyle [email protected] ; Comentário [email protected]
Assunto: Re: [microsoft / vscode] Permitir personalização de atalhos do mouse (# 3130)

Gostaria de mencionar novamente: MANTENHA EM MENTE: NÃO VOU ALTERAR O COMPORTAMENTO ATUAL.

Quer atalhos diferentes do padrão? Certo! Crie sua própria extensão de atalho de teclado (se você quiser
para compartilhá-lo com outras pessoas, caso contrário, apenas altere seu keybindinbgs.json ou use o editor de atalhos de teclado).

Usar os atalhos do mouse será possível graças ao meu trabalho, mas os padrões não serão alterados. Os desenvolvedores não gostam de mudanças.

-
Você está recebendo isso porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub https://github.com/microsoft/vscode/issues/3130#issuecomment-602079576 ou cancele a inscrição https://github.com/notifications/unsubscribe-auth/AACGX4ZLQHZA2FMDCUYI3DTRIT5UHANCNFSM4B .

@alanhoyle O que você quer dizer para mim? (ou você só quer mencionar)

Enfrentei um pequeno problema - se alguém puder ajudar ficarei muito feliz.

No começo, eu já vi que não consigo vincular comandos para clicar duas vezes com o botão esquerdo ou direito do mouse.

Por quê? porque não podemos diferenciar um único clique e um clique duplo. Consulte https://stackoverflow.com/questions/5497073/how-to-differentiate-single-click-event-and-double-click-event. O botão direito é o mais problemático: ele acionará o menu de contexto. Mas também a esquerda pode atuar nos botões etc.

Como sugerido na resposta do SO relacionada (também pensei nisso), você pode usar um tempo limite. Mas isso não pode ser personalizado para corresponder ao tempo limite do sistema operacional de clique duplo.

Saí com duas opções:

  • Quando o evento dblclick for disparado para o botão direito, oculte o menu de contexto. Essa abordagem é muito complicada e feia (IMHO) e não lida com casos como pressionar um botão com o botão esquerdo - você não pode cancelar a ação que foi realizada pelo manipulador de cliques!
  • Usando um tempo limite, como eu pensava. Essa abordagem tem dois problemas:

    • O tempo limite deve corresponder às configurações do sistema operacional. Isso pode ser resolvido porque estamos em Node.js e podemos comunicar o sistema operacional (em oposição a js em execução no navegador), mas não conheço uma API Electron que nos trará o tempo limite solicitado. Claro, podemos pesquisar npm por esse módulo, ou mesmo eu posso escrever o meu próprio, mas este módulo deve ser um módulo nativo (ou seja, escrito em C ++) e adicionar um módulo nativo à construção deve ser feito apenas após discussão com um Membro da Microsoft.

    • Isso prejudicará a UX, pois ele terá que esperar um pouco pelo menu de contexto (não tanto tempo, até um segundo, mas isso dificilmente prejudicará a produtividade).

Enquanto isso (e provavelmente continuará assim), estou apenas exibindo uma mensagem de erro quando o usuário tenta usar esses atalhos. Isso funciona muito bem.

Quero abrir uma discussão: na sua opinião, ao executar um atalho de seleção (um atalho usa aquela seleção do mouse), quando o comando (digamos "Copiar") foi executado, o que devemos fazer e por quê?

  • Recupere o anterior selecionado (não creio que seja isso o que o usuário espera ver: ele seleciona o texto, fica realçado e, ao terminar a seleção - a seleção salta para outro lugar ...)
  • Permanece com o texto selecionado.
  • Mova o cursor para o final da seleção.
  • Permaneça com o cursor no início da seleção (como # 1 devido ao fato de que ao selecionar o cursor está no final).

Eu gostaria de ouvir suas opiniões 😃

@ ChayimFriedman2 Eu não faria nada extra. Não é possível definir uma lista de comandos? Portanto, pode-se primeiro emitir um comando de cópia e, em seguida, limpar a seleção se for desejado.

Eu concordo com a capacidade de fazer ctrl + clique executar "Go To Implementation". Na verdade, acabei neste tópico porque queria essa opção. Abrir um menu perguntando ao usuário se ele deseja ver a instrução de importação naquele mesmo arquivo ou a implementação real sempre foi meu não. 1 incômodo no VScode.

@kasvtv Por enquanto estou usando Ctrl+Alt+z para ir para a implementação, porque posso fazer com uma mão (se não me engano o padrão é Ctrl+F12 ), mas ainda preferiria um Abordagem de Ctrl+click ou Ctrl+Alt+click .

Por favor, por favor, apenas forneça uma forma de poder usar [ctrl] [clique] para poder selecionar a palavra inteira, como o Visual Studio faz. Eu não me importo como você faz isso, mas por favor, por favor, apenas faça. Se você já o usou, sabe como facilita a vida de um programador. Programadores como eu adoram isso porque, ao adicionar uma nova função, geralmente começamos com um modelo e, em seguida, alteramos os detalhes para nossos propósitos. Para isso, acabamos trocando palavras por outras palavras várias vezes na função. Ter [ctrl] [clique] torna isso REALMENTE rápido e fácil: para preencher a área de transferência [ctrl] [clique], [ctrl] C ... então, para mudar uma palavra, é só [ctrl] [clique], [ctrl] V. O que o torna TÃO ótimo é que você mantém a tecla [ctrl] pressionada o tempo todo. É TÃO útil e natural que, se você usá-lo algumas vezes, rapidamente ficará dependente dele e, quando for retirado, sua produtividade diminuirá.

Por favor.

apenas forneça uma maneira de poder usar [ctrl] [clique] para poder selecionar a palavra inteira, como o Visual Studio faz.

Basta clicar duas vezes na palavra. Essa é a memória muscular que o ajudará em muito mais situações, já que é mais ou menos uma forma padronizada de plataforma cruzada de selecionar palavras inteiras. Aparentemente, a equipe do Visual Studio escolheu uma convenção um tanto estranha e agora você adquiriu um hábito não convencional como resultado. A resposta é não mudar tudo para se parecer com o outlier; a resposta é adotar o padrão que funciona em todos os lugares.

Além disso: este é um rastreador de problemas para um IDE. Escrito por e para desenvolvedores de software. Não acho que você precise escrever uma novela explicando por que a seleção de palavras inteiras pode ser útil para "programadores como eu". Nós sabemos... ;)

Basta clicar duas vezes na palavra. Essa é a memória muscular que o ajudará em muito mais situações, já que é mais ou menos uma forma padronizada de plataforma cruzada de selecionar palavras inteiras. Aparentemente, a equipe do Visual Studio escolheu uma convenção um tanto estranha e agora você adquiriu um hábito não convencional como resultado. A resposta é não mudar tudo para se parecer com o outlier; a resposta é adotar o padrão que funciona em todos os lugares.

Não tenho essa memória muscular, mas acho que o poder de mudar coisas como essa é muito importante. É difícil para mim acreditar que há muitas pessoas que estão programando por um tempo que não adquiriram um ou dois hábitos fora do padrão - o meu em particular é como o estilo alt + drag sublime para seleção retangular. Depois de mais de um ano usando vscode, quebrei a memória muscular, mas ainda sinto falta da funcionalidade.

Meu ponto aqui não é dizer que meu problema é mais importante ou algo assim (embora não tenha uma boa alternativa "padrão" que funcione em um trackpad), mas que uma forma padronizada existente não é realmente um bom argumento por não apoiar algo.

Dito isso, provavelmente está saindo do assunto, então é melhor se não tocarmos esse tambor muito mais longe ...

Basta clicar duas vezes na palavra. Essa é a memória muscular que o ajudará em muito mais situações, já que é mais ou menos uma forma padronizada de plataforma cruzada de selecionar palavras inteiras.

🤨

Ctrl + Clique é um gesto que consiste em selecionar palavras em vez de caracteres, não uma única palavra . Você não pode fazer muito com um clique duplo muito mais lento .

Já ajudaria ter uma maneira mais agradável de selecionar palavras isoladas, mas isso é apenas uma parte da história. (O que temo não pode ser resolvido permitindo apenas o remapeamento de atalhos, pois os gestos são mais complexos)

É assim que o Visual Studio lida com as coisas:

  • Shift Down Inicia a seleção do teclado
  • Mouse Button 1 Abaixo Inicia a Seleção do Mouse / Se Shift estiver abaixo, configura o início da seleção na localização anterior do cursor de edição.
  • Ctrl Abaixo + Seleção Modifica o comportamento da seleção palavra por palavra (Alternância dinâmica para seleção de teclado)
  • Alt Baixo + Seleção Modifica o comportamento da seleção para a coluna / caixa (não pode ser desabilitado liberando a tecla, mas pode ser habilitado dinamicamente para a seleção do teclado)

A essência disso é que Ctrl e Alt (e possivelmente outros / futuros modificadores) atuam como modificadores de comportamento de seleção de uma forma consistente, independentemente da origem da seleção (mouse ou teclado) .
Obviamente, existem diferenças entre os modos de seleção de mouse e teclado em alguns casos, mas isso não é algo que você notaria, a menos que esteja especificamente procurando por isso.

Mas compare isso com a forma como o VS Code está (profundamente) quebrado quando se trata de consistência entre a seleção do teclado e do mouse:

  • A seleção da coluna será Shift + Alt + Mouse Button 1 com o mouse, mas se torna Shift + Ctrl + Alt + Arrow Keys com o teclado. Uma chave extra, assim mesmo. 🤷‍♂️
  • A seleção de palavras será Shift + Ctrl + Arrow Keys com o teclado e ... Que pena, esquecemos o mouse! 😐

Parece que há apenas casos especiais na implementação de seleção de texto do VS Code. Não sei como acabamos com isso, mas isso é muito ruim.

Eu realmente gostaria que as teclas modificadoras de seleção pudessem ser personalizadas para corrigir isso, mas dada a idade de todos os problemas relacionados, temo que isso nunca vá acontecer ... 😟

@GoldenCrystal VS Code implementa o paradigma comum de terminais e áreas de texto, onde um arrasto de clique único é por glifo, arrasto de clique duplo é por palavra e, como bônus, arrasto de clique triplo é por linha.

Quando em Roma, aproveite as tradições locais e observe que o não-Code VS é o estranho.

apenas forneça uma maneira de poder usar [ctrl] [clique] para poder selecionar a palavra inteira, como o Visual Studio faz.

Basta clicar duas vezes na palavra. Essa é a memória muscular que o ajudará em muito mais situações, já que é mais ou menos uma forma padronizada de plataforma cruzada de selecionar palavras inteiras. Aparentemente, a equipe do Visual Studio escolheu uma convenção um tanto estranha e agora você adquiriu um hábito não convencional como resultado. A resposta é não mudar tudo para se parecer com o outlier; a resposta é adotar o padrão que funciona em todos os lugares.

Além disso: este é um rastreador de problemas para um IDE. Escrito por e para desenvolvedores de software. Não acho que você precise escrever uma novela explicando por que a seleção de palavras inteiras pode ser útil para "programadores como eu". Nós sabemos... ;)

Tente clicar duas vezes nas coisas o dia todo ... você descobrirá que muitas vezes o mouse ou seu dedo não fez a coisa certa e você clicou uma vez em vez de clicar duas vezes. Em seguida, faça ctrl-click abrir uma nova janela ali mesmo, e veja quantas vezes você tem que fechar a janela que abriu inadvertidamente. O clique único é 100 vezes mais fácil e menos sujeito a erros.

Sou desenvolvedor de software há 35 anos. Se for realmente tão difícil colocar uma opção lá para que possamos especificar se queremos esse comportamento ou "definição de espiada", então afirmo que o programa não foi projetado muito bem. Por que nos forçar a fazer algo que é muito menos ideal e mais sujeito a erros? Basta fazer isso e parar de discutir sobre isso. A Microsoft fez isso tanto para Visual Studio quanto para SQL Server Management Studio. Nós amamos porque é TÃO natural e eficiente.

Estou MESMO perto de dizer "F VS Code" e escrever o meu próprio ou encontrar outro editor que suporte isso. Isso é o quão valioso é.

Talvez você não consiga ver por que isso é tão valioso para nós, porque talvez você não veja que é parte integrante da atividade que fazemos o dia todo, todos os dias. Uma das coisas mais comuns que muitos programadores fazem o dia todo é selecionar uma palavra, copiá-la e, em seguida, substituir outra palavra por ela em outro lugar. Com [ctrl] [clique] para selecionar a palavra, é REALMENTE eficiente .. segurando a tecla [ctrl], você apenas [clique], c para copiar a palavra e [clique] v para substituir a palavra alvo. Sem [ctrl] [click] para selecionar a palavra, você tem que clicar duas vezes pelo menos duas vezes, uma vez para selecionar a palavra fonte, e então todas as vezes para selecionar a palavra alvo. Clicar duas vezes é uma operação muito sujeita a erros. É realmente tão difícil colocar em uma definição de configuração para fazer isso, em vez de uma "definição rápida". Você já tem uma configuração para desativá-lo. Quão difícil pode ser?

Existe pelo menos uma maneira de simplesmente desabilitar a ação ctrl-click, de modo que ela não pule você para a definição?

Eu concordo com a capacidade de fazer ctrl + clique executar "Go To Implementation". Na verdade, acabei neste tópico porque queria essa opção. Abrir um menu perguntando ao usuário se ele deseja ver a instrução de importação naquele mesmo arquivo ou a implementação real sempre foi meu não. 1 incômodo no VScode.

Este! IMO "ir para implementação" é muito mais natural quando feito como apontar e clicar, sendo uma extensão lógica de "ir para definição", por exemplo, a forma como funciona no ReSharper - CTRL + ALT + LMB

Ainda não tem como fazer ctrl + click no visual studio ??

@thedrean, você quer dizer código do Visual Studio (código VS), certo? O Visual Studio é um IDE completamente diferente https://visualstudio.microsoft.com

Ainda não tem como fazer ctrl + click no visual studio ??

Ainda não

+1 Isso precisa acontecer ontem. Eu pesquisei no google como remover a funcionalidade padrão Ctrl + Click porque é a coisa mais frustrante sobre o VSCode, muito decepcionado. Como @CCurl apontou, é algo que os desenvolvedores não fazem apenas diariamente, mas minuciosamente, e o padrão Go To Definition é extremamente irritante. Eu só quero selecionar um pouco de texto rapidamente, isso é pedir muito em um IDE ?!

Por que a Microsoft treinaria efetivamente os usuários para um conjunto de atalhos de teclado (estúdio visual) e, então, aparentemente como uma piada, mudaria essas ligações no VSCode? Parece um departamento de experiência do usuário insano para mim.

Outro comum é Ctrl + K + D para formatar coisas - dê-nos a opção de selecionar um "modelo" de ligação de teclado que corresponda muito bem ao Visual Studio.

Outro! Ctrl +. é tão próximo de Ctrl + que você costuma digitar errado e a janela de configurações é aberta. Irritante.

É importante lembrar que há muitos usuários do VSCode que não usavam o Visual Studio anteriormente. Embora eu possa entender que os usuários que vieram de lá esperariam as mesmas combinações de teclado e mouse, seria míope limitar a funcionalidade para simplesmente imitar as ligações do Visual Studio.

Permitir a personalização é a chave. Eu imagino que poderia haver uma variedade de extensões, uma vez que a personalização é permitida: uma para imitar as ligações do mouse do Visual Studio, outra poderia imitar as ligações genéricas do X / Unix / Linux ("clique do meio, colar", por exemplo), etc. Já existem extensões semelhantes que fazem a mesma coisa com os atalhos do teclado para imitar outros editores (Sublime, Emacs, VIM, etc), e podem ser estendidos com os atalhos do mouse também.

Não apenas "nunca usei VS", mas também "usei \"
Ou seja, a definição Ctrl + Click = peek também é (era) comum para IDE da Borland.

Mas, além disso, me encontro acenando com o mouse para fechar a guia aberta atual, com frequência. Memória muscular…

De vez em quando, eu tentava o VS Code depois de ver algumas boas melhorias no log de alterações. Mas a primeira coisa que me ocorreu é que ainda personalizo Alt + Click como definição de visualização. Então estou de volta ao IntelliJ. Acho que muitos outros estariam se sentindo da mesma maneira por não serem capazes de remapear o clique do mouse.

O Ctrl + Clique para selecionar a palavra inteira (e arraste para continuar selecionando palavra por palavra) também é um recurso de acessibilidade de amplo alcance.

Não é apenas mais fácil e confortável, mas também mais saudável (ou menos prejudicial).

Então eu encontrei uma solução (talvez imperfeita, mas ainda assim) que me permite selecionar / copiar uma palavra com um único pressionamento de tecla e substituir outra palavra pela última coisa que foi copiada. Ele usa a extensão VIM e combinações de teclas personalizadas de modo normal.

Agora posso clicar em qualquer lugar em uma palavra e pressionar [para copiar a palavra inteira. Então, posso clicar em qualquer lugar em outra palavra e pressionar] para substituir essa palavra pela palavra que acabei de copiar.

Não é perfeito e ainda estou aprendendo o jeito VIM de editar arquivos, mas ACHO que vou gostar. O VIM é muito poderoso.

image

Outra solução para oclique em problema ... instale a extensão "macros" de "geddski". Em seguida, coloque isso em seu arquivo settings.json:

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

Em seguida, vincule-os a quaisquer chaves que desejar em seu keybindings.json:

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

Agora posso clicar, F9, clicar, F10. Não é exatamente o mesmo queclique,C,clique,V, mas muito perto.

Apoio, suporte! Mesmo o Visual Studio tem a capacidade de ajustar o tamanho da fonte por meio de "ctrl + rolagem do mouse".

O VS Code também pode fazer zoom com o mouse, não sei por que você mencionou ISSO sem verificar.

+1

Há alguma chance de esse problema ser examinado? Ele agora tem 4 anos e mais de 800 votos positivos ... É o problema nº 1 que me impede de mudar para o VS Code. Especificamente, eu quero ser capaz de desativar / remapear Ctrl + Clique de 'Ir para a definição' para 'Selecionar palavra', como o Visual Studio. Embora eu receba a solicitação de configuração completa do mouse, ficaria feliz com uma configuração booleana simples para essa configuração como uma solução temporária.

Emita https://github.com/microsoft/vscode/issues/71817#issuecomment -482754429 pontos aqui, então gostaria de perguntar: Existe alguma maneira de permitir que cliques do meio do mouse (COLAR) passem pelo terminal?

Estou no MasOS Catalina com um terminal bash, que se comporta corretamente no modo autônomo, mas ignora / não recebe cliques do meio do mouse quando embutido no VSCode.

Terminal> Integrado: Comportamento do Clique do Meio
Controla como o terminal reage ao clique do meio.
(valores suspensos: iguais ao comportamento do clique com o botão direito, contanto que inclua "colar")

Eu só quero colar com o botão do meio, é comum em terminais (por exemplo, Mac, vários Linux) que deve ser oferecido como uma opção no Código VS

Mais um voto meu para poder colar com o botão do meio e copiar automaticamente ao selecionar um texto no terminal

@KrisPetkov cópia automática na seleção já é uma opção
screenshot_2020-10-12_at_14 12 58

Observe também nas configurações acima que você pode habilitar _clique com o botão direito_ colar, que embora não seja colar com o botão do meio, pode ser algo que você poderia obter usando enquanto isso

Algum progresso?

ctrl + roda -> navegar para frente e para trás

Gostaria de implementar o botão do meio do mouse para ir para a definição em vez de ter que pressionar ctrl + clique ou F12.

Esta página foi útil?
0 / 5 - 0 avaliações