Автоматически добавлять зависимости NuGet и использовать инструкции в коде Visual Studio?
Я использую код Visual Studio для разработки приложения ASP.NET 5 на Mac. Чтобы использовать новые классы (framework или сторонние) в моем файле .cs
, мне нужно
- Вручную добавьте зависимость NuGet в
project.json
, а затем
- Вручную добавьте оператор
using
в мой файл .cs
.
Кажется, что должен быть лучший способ импортировать новые функции, которые не связаны с поиском нужного NuGet и правильного пространства имен. Любые предложения?
Ответы
Ответ 1
Хорошо, как только я понял мои проблемы с IntelliSense (Visual Studio Code на Mac), мне больше не нужно вводить инструкции using
. OmniSharp-based IntelliSense достаточно умен, чтобы предложить (Cmd + .
на Mac) добавить их для меня:
![введите описание изображения здесь]()
Мне все равно придется добавлять зависимость NuGet вручную, но я думаю, что это поведение по умолчанию в полной Visual Studio тоже, и вам нужно, чтобы ReSharper стал более умным.
![введите описание изображения здесь]()
Ответ 2
К сожалению, насколько мне известно, короткий ответ - нет.
Код Visual Studio предназначен для облегченного редактирования, поэтому у него нет поддержки той функции, которую вы описываете из коробки. Полная версия Visual Studio для Windows имеет поддержку для этого. При вводе имени типа/типа, который вы хотите использовать, например. JsonConvert, он обнаружит, что отсутствующий тип доступен на NuGet и предлагает вам возможность загрузить правильный пакет и добавить инструкцию using. (На скриншоте у меня уже установлен пакет NuGet, поэтому ему нужно только добавить оператор using)
![Roslyn Codefix]()
Эта функция доступна в версии сообщества Visual Studio, которую вы можете скачать бесплатно с сайта visualstudio.com.
Это требует, чтобы вы запускали Windows, поэтому я не уверен, считаете ли вы этот вариант.
Теперь о желательной стороне мышления: VS Code поддерживает расширения в наши дни и обладает мощью механизма Roslyn, поэтому теоретически кто-то может написать расширение, которое будет предлагать эту функциональность в будущем.
Вы также можете попробовать добавить его в основной редактор, открыв проблему в GitHub: https://github.com/Microsoft/vscode/issues
Я боюсь, что ни один из них не поможет вам в краткосрочной перспективе.