Запобігання автозаповненню в Visual Studio Code


102

Я використовую новий код Visual Studio , який явно ще не готовий до прайм-тайму, але я сподіваюся вирішити проблему, яку маю.

У файлі SQL кожен раз, коли ви вводите текст case, він автоматично додається end, ніби ви будуєте caseблок. Навіть якщо ви в коментарі або використовуєте Caseяк частину слова (наприклад, select CaseID from...). Я хотів би повністю вимкнути цю нісенітницю, оскільки вона не робить для мене хорошої роботи з автозаповненням речей.

Єдині параметри конфігурації, які я можу знайти, я вже встановив:

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

Будь-які інші ідеї щодо того, як це зупинити?

Це також стосується таких речей, як begin(додає end), і я впевнений, набагато більше.


3
Обхідним шляхом є натискання клавіші ^ Z після введення caseабо begin. Це все ще біль.
zedfoxus

Відповіді:


167

В останній версії Visual Studio Code я з'ясував, що

"editor.acceptSuggestionOnCommitCharacter": false

конфігурація вимикає цю поведінку.


59
Дякую за це. Я набирав текст render(і отримував CanvasRenderingContext2Dзамість цього. WTF?!?!?! Це не дозволило б мені писати те, що я вводив без відключення символу коміту. Який жахливий дефолт. Редактори не повинні замінювати те, що ви вводите, без вашого дозволу.
Бреннан Ченг,

14
Ще гірше, коли воно змінюється на щось похмуре і автоматично вставляє імпорт для цього небажаного символу ..
Дарій,

1
@shybovycha Так, я додаю "editor.acceptSuggestionOnCommitCharacter": false до settings.json вручну, але він не працює належним чином . Я маю на увазі його автоматичне заповнення після перезапуску VScode. Не знаю, чому.
tucq88

4
Подякуйте, бо getData+ (=> __acrt_get_locale_data_prefix()просто не допомагає моїй продуктивності.
alter igel

1
Я змінив це, бо це зводило мене з розуму робити імпорт JS. Однак мені також довелося додати: "editor.quickSuggestions": false,так, щоб кожного разу, коли я вводив "const", я не отримував величезного і нерелевантного списку, що вимагає клацання ESCміж ключовим словом та ім'ям змінної.
Ніл Гай Ліндберг,

58

На даний момент, через рік, Visual Studio Code досить крутий і готовий до прайм-тайму. Але я досі не знайшов способу просто повністю вимкнути автозавершення.

Але вони мають деякі речі у своїх документах: https://code.visualstudio.com/docs/editor/intellisense#_customizing-intellisense

В основному я вкладаю це в своє, settings.jsonщоб спробувати вимкнути його для робочої області. Але я все одно маю це оцінити.

// 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
Я , ймовірно , використовуючи нову версію , так як це було написано , але для мене "editor.quickSuggestions"це об'єкт , де можна налаштувати 3 додаткових значень: { "other": false, "comments": false, "strings": false }. Також, можливо, VS Code досить розумний, щоб бачити "editor.quickSuggestions": falseі встановлювати всі 3 на false
Бред Купіт

Я не зміг слідувати інструкціям. Будь ласка, вдосконаліть відповідь
userJT

3
acceptSuggestionOnEnterтепер має бути встановлено на "off"останні версії.
rjh

2
Я не можу терпіти wordBasedSuggestions, що схильний повторно пропонувати ті самі орфографічні помилки / друкарські помилки, зроблені в минулому; "Ось назва функції, яка виглядає оманливо схожою на справжню, але це не так!"
jrh

12

Це працює для мене станом на 2019 - 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
Додайте це, щоб вимкнути підказки при наведенні курсора:"editor.hover.enabled": false
Vidar

7

У поточній версії VS Code додайте це до своїх налаштувань користувача:

"editor.quickSuggestions.other": false

Це відключає більшість помилкових пропозицій.


7

Це не правильна відповідь, але це може бути ще кращим варіантом. Збільшити:

Редактор: Затримка швидких пропозицій

від 50 мс (за замовчуванням) до 500-1000 мс.

У цьому випадку у вас буде півсекунди, щоб перемогти варіант автозавершення, чого може вистачити на 95% часу, і ви не втратите функціональність, яка може вам знадобитися в деяких випадках.


Чудова відповідь. Я це зробив. Ви можете встановити його на ще більше число і кинути виклик собі, чи зможете ви автозаповнюватись швидше, ніж машина ;-)
PatrickT

3

Повторюючи відповідь, щоб полегшити людям скіммінг. Відкрийте свої налаштування за допомогою ⌘+,або Ctrl+,.

{
    "editor.quickSuggestions": false
}

Натомість слід внести зміни до існуючої відповіді. Інструкції та підсвічування синтаксису є гарними доповненнями, але деякі
повторні

2
Проблема полягає в тому, що інші відповіді є більш вичерпними, хоча і не такими корисними в моєму випадку, оскільки мені просто потрібен був один параметр. Я не хочу видаляти деталі з їхніх відповідей, а лише зосередитись на тій, яка мені потрібна.
ubershmekel

2

Я зробив цю зміну для версії 1.22.1

"editor.wordBasedSuggestions": хибне

Це запобігає завершенню слова, яке вже сталося.


Виконайте зазначені вище зміни в налаштуваннях користувача, які можна знайти у меню Файл -> Налаштування -> Налаштування


-1

це, можливо, допомогло вам >> editor.acceptSuggestionOnCommitCharacter: false

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.