Нет IntelliSense для C ++ / CLI в Visual Studio 2010? - PullRequest
50 голосов
/ 21 апреля 2010

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

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

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

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

Ответы [ 7 ]

46 голосов
/ 21 апреля 2010

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

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

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

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

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

8 голосов
/ 10 марта 2011

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

8 голосов
/ 13 августа 2010

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

6 голосов
/ 03 августа 2011

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

1 голос
/ 15 марта 2014

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

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

Теперь IntelliSenceработает.Но проблема - это ошибка, когда вы компилируете свой код!(Ошибка: ошибка LNK1123: сбой при преобразовании в COFF: файл недействителен или поврежден )

Можно просто вернуться в Свойства проекта и изменить Поддержка общеязыковой среды выполнения на «Общедоступная среда исполненияПоддержка, старый синтаксис (/clr:oldSyntax)".

Удачи.

0 голосов
/ 14 ноября 2017

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

или

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

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

0 голосов
/ 07 августа 2016

Это решение, только если вы не хотите Common Language Runtime
У меня это сработало в VS2010
Перейдите к Свойства проекта> Свойства конфигурации> Общие> Поддержка времени выполнения общего языка и установите для него значение Нет поддержки времени выполнения общего языка . Это будет хорошо работать сразу после нажатия кнопки Apply .

...