Нет IntelliSense для C++/CLI в Visual Studio 2010?
Я только что перешел из Visual Studio 2008 в Visual Studio 2010 (финальная версия) и заметил один серьезный недостаток:
Когда я пытаюсь использовать автозаполнение в исходном файле C++ для управляемого C++, в нижнем колонтитуле появляется небольшая заметка:
IntelliSense для C++/CLI недоступен
Ох, IntelliSense для C++/CLI был удален из Visual Studio 2010? Есть ли способ вернуть это? Это весьма полезно...
7 ответов
Ты прав. К сожалению, это было отброшено. Вы можете проверить эту открытую проблему на веб-сайте Microsoft Connect.
Я просто процитирую их ради ответа:
К сожалению, в этом выпуске нам пришлось сократить поддержку intellisense для C++/CLI из-за нехватки времени. Если вы хотите получить некоторую информацию о intellisense, такую как краткая информация и список участников для собственных классов, вы можете получить ее, выбрав поддержку no / clr в свойствах проекта.
Что касается возврата к intellisense, ваши лучшие шансы на данный момент - использовать сторонние инструменты, такие как, например, VA Assist. Я пробовал это с Visual Studio 2008, и его IntelliSense намного лучше, чем по умолчанию.
Он снова доступен в Visual Studio 2012.
Согласно блогу группы разработчиков Visual C++, IntelliSense для C++ / CLI будет в следующей версии Visual Studio, но не в пакете обновления для VS2010. Этот пост также дает некоторые подробности о том, что пошло не так и привело к этому печальному состоянию.
Если вы хотите вернуть IntelliSense, установите Visual Assist X от Whole Tomato Software. Здесь вы можете получить 30-дневную пробную версию для проверки intellisense.
Я не знаю, можете ли вы использовать эти настройки, но они работают для меня. Я проверяю поддержку Common Language RunTime только для файлов cpp, которые его используют. Я не проверяю это для всего проекта, и у меня есть intellisense для всех файлов, которые не используют CLI.
Да! Вы можете включить IntelliSence, но хитрым способом. Следуйте этим инструкциям:
- Зайдите в свойства вашего проекта. (Щелкните правой кнопкой мыши на имени вашего проекта в Project Explorer и выберите "Свойства". Или просто Alt + Enter)
- В свойствах конфигурации выберите Общие
- В правой части найдите "Поддержка общеязыковой среды выполнения" и измените ее на "Нет поддержки общеязыковой среды выполнения".
- Нажмите кнопку ОК.
Теперь IntelliSence работает. Но проблема - это ошибка, когда вы компилируете свой код! (Ошибка: ошибка LNK1123: ошибка при преобразовании в COFF: файл неверен или поврежден)
Вы можете просто вернуться в "Свойства проекта" и изменить "Поддержка общеязыковой среды выполнения" на "Поддержка общеязыковой среды выполнения, старый синтаксис (/clr:oldSyntax)".
Удачи.
Это решение, только если вы не хотите Common Language Runtime
У меня сработало в VS2010
Перейдите в раздел "Свойства проекта"> "Свойства конфигурации"> "Основные"> "Поддержка общеязыковой среды выполнения" и установите для нее " Нет поддержки общеязыковой среды выполнения". Это будет хорошо работать сразу после нажатия кнопки Применить.
Как уже упоминалось, вы можете установить некоторые платные программы, такие как "Visual Assist X от Whole Tomato Software".
или же
Вы можете использовать инструменты с открытым исходным кодом, которые содержат intellisense*, одним из таких инструментов является Qt Creator 3.3.1 (opensource). У вас есть два варианта: либо настроить весь проект с помощью Qt для компиляции с использованием компилятора VS2010, либо использовать Qt для связи с исходными файлами и компиляции с VS2010. Вы пишете свой код в Qt, сохраняете, переворачиваете окна на vs2010, компилируете и отлаживаете.
Когда изменения сохраняются в Qt, vs2010 автоматически перезагрузит исходный файл в проекте, и вы сможете скомпилировать.