Zapobiegaj autouzupełnianiu w programie Visual Studio Code

103

Używam nowego Visual Studio Code , który najwyraźniej nie jest jeszcze gotowy na czas największej oglądalności, ale mam nadzieję, że rozwiążę problem, który mam.

W pliku SQL za każdym razem case, gdy piszesz end, jest on automatycznie dodawany , tak jakbyś budował caseblok. Nawet jeśli jesteś w komentarzu lub używaszCase jako części słowa (na przykład select CaseID from...). Chciałbym całkowicie wyłączyć wszystkie te bzdury, ponieważ nie radzi sobie dobrze z automatycznym uzupełnianiem rzeczy.

Jedyne opcje konfiguracji, które mogę znaleźć, już ustawiłem:

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

Jakieś inne pomysły, jak to zatrzymać?

Dotyczy to również rzeczy takich jak begin(dodaje end) i jestem pewien, że jest o wiele więcej.

Joe Enos
źródło
3
Obejściem problemu jest naciśnięcie ^ Z po wpisaniu caselub begin. To wciąż jest ból.
zedfoxus

Odpowiedzi:

169

W najnowszej wersji Visual Studio Code dowiedziałem się, że

"editor.acceptSuggestionOnCommitCharacter": false

konfiguracja wyłącza to zachowanie.

Shybovycha
źródło
60
Dziękuję Ci za to. Zamiast tego pisałem render(i dostawałem CanvasRenderingContext2D. WTF?!?!?! Nie pozwoliłoby mi napisać tego, co wpisałem bez wyłączenia znaku zatwierdzenia. Co za okropna niewypłacalność. Redaktorzy nie powinni zastępować tego, co wpisujesz bez Twojej zgody.
Brennan Cheung
14
Jest jeszcze gorzej, gdy zmienia się na coś dziwnego i automatycznie wstawia import dla tego niechcianego symbolu ..
Darius
1
@shybovycha Tak, dodaję "editor.acceptSuggestionOnCommitCharacter": false ręcznie do settings.json, ale nie działa to zgodnie z oczekiwaniami. Mam na myśli to, że nadal jest automatycznie uzupełniany po ponownym uruchomieniu VScode. Nie pewny dlaczego.
tucq88
4
Dziękuję uprzejmie, ponieważ getData+ (=> __acrt_get_locale_data_prefix()po prostu nie pomaga mi w produktywności.
alter igel
1
Zmieniłem to, ponieważ oszalałem na punkcie importowania JS. Musiałem jednak również dodać: "editor.quickSuggestions": false,aby za każdym razem, gdy wpisałem "const", nie otrzymywałem ogromnej i nieistotnej listy wymagającej kliknięcia ESCmiędzy słowem kluczowym a nazwą zmiennej.
Neil Guy Lindberg
58

Teraz, rok później, Visual Studio Code jest całkiem fajne i gotowe na najlepszy czas. Ale nadal nie znalazłem sposobu, aby po prostu całkowicie wyłączyć autouzupełnianie.

Ale mają pewne rzeczy w swoich dokumentach: https://code.visualstudio.com/docs/editor/intellisense#_customizing-intellisense

Zasadniczo umieściłem to w moim settings.json aby spróbować wyłączyć to w obszarze roboczym. Ale nadal muszę to ocenić.

// 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
źródło
1
Ja prawdopodobnie przy użyciu nowej wersji, ponieważ to zostało napisane, ale dla mnie "editor.quickSuggestions"jest to obiekt, gdzie mogę podkręcić 3 podrzędne wartości: { "other": false, "comments": false, "strings": false }. Może też VS Code jest na tyle sprytny, by zobaczyć "editor.quickSuggestions": falsei ustawić wszystkie 3 na fałsz
Brad Cupit
Nie mogłem wykonać instrukcji. Popraw odpowiedź
userJT
3
acceptSuggestionOnEnterpowinien być teraz ustawiony na "off"najnowsze wersje.
rjh
2
Nie mogę znieść wordBasedSuggestions, że ktoś ma tendencję do ponownego sugerowania tych samych błędów ortograficznych / literówek, które popełniono w przeszłości; „Oto nazwa funkcji, która wygląda na łudząco podobną do prawdziwej, ale tak nie jest!”
jrh
13

To działa dla mnie od 17 maja 2019 r.

"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 木匠
źródło
3
Dodaj to, aby wyłączyć podpowiedzi po najechaniu:"editor.hover.enabled": false
Vidar
To działa dla mnie!
AmolR
8

To nie jest poprawna odpowiedź, ale może to być jeszcze lepsza opcja. Zwiększać:

Wydawca: Opóźnienie szybkich sugestii

od 50 ms (domyślnie) do 500-1000 ms.

W takim przypadku będziesz mieć pół sekundy na pokonanie opcji autouzupełniania, która może wystarczyć na 95% czasu, a nie stracisz funkcjonalności, której możesz potrzebować w niektórych przypadkach.

Brandon Macer
źródło
Świetna odpowiedź. Ja to zrobiłem. Możesz ustawić go na jeszcze wyższą liczbę i rzucić wyzwanie, aby sprawdzić, czy możesz autouzupełnianie szybciej niż maszyna ;-)
PatrickT
7

W aktualnej wersji programu VS Code dodaj to do ustawień użytkownika:

"editor.quickSuggestions.other": false

To wyłącza większość fałszywych sugestii.

Steve Bennett
źródło
3

Powtarzam odpowiedź, aby ułatwić ludziom przeglądanie. Otwórz ustawienia za pomocą ⌘+,lub Ctrl+,.

{
    "editor.quickSuggestions": false
}
ubershmekel
źródło
Zamiast tego dokonaj edycji istniejącej odpowiedzi. Instrukcje i podświetlanie składni to dobre uzupełnienie, ale powtarzanie odpowiedzi może być postrzegane przez niektórych jako manipulowanie mechanizmem głosowania
Samy Bencherif
2
Problem w tym, że inne odpowiedzi są bardziej wyczerpujące, choć nie tak przydatne w moim przypadku, ponieważ potrzebowałem tylko jednego ustawienia. Nie chcę usuwać szczegółów z ich odpowiedzi, po prostu skupić się na tym, którego potrzebowałem.
ubershmekel
2

Dokonałem tej zmiany dla wersji 1.22.1

"editor.wordBasedSuggestions": false

To uniemożliwia uzupełnienie słowa, które już się pojawiło.


Wykonaj powyższe zmiany w ustawieniach użytkownika, które można znaleźć w menu Plik -> Preferencje -> Ustawienia

Sukumaar
źródło
-1

to może ci pomogło >> editor.acceptSuggestionOnCommitCharacter: false

İLHAM
źródło