Нет IntelliSense для С++/CLI в Visual Studio 2010?

Я просто перешел из Visual Studio 2008 в Visual Studio &nbsp, 2010 (окончательный) и заметил один главный недостаток:

Когда я пытаюсь использовать автозаполнение в исходном файле С++ для управляемого С++, появляется небольшое примечание в нижнем колонтитуле:

IntelliSense для С++/CLI недоступен

Uh, IntelliSense для С++/CLI был удален из Visual Studio 2010? Есть ли способ вернуть это? Это довольно полезно...

Ответ 1

Вы правы. К сожалению, он был удален. Вы можете проверить эту открытую проблему на веб-сайте Microsoft Connect.

Я просто процитирую их ради ответа:

К сожалению, в этом выпуске нам пришлось сократить поддержку intellisense для С++/CLI из-за ограничений по времени. Если вы хотите получить некоторые intellisense, такие как быстрая информация и список участников на родных классах, вы можете получить его, выбрав no/clr support в свойствах проекта.

О возврате intellisense, ваши лучшие шансы на данный момент используют сторонние инструменты, такие как VA Assist. Я пробовал его с Visual Studio 2008, а его IntelliSense намного лучше, чем стандартный.

Он снова доступен в Visual Studio 2012.

Ответ 2

Если вы хотите вернуть IntelliSense, установите Visual Assist X из Whole Tomato Software. Здесь вы можете получить 30-дневную пробную версию, чтобы проверить intellisense.

Ответ 3

Согласно Visual С++ Team Blog, С++/CLI Intellisense будет в следующей версии Visual Studio, но не в пакете обновления для VS2010. Это сообщение в блоге также дает некоторые детали относительно того, что пошло не так и привело к этому печальному состоянию.

Ответ 4

Я не знаю, можете ли вы использовать эти настройки, но это работает для меня. Я проверяю только поддержку Common Language RunTime для файлов cpp, которые его используют. Я не проверяю его на весь проект, и у меня есть intellisense для всех файлов, которые не используют CLI.

Ответ 5

Да! вы можете включить IntelliSence, но сложным способом. Следуйте этим инструкциям:

  • Перейдите к своим свойствам проекта. (Щелкните правой кнопкой мыши имя вашего проекта в Проводник проекта и выберите Свойства. или просто Alt + Enter)
  • В свойствах конфигурации выберите "Общие"
  • В правой части найдите "Common Language Runtime Support" и измените его на "Нет поддержки времени обычного языка".
  • Нажмите кнопку OK.

Теперь IntelliSence работает. Но проблема заключается в ошибке при компиляции кода! (Ошибка: ошибка LNK1123: сбой при преобразовании в COFF: файл недействителен или поврежден)

Вы можете просто вернуться к "Свойства проекта" с заменой "Common Language Runtime Support" на "Common Language Runtime Support" , "Старый синтаксис" (/clr: oldSyntax) ".

Удачи.

Ответ 6

Это решение только в том случае, если вы не хотите Common Language Runtime
Это сработало для меня в VS2010
Перейдите в Project Propreties > Configuration Properties > General > Common Language Runtime Support и установите Отсутствие поддержки обычного языка. Это будет прекрасно работать сразу после нажатия кнопки Применить.

Ответ 7

Как уже упоминалось, вы можете установить какое-то платное программное обеспечение, такое как "Visual Assist X от Whole Tomato Software".

или

Вы можете использовать инструменты с открытым исходным кодом, которые содержат intellisense *, одним из таких инструментов является Qt Creator 3.3.1 (opensource). У вас есть два варианта: либо настроить весь проект с помощью Qt для компиляции с использованием компилятора VS2010, либо использовать Qt для ссылки на ваши исходные файлы и скомпилировать с VS2010. Вы пишете свой код в Qt, сохраняете, переводите окна на vs2010 и компилируете и отлаживаете.

Когда изменения сохранены в Qt, vs2010 автоматически перезагрузит исходный файл в проекте и вы сможете скомпилировать.