Обнаружение ошибок C ++ в Visual Studio 2005 - PullRequest
0 голосов
/ 03 августа 2009

Исходя из другой среды разработки (в основном Java), я пытаюсь провести аналогии с привычками, к которым я привык.

Я работаю с проектом C ++ в Visual Studio 2005, после компиляции проект компилируется ~ 10 минут. Кажется странным, что если я сделаю небольшую синтаксическую ошибку, мне нужно подождать несколько хороших минут, чтобы получить отзыв об этом от компилятора при запуске всей сборки проекта.

Eclipse дал мне привычку, что, если я сделаю небольшое изменение, я немедленно получу ошибку компилятора с подчеркиванием, показывающим ошибку. Кажется достаточно разумным, чтобы VS мог это сделать.

alt text

Это что-то, что я могу включить в VS или мне нужен внешний плагин для этого?

Ответы [ 7 ]

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

Запрашиваемая функция будет доступна в Visual Studio 2010. Вот подробная ссылка на подробности , которые будут доступны.

На данный момент, как предлагали другие, вы можете использовать Visual Assist, который может немного помочь.

Это называется Squiggles BTW.

4 голосов
/ 03 августа 2009

Вы можете попробовать следующее:

  • установите плагин, такой как Visual Assist: он сообщит вам о большинстве ошибок;
  • Если вы хотите проверить себя, используйте Ctrl-F7 для компиляции файла, который вы в данный момент редактируете - в таком случае вам не нужно будет ждать компиляции всего проекта. Если вы редактируете заголовочный файл, скомпилируйте один из файлов .cpp, в который он включен.
2 голосов
/ 03 августа 2009

Да, C ++ известен своими временами сборки. Visual Studio не может выполнять синтаксическую проверку на лету (в случае C ++), но вы можете установить Visual Assist , чтобы помочь с этим:

alt text
(источник: wholetomato.com )

1 голос
/ 03 августа 2009

У вас есть «окно списка ошибок», в котором будут перечислены ваши ошибки и предупреждения после компиляции . Если вы дважды щелкнете по ошибке, она сразу перейдет к проблемной строке кода в вашем источнике. Это в меню Дисплей, подменю «Другие окна».

Имейте в виду, что компиляция C ++ является гораздо более сложной задачей, чем компиляция Java, что объясняет увеличение времени.

Visual Assist X очень классный, но обнаруживает только опечатки.

Он не может быть скомпилирован «на лету», что объясняет, какую функцию вы запрашиваете, невозможно. Если у вас многоядерный компьютер, вы можете включить параллельное построение.

Инструменты -> Параметры -> Проекты и решения -> Создать и выполнить -> Максимальное количество параллельной компиляции.

1 голос
/ 03 августа 2009

10 минут довольно долго ждать, вы каждый раз делаете полную сборку? Есть много методов, которые вы можете использовать, чтобы ускорить это, например, использование предварительно скомпилированных заголовков. Я пытаюсь организовать свой код так, чтобы я внес все свои существенные изменения в файл кода вместо заголовка, а затем просто строю этот файл (ctrl F7) для проверки на наличие ошибок.

0 голосов
/ 03 августа 2009

Eclipse дал мне привычку, что, если я сделаю небольшое изменение, я немедленно получу ошибку компилятора с подчеркиванием, показывающим ошибку. Кажется достаточно разумным, чтобы VS мог это сделать.

Eclipse внедрил свой собственный Java-компилятор и запускает его в фоновом режиме каждый раз, когда вы вводите слово, чтобы иметь возможность обнаруживать и подчеркивать ошибки. Я не знаю, назову ли я это "разумным". ;)

Для реализации этой функции требуется много работы даже на таком простом языке, как Java. В C ++, где, как вы обнаружили, компиляция может занять несколько минут, это еще сложнее.

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

0 голосов
/ 03 августа 2009

Resharper для C # есть. Но для C ++, может быть, визуальная помощь х?

...