Почему Intellisense "Недоступен для С++/CLI"?
Возможный дубликат:
Нет IntelliSense для С++/cli в visual studio 2010?
Как уже сказано в заголовке, ничего не выдается или синтаксис не проверяется. В строке состояния отображается следующее сообщение.
Intellisense 'Недоступно для С++/CLI'
Обычно я использую собственный С++ в Visual С++ 2010 Express.
В Visual С++ 2008 Intellisense корректно работает для С++/CLI, поэтому я думаю, что он тоже должен работать в этой версии.
Ответы
Ответ 1
Анализатор IntelliSense в С++ IDE должен был быть переработан, у него были хронические проблемы, которые не улучшались с каждым выпуском. Случайное повреждение файла .ncb, база данных IS была безудержной. Для VS2010 он был полностью переписан, новый парсер и новый способ хранения результатов. Теперь файл .sdf, база данных SQL Compact. Парсер был написан Edison Design Group, они известны тем, что были единственными, кто когда-либо писал парсер С++, который полностью реализует стандарт.
К сожалению, у них не было ресурсов, чтобы дать С++/CLI такое же лечение. Работа отложена, она определенно не сделает это для SP1. Отчет о связи с подключением здесь, всего 24 голоса. Передайте свой голос.
EDIT: об этом позаботились в VS2012, он снова поддерживает IntelliSense для С++/CLI. И С++/CX - языковое расширение для поддержки WinRT, которое имеет синтаксис, очень похожий на С++/CLI, вероятное вдохновение для выполнения этой работы.
Ответ 2
Из http://connect.microsoft.com/VisualStudio/feedback/details/459187/intellisense-unavailable-for-c-cli:
Привет,
Как команда, которая придумала С++/CLI, мы твердо убеждены в том, что это один из лучших способов взаимодействия с управляемым кодом (независимо от того, должны ли они открывать собственные объекты или потреблять управляемые).
Я хочу пояснить, что, хотя мы не можем решить эту проблему, мы уменьшили поддержку С++/CLI только из-за ограничений времени и ресурсов. Это НЕ означает, что мы дистанцируемся от технологии. Вы все еще можете видеть управляемые классы в классе, искать символы, получать описания/декларации и конструктор Winforms и функциональность модуля тестирования продолжают работать.
К сожалению, потребовалось бы много времени, чтобы добавить полную поддержку семантики С++/CLI к нашему новому парсеру Intellisense, и мы хотели получить это в руки разработчиков на тот момент. К сожалению, мы не смогли сделать все это в одном выпуске, и мы в конечном итоге намерены принести эту поддержку в движок Intellisense.
Спасибо,
Борис Джабес
Команда Visual С++