Нет 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, но хитрым способом. Следуйте этим инструкциям:

  1. Зайдите в свойства вашего проекта. (Щелкните правой кнопкой мыши на имени вашего проекта в Project Explorer и выберите "Свойства". Или просто Alt + Enter)
  2. В свойствах конфигурации выберите Общие
  3. В правой части найдите "Поддержка общеязыковой среды выполнения" и измените ее на "Нет поддержки общеязыковой среды выполнения".
  4. Нажмите кнопку ОК.

Теперь 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 автоматически перезагрузит исходный файл в проекте, и вы сможете скомпилировать.

Другие вопросы по тегам