Visual Studio 2019 IntelliSense изменен (как получить предыдущее поведение?) - PullRequest
0 голосов
/ 15 апреля 2020

С тех пор, как я перешел на VS 2019 (с 2017 года), я почти уверен, что получил ухудшенный опыт IntelliSense. Я искал настройки в разделе Инструменты -> Параметры ... но не нашел ничего полезного.

Дело в следующем: предположим, у меня есть переменная kvp, которая имеет свойство Key, я мог бы напечатать "ключ.", выделите свойство «Ключ» (если оно еще не выбрано) и введите «;» чтобы завершить утверждение.

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

.;

Единственный способ получить выбранное свойство - явно нажать Enter. То же самое, когда я набираю первые символы, чтобы выбрать желаемую опцию: при нажатии; он просто оставляет то, что я уже набрал, и добавляет; сразу за ним, игнорируя то, что я выбрал во всплывающем меню.

Что случилось и как мне вернуть правильное поведение?

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

Вот часть моего кода для Perry. Это всего лишь пример, хотя проблема (или то, что я считаю проблемой) возникает с любой переменной объекта.

private static void AddBlockNodes(TreeNode node, IDictionary<string, Block> blocks)
{
    foreach (KeyValuePair<string, Block> kvp in blocks)
    {
        string name = kvp.Key;
        Block block = kvp.Value;

        TreeNode childNode = new TreeNode(name);
        childNode.Tag = block;

        node.Nodes.Add(childNode);
        AddBlockNodes(childNode, block.Subblocks);
    }
}

1 Ответ

1 голос
/ 16 апреля 2020

он просто оставляет то, что я уже набрал, и добавляет; сразу за ним, игнорируя то, что я выбрал во всплывающем меню. Что случилось и как мне вернуть правильное поведение?

Это довольно ненормальное поведение, и я установил Visual Studio 16.6.0 Preview 2.1 и проверь свой код на моей стороне, и он работает хорошо.

Введите переменную kvp., затем выберите свойство Key и введите его, как ожидается. Я не столкнулся с отсутствующим свойством Key во время процесса.

Вы можете попробовать выполнить следующие действия для устранения проблемы:

Предложение

1) сброс всех настроек с помощью Tools -> Import and Export Settings -> Reset all settings

2) закрыть VS Instance, ввести путь к проекту и удалить .vs скрытая папка, в которой хранятся некоторые настройки Intellisense, папка bin, obj, а затем перезапустите проект. Интересно, перенесете ли вы старый проект в предварительную версию VS2019, я думаю, что вы должны выполнить этот шаг.

3) отключить любые сторонние расширения, если у вас есть в разделе Расширения -> Управление расширениями в случае, если они вызывают это поведение.

4) удалите все кэши компонентов в C:\Users\xxx\AppData\Local\Microsoft\VisualStudio\16.0_xxx(16.0 is VS2019)\ComponentModelCache

5) попробуйте создать новый проект в Предварительная версия VS2019 и проверьте, сохраняется ли эта проблема на новой платформе, и если она работает, я думаю, что это проблема самого вашего проекта. Или вы можете попробовать перенести ваш проект в новый проект.

Надеюсь, он вам поможет.

...