Impedisci il completamento automatico in Visual Studio Code


102

Sto usando il nuovo Visual Studio Code , che chiaramente non è ancora pronto per la prima serata, ma spero di risolvere un problema che sto avendo.

In un file SQL, ogni volta che digiti case, aggiunge automaticamente end, come se stessi costruendo un caseblocco. Anche se sei in un commento o usi Casecome parte di una parola (ad esempio, select CaseID from...). Vorrei disabilitare completamente tutte queste sciocchezze, dal momento che non fa un buon lavoro di completamento automatico delle cose per me.

Le uniche opzioni di configurazione che riesco a trovare, le ho già impostate:

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

Qualche altra idea su come fermare questo?

Vero anche per cose come begin(aggiunge end) e sono sicuro molto di più.


3
Una soluzione alternativa è premere ^ Z dopo aver digitato caseo begin. È ancora un dolore.
zedfoxus

Risposte:


167

Nella versione più recente di Visual Studio Code ho scoperto che il file

"editor.acceptSuggestionOnCommitCharacter": false

la configurazione disabilita questo comportamento.


59
Grazie per questo. Invece stavo scrivendo render(e ottenendo CanvasRenderingContext2D. WTF?!?!?! Non mi permetterebbe di scrivere quello che ho digitato senza disabilitare il carattere di commit. Che orribile difetto. Gli editor non dovrebbero sostituire ciò che digiti senza il tuo permesso.
Brennan Cheung

14
È anche peggio quando cambia in qualcosa di folle e inserisce automaticamente un'importazione per quel simbolo indesiderato ..
Darius

1
@shybovycha Sì, aggiungo "editor.acceptSuggestionOnCommitCharacter": false manualmente a settings.json ma non funziona come previsto. Voglio dire, è ancora completato automaticamente dopo aver riavviato VScode. Non so perché.
tucq88

4
Ringraziandoti gentilmente perché getData+ (=> __acrt_get_locale_data_prefix()non aiuta la mia produttività.
alter igel

1
L'ho cambiato perché mi stavo facendo impazzire per le importazioni JS. Tuttavia, dovevo anche aggiungere: in "editor.quickSuggestions": false,modo che ogni volta che digitavo "const" non ottenessi un elenco enorme e irrilevante che richiedeva di fare clic ESCtra la parola chiave e il nome della variabile.
Neil Guy Lindberg

58

Ormai, un anno dopo, Visual Studio Code è piuttosto interessante e pronto per la prima serata. Ma non ho ancora trovato un modo per disattivare completamente il completamento automatico.

Ma hanno alcune cose nei loro documenti: https://code.visualstudio.com/docs/editor/intellisense#_customizing-intellisense

Fondamentalmente lo metto nel mio settings.jsonper provare a spegnerlo per l'area di lavoro. Ma devo ancora valutarlo.

// 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
}

1
Sto probabilmente utilizzando una nuova versione dal momento che questo è stato scritto, ma per me "editor.quickSuggestions"è un oggetto in cui posso modificare 3 sotto-valori: { "other": false, "comments": false, "strings": false }. Inoltre, forse VS Code è abbastanza intelligente da vedere "editor.quickSuggestions": falsee impostare tutti e 3 su false
Brad Cupit

Non sono stato in grado di seguire le istruzioni. Si prega di migliorare la risposta
userJT

3
acceptSuggestionOnEnterdovrebbe ora essere impostato a "off"partire dalle versioni recenti.
rjh

2
Non sopporto wordBasedSuggestions, che si tende a riproporre gli stessi errori di ortografia / refusi fatti in passato; "Ecco un nome di funzione che sembra ingannevolmente simile a quello reale, ma non lo è!"
jrh

12

Questo funziona per me a partire dal 2019-maggio-17.

"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,

3
Aggiungi questo per disabilitare i suggerimenti al passaggio del mouse:"editor.hover.enabled": false
Vidar

7

Nella versione corrente di VS Code, aggiungi questo alle impostazioni utente:

"editor.quickSuggestions.other": false

Ciò disabilita la maggior parte dei suggerimenti spuri.


7

Questa non è la risposta corretta, ma potrebbe essere un'opzione ancora migliore. Aumentare:

Editore: Ritardo suggerimenti rapidi

da 50 ms (predefinito) a 500-1000 ms.

In questo caso, avrai mezzo secondo per battere l'opzione di completamento automatico, che potrebbe essere sufficiente per il 95% delle volte, e in alcuni casi non perderai la funzionalità che potresti desiderare.


Bella risposta. L'ho fatto. Potresti impostarlo su un numero ancora più alto e sfidare te stesso per vedere se riesci a completare automaticamente più velocemente della macchina ;-)
PatrickT

3

Ribadendo la risposta per rendere più facile per le persone che scremano. Apri le tue impostazioni con ⌘+,o Ctrl+,.

{
    "editor.quickSuggestions": false
}

Dovresti invece apportare una modifica a una risposta esistente. Le istruzioni e l'evidenziazione della sintassi sono buone aggiunte, ma la ripetizione delle risposte potrebbe essere vista da alcuni come una manomissione del meccanismo di voto
Samy Bencherif

2
Il problema è che le altre risposte sono più complete, anche se non così utili nel mio caso perché avevo solo bisogno dell'unica impostazione. Non voglio rimuovere i dettagli dalle loro risposte, solo per concentrarmi su quello di cui avevo bisogno.
ubershmekel

2

Ho apportato questa modifica per la versione 1.22.1

"editor.wordBasedSuggestions": false

Ciò impedisce il completamento di una parola che è già avvenuta.


Esegui le modifiche sopra nelle impostazioni utente che possono essere trovate in File -> Preferenze -> Impostazioni


-1

questo forse ti ha aiutato >> editor.acceptSuggestionOnCommitCharacter: false

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.