Почему функции, принадлежащие классу, не отображаются в Visual C ++? - PullRequest
0 голосов
/ 16 февраля 2011

Я использую Visual C ++ в Visual Studio 2010 Express, и в прошлом я помню, когда вы используете строковый объект и после точки (например: .), все функции-члены будут отображаться в списке, но это не такпроисходит.

string myString = "hello world";
myString.

После ввода точки все функции, являющиеся частью строкового класса, не отображаются.Где в Visual C ++ настройки, позволяющие их показывать?

1 Ответ

5 голосов
/ 17 февраля 2011

Функциональность, на которую вы ссылаетесь, называется IntelliSense на языке Microsoft, их версия автозаполнения для имен переменных, функций и методов.

IntelliSense не являетсяподдерживается в Visual Studio 2010 для проектов C ++ / CLI.Вы получите IntelliSense только для проектов, написанных в нативном коде C ++.Это объясняется более подробно здесь в блоге команды Visual C ++.Существует также ошибка , поданная в Microsoft Connect;Официальное слово это:

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

Спасибо!
Команда Visual C ++

Это печальная новость для многих из нас, кто работает с проектами C ++ / CLI, и у нас не так много вариантов.Здесь был задан вопрос, касающийся этих опций: Какие люди заменяют отсутствующий C ++ / CLI Intellisense в VS 2010 на? Резюме: люди либо возвращаются к VS 2008
(я полагаю, что ExpressВыпуск 2008 по-прежнему доступен для скачивания, если вы посмотрите вокруг), или приобретает стороннее программное обеспечение, такое как Visual Assist X , которое обещает вернуть IntelliSense.

Однако стоит упомянуть,что Microsoft не считает C ++ / CLI «первоклассным» языком .NET.Существует небольшая (если любая ) причина для запуска новых проектов с использованием языка.Он предназначен для взаимодействия между собственным C ++ и управляемыми приложениями C #.Если вы хотите написать C ++, вы должны нацелиться на собственный Windows API (создайте новый проект Win32 в VS).Если вы хотите написать управляемый код .NET, настоятельно рекомендуется использовать вместо него C # (это другая версия Express, которую необходимо загружать отдельно).Синтаксис очень похож в C ++ и C #, но вам все равно придется изучать .NET Framework и идиомы.И нативные C ++ проекты, и управляемые C # проекты имеют очень улучшенную поддержку IntelliSense в Visual Studio 2010, поэтому вы гарантированно будете на намного счастливее с любым из этих.

...