Настроить автозаполнение Visual Studio для вывода списка классов вне пространства имен? - PullRequest
0 голосов
/ 11 января 2020

Когда я набираю автозаполнение / intellisense для Visual Studio, если то, что я пытаюсь сослаться, не является частью текущего пространства имен, оно вообще не будет отображаться.

Есть ли способ заставить автозаполнение Visual Studio включать имена классов, которые есть в моем решении, но не обязательно в моем текущем пространстве имен? Это было бы похоже на то, как автозаполнение для Typescript работает в VS Code - оно перечисляет вещи, которые соответствуют тому, что вы печатаете, а затем автоматически импортирует их по завершении.

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

Если это вещь для Visual Studio, Я не могу понять, как настроить это, чтобы сделать это.

Ответы [ 2 ]

1 голос
/ 11 января 2020

ReSharper вы будете делать работу (дорогой, но мощный). https://www.jetbrains.com/help/resharper/Coding_Assistance_Code_Completion_Auto.html

Если вам нужно просто расширить VS intellisense, вы можете попробовать это: https://marketplace.visualstudio.com/items?itemName=Dreamescaper.IntellisenseExtender2019

0 голосов
/ 11 января 2020

Я полагаю, что проблема связана с отсутствием ссылки одного проекта на другой. В проекте, над которым вы работаете, необходимо вручную добавить ссылку на проект, к которому вы пытаетесь обратиться.

Щелкните правой кнопкой мыши узел проекта в обозревателе решений> Добавить> Справка> Проекты> (ваш имя проекта)

Затем в коде вы, вероятно, захотите включить оператор using для ссылки на пространство имен и классы. Что-то вроде: using YourNamespace; using YourNamespace.YourClass; и т. Д. В зависимости от ваших потребностей.

Но с добавленной ссылкой VS сможет найти пространства имен (аналогично добавлению внешней библиотеки).

Следует помнить, что IntelliJ и функции автозаполнения в VS Code работают по-разному, чем Intellisense для C#. Первый в основном просто просматривает код на предмет сходного использования, и из этого следует, что он является потенциальным членом / функцией того, на что вы ссылаетесь. Вы увидите это в обычных текстовых редакторах, таких как Atom и так далее. Автозаполнение для C# гораздо сложнее, а VS делает гораздо больше с чтением реального кода и меньше занимается выводом. Я предполагаю, что это было сделано, потому что им легче реализовать только на основе природы языков.

...