Изменить порядок поведения завершения оператора VS Intellisense - PullRequest
1 голос
/ 02 октября 2019

Я сейчас занимаюсь разработкой проекта по настройке intellisense. Intellisense имеет текущее поведение, вызывая ICompletionSource, затем следует ISignatureHelpSource.

ICompletionSource: Предоставляет дополнения для данного типа содержимого.

ISignatureHelpSource: Определяет поставщика подписисправочная информация, используемая в процессе IntelliSense.

Можно ли таким образом изменить порядок?

1 Ответ

0 голосов
/ 02 октября 2019

Это способ, которым я могу изменить порядок?

Я не вижу, как.

Если, скажем, у вас есть пустой текстовый файл, который поддерживает VSIX,как только вы начинаете вводить (что угодно, кроме ()), поставщики завершение операторов (SC) получают возможность предлагать предложения. Они отвечают за такие вещи, как ключевые слова; модификаторы; классимена; {; } и т. д.

Однако, как только вы наберете (, справка по подписи (SH) поставщикам затем предоставляется возможность предлагать предложения на основе распознанного имени метода Поставщики возвращают справочную информацию для любых подписей для распознанного имени метода (если есть) .

Они оба служат совершенно разным целям. Когда все сделано правильно, провайдеры SC перечисляют, какие разные «методы» (Boing(); Bounce(); Ping();) доступны, и как только вы сделаете выбор, SH покажет, какие аргументы необходимы.

Вы можете создать свой собственный тип файла, который включенПризнан вашим VSIX и имеет любую комбинацию завершения оператора + поддержки справки подписи.

т.е. вполне возможно иметь только справочную подпись, но нет завершение оператора. * Пример 1 033 *

...