Impedir o preenchimento automático no código do Visual Studio

101

Estou usando o novo Visual Studio Code , que claramente não está pronto para o horário nobre ainda, mas espero resolver um problema que estou tendo.

Em um arquivo SQL, sempre que você digitar case, ele adiciona automaticamente end, como se você estivesse construindo um casebloco. Mesmo se você estiver em um comentário ou usando Casecomo parte de uma palavra (por exemplo, select CaseID from...). Eu gostaria de desabilitar todo esse absurdo completamente, já que não faz um bom trabalho de conclusão automática para mim.

As únicas opções de configuração que posso encontrar, já defini:

"editor.autoClosingBrackets": false,
"editor.suggestOnTriggerCharacters": false,

Alguma outra ideia sobre como parar isso?

Também é verdade para coisas como begin(acrescenta end) e tenho certeza que muito mais.

Joe Enos
fonte
3
Uma solução alternativa é pressionar ^ Z após digitar caseou begin. Ainda é uma dor.
zedfoxus,

Respostas:

168

Na versão mais recente do Visual Studio Code, descobri que o

"editor.acceptSuggestionOnCommitCharacter": false

a configuração desativa esse comportamento.

shybovycha
fonte
59
Obrigado por isso. Eu estava digitando render(e recebendo CanvasRenderingContext2Dem vez disso. WTF?!?!?! Não me deixaria escrever o que digitei sem desativar o caractere de commit. Que inadimplência horrível. Os editores não devem substituir o que você digita sem sua permissão.
Brennan Cheung
14
É ainda pior quando muda para algo maluco e insere automaticamente uma importação para aquele símbolo indesejado.
Darius
1
@shybovycha Sim, eu adiciono "editor.acceptSuggestionOnCommitCharacter": false ao settings.json manualmente, mas não funciona como esperado. Quero dizer, ainda é completado automaticamente após eu reiniciar o VScode. Não sei por quê.
tucq88
4
Agradecendo gentilmente porque getData+ (=> __acrt_get_locale_data_prefix()simplesmente não está ajudando minha produtividade.
alter igel de
1
Eu mudei isso porque estava me deixando louco para fazer importações JS. No entanto, eu também tinha que adicionar: "editor.quickSuggestions": false,para que toda vez que eu digitasse "const" eu não obtivesse uma lista enorme e irrelevante exigindo que eu clique ESCentre a palavra-chave e o nome da variável.
Neil Guy Lindberg
58

Agora, um ano depois, o Visual Studio Code está muito bom e pronto para o horário nobre. Mas ainda não encontrei uma maneira de simplesmente desligar o preenchimento automático completamente.

Mas eles têm algumas coisas em seus documentos: https://code.visualstudio.com/docs/editor/intellisense#_customizing-intellisense

Basicamente, eu coloquei isso no meu settings.jsonpara tentar desligá-lo para o espaço de trabalho. Mas ainda tenho que avaliar isso.

// Place your settings in this file to overwrite default and user settings. 
{
    // Controls if quick suggestions should show up while typing
    "editor.quickSuggestions": { "other": false, "comments": false, "strings": false },

    // Controls if suggestions should be accepted with "Enter" - in addition to "Tab". Helps to avoid ambiguity between inserting new lines and accepting suggestions.
    "editor.acceptSuggestionOnEnter": "off",

    // Controls the delay in ms after which quick suggestions will show up.
    "editor.quickSuggestionsDelay": 10,

    // Enable word based suggestions
    "editor.wordBasedSuggestions": false
}
Bart
fonte
1
Estou provavelmente a utilizar uma nova versão uma vez que este foi escrito, mas para mim "editor.quickSuggestions"é um objeto onde eu possa ajustar 3 sub-valores: { "other": false, "comments": false, "strings": false }. Além disso, talvez o VS Code seja inteligente o suficiente para ver "editor.quickSuggestions": falsee definir todos os 3 como falsos
Brad Cupit
Não consegui seguir as instruções. Melhore a resposta
userJT
3
acceptSuggestionOnEnteragora deve ser definido "off"como nas versões recentes.
rjh
2
Eu não suporto wordBasedSuggestions, que tende a re-sugerir os mesmos erros de ortografia / erros de digitação cometidos no passado; "Aqui está um nome de função que parece enganosamente semelhante a um real, mas não é!"
jrh
12

Isso funciona para mim a partir de 17 de maio de 2019.

"editor.acceptSuggestionOnCommitCharacter": false,
"editor.acceptSuggestionOnEnter": "off",
"editor.hover.enabled": false,
"editor.minimap.enabled": false,
"editor.parameterHints.enabled": false,
"editor.quickSuggestions": false,
"editor.quickSuggestionsDelay": 10,
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.suggestOnTriggerCharacters": false,
"editor.wordBasedSuggestions": false,
Charlie 木匠
fonte
3
Adicione para desativar as dicas de navegação:"editor.hover.enabled": false
Vidar
7

Na versão atual do VS Code, adicione às suas configurações de usuário:

"editor.quickSuggestions.other": false

Isso desativa a maioria das sugestões espúrias.

Steve Bennett
fonte
7

Esta não é a resposta correta, mas pode ser uma opção ainda melhor. Aumentar:

Editor: Atraso nas sugestões rápidas

de 50 ms (padrão) a 500-1000 ms.

Nesse caso, você terá meio segundo para vencer a opção de preenchimento automático, que pode ser suficiente para 95% do tempo, e você não perderá a funcionalidade que deseja em alguns casos.

Brandon Macer
fonte
Ótima resposta. Eu fiz isso. Você poderia configurá-lo para um número ainda maior e desafiar a si mesmo para ver se você pode autocompletar mais rápido que a máquina ;-)
PatrickT
3

Reiterando a resposta para facilitar a leitura das pessoas. Abra suas configurações com ⌘+,ou Ctrl+,.

{
    "editor.quickSuggestions": false
}
ubershmekel
fonte
Em vez disso, você deve fazer uma edição em uma resposta existente. As instruções e o realce de sintaxe são boas adições, mas reiterar as respostas pode ser visto por alguns como uma violação do mecanismo de votação
Samy Bencherif
2
O problema é que as outras respostas são mais abrangentes, embora não tão úteis no meu caso, porque eu só precisava de uma configuração. Não quero remover detalhes de suas respostas, apenas me concentrar naquele que eu precisava.
ubershmekel
2

Fiz essa alteração para a versão 1.22.1

"editor.wordBasedSuggestions": false

Isso impede a conclusão de uma palavra que já ocorreu.


Faça as alterações acima nas configurações do usuário, que podem ser encontradas em Arquivo -> Preferências -> Configurações

Sukumaar
fonte
-1

isso talvez tenha ajudado você >> editor.acceptSuggestionOnCommitCharacter: false

İLHAM
fonte