Как отключить IntelliSense в комментариях в коде Visual Studio?

Я использую Visual Studio Code, в основном для работы с PHP. Каждый раз, когда я ударил ., IntelliSense запускает и предлагает мне глобальные PHP-функции и функции, начиная с $_COOKIE, Я обычно знаю, какой глобальный или функцию я хочу, так что это немного раздражает. Это даже происходит, когда я в пределах блока комментариев (/* ... */ или же // ...), что гораздо более раздражает. Большая часть моего времени уходит на возвращение и удаление $_COOKIE,

Пример (не PHP, но вы поняли):
Пример анимации из официальной документации

Я пытался отключить его как предложено в документах:

// Controls if quick suggestions should show up while typing
"editor.quickSuggestions": 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": true,

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

// Enable word based suggestions
"editor.wordBasedSuggestions": true

… но это абсолютно не имеет никакого эффекта. Я все еще получаю список, когда я попал в точку. Задержка увеличения от 100 в 1000тоже не имеет никакого эффекта.

  1. Как отключить IntelliSense внутри комментариев кода?
  2. Как отключить IntelliSense при ударе . и просто показать, когда я нажму Ctrl+Космос? (См. Обновление 2 ниже)
  3. Как полностью отключить IntelliSense, хотя бы для PHP?

Обновить: Как уже упоминалось Вот, отключение быстрых подсказок для триггерных символов достигается с помощью:

// Controls if suggestions should automatically show up when typing trigger characters
"editor.suggestOnTriggerCharacters": false

Тем не менее, другие варианты, упомянутые выше, по-прежнему ничего не делают.

Обновление 2: это можно связываться с . переплет добавив это к keybindings.json файл:

{
"key": ".",
"command": "x",
}

Однако это приводит к появлению предупреждающего сообщения в верхней части экрана с надписью «команда« x »не найдена». Если вы оставите это поле пустым или попытаетесь передать значение null command, он по-прежнему не работает, так как не перезаписывает привязку ключа по умолчанию. Согласно документации, можно отключить определенное действие, добавив к нему префикс -, но это не работает для меня:

"command": "-^acceptSelectedSuggestion"

или же

"command": "-acceptSelectedSuggestion"

В любом случае, acceptSelectedSuggesdtion на самом деле не команда, которая выполняется, когда я ударил ., это, вероятно, больше похоже на:

"command": "-editor.action.triggerSuggest"

Но это тоже не работает.

5

Решение

Примерно с марта или апреля 2017 года это было исправлено, а также значение по умолчанию было изменено, и в комментариях не было автозаполнения. По умолчанию это:

"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": false
},

Я не указал это явно в моих настройках, а просто провел тест со свежим файлом PHP, и я могу напечатать global. затем пробел, и не получайте ничего автоматически завершенного. (Я пробовал как основной код, так и в комментариях.) Я вижу $COOKIE всплывающее окно в качестве первого предложения, но мне нужно использовать стрелки вверх / вниз, а затем ввести, чтобы ввести его.

Ага, global. тогда ENTER дает мне global.$COOKIE (даже в комментариях, что немного странно). Я могу это исправить с помощью:

"editor.acceptSuggestionOnEnter": "off",

Чтобы увидеть другие настройки, к которым вы можете прикоснуться, перейдите на страницу настроек и введите «предложение» в поле поиска. Каждый комментируется. Например. "editor.suggestOnTriggerCharacters": false, полностью избавляется от авто-предложений.

Вы также можете указать настройки только для одного языка, например,

"[php]":  {
"editor.suggestOnTriggerCharacters": false,
},
3

Другие решения

Несмотря на Даррен Кук ответ и документы, editor.quickSuggestions настройки ничего не делают для предложений, которые появляются из-за триггерных символов (увидеть этот вопрос на GitHub). Похоже, что они подчиняются своим собственным правилам. А именно, при вводе символа триггера в строке вы никогда получить предложения, независимо от того, что вы сказали в editor.quickSuggestions; и при вводе символа триггера в комментарии или «другой», вы всегда получить предложения, независимо от того, что вы сказали в editor.quickSuggestions,

Таким образом, единственный надежный способ избавиться от того, что я называю «предложениями триггерных символов» (которые на сегодняшний день являются самым раздражающим видом!), Это использовать параметр, специально предназначенный для этого:

"editor.suggestOnTriggerCharacters": false

Если кто-то может оставить комментарий о том, как узнать, какие символы запуска являются, или, что еще лучше, как их указать, я бы с радостью отредактировал свой ответ, чтобы учесть это.

Обратите внимание, что всплывающие подсказки появляются из-за фактического сопоставления вводимых символов с известными модулями, переменными, функциями и т. Д., являются все еще контролируется editor.quickSuggestions а также не от editor.suggestOnTriggerCharacters,

0

По вопросам рекламы [email protected]