LINUX.ORG.RU

Парсер в eclipse cdt


0

0

Почему-то eclipse не выделяет ошибки в коде на этапе редактирования. Т.е. например ошибки с опечатками в имени переменных netbeans 6.8 подчёркивает сразу, а eclipse же выделяет их только после неудачной сборки проекта. Да и то, выделяет сразу всю строку с примечанием полученным от компилятора. При этом автодополнение хорошо работает и там и там.
Собственно вопрос, так и должно быть? Или можно что-нибудь настроить, чтобы eclipse тоже научился выделять примитивные ошибки без сборки проекта?
PS: Используется eclipse cdt версии 6.0.2
PSS: Какую другую среду разработки для C++ с opencv можете посоветовать?

> можно что-нибудь настроить, чтобы eclipse тоже научился выделять примитивные ошибки без сборки проекта?

Нет.

tailgunner ★★★★★
()

> Почему-то eclipse не выделяет ошибки в коде на этапе редактирования. Т.е. например ошибки с опечатками в имени переменных netbeans 6.8 подчёркивает сразу, а eclipse же выделяет их только после неудачной сборки проекта.

В CDT парсер не на 100% соответствует компилятору, поэтому будет совсем глупо выглядеть, когда CDT не смог разобрать код, который нормально компилируется.

В NetBeans таких случаев было много, когда я его смотрел. Правда это было давно, может быть и улучшили там парсер для C++. Но все равно такой надежности в разборе кода как для java нет, поэтому будет подчеркивать корректный код, который просто не смог разобрать (какие-нибудь потроха буста с кучей шаблонов).

Если хочется подчеркивать тот код, который CDT не может разобрать, то это можно включить в настройках для semantic highlight: http://omploader.org/vNDM4dA/EclipseHighlightProblems.png

kamre ★★★
()

До тех пор, пока не будет выполняться полная компиляция еще на стадии редактирования - это сделать будет невозможно. Во первых - еще не факт, что среда знает весь envernment проекта. Во вторых - распарсить столько - вещь не простая. В третих - куча компиляторспецифичных вещей.

А орать об ошибке которой нет - плохо

namezys ★★★★
()

KDevelop4? Пытается парсить код, имеет весьма продвинутое автодополнение в С++ и подсвечивает некоторые ошибки.

Pavval ★★★★★
()
Ответ на: комментарий от Pavval

т.е. сейчас RC1, скоро будет RC2. А Релиз 1-го мая.

Pavval ★★★★★
()

Пользуюсь Eclipse Galileo + CDT с сайта, SP2. Сколько помню - Эклипс всегда хорошо подсвечивал потенциальные ошибки в C++, собственно 90% ошибок/опечаток я исправляю до этапа компиляции. Практически всё что Эклипс подчёркивает жёлтым цветом подлежит исправлению.

Dendy ★★★★★
()
Ответ на: комментарий от Dendy

> Практически всё что Эклипс подчёркивает жёлтым цветом подлежит исправлению.

Это совсем грубые синтаксические ошибки. Без анализа семантики.

kamre ★★★
()
Ответ на: комментарий от Dendy

> Практически всё что Эклипс подчёркивает жёлтым цветом подлежит исправлению.

Там не так много. Насколько я понял, топикстартеру нужно что-то вроде Emacs flymake-mode.

tailgunner ★★★★★
()
Ответ на: комментарий от kamre

Спасибо за совет, это похоже на то, что надо, хотя и достаточно много правильного кода выделяет по ходу дела. Видать в нетбинсе парсер лучше таки работает.

angrycore ★
() автор топика
Ответ на: комментарий от Pavval

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

angrycore ★
() автор топика
Ответ на: комментарий от angrycore

У меня тоже были пару месяцев назад креши, но я отписался и их весьма оперативно пофиксили. Радует, что разрабы занимаются профилированием и исправлением ошибок вместо безмозглого наращивания функционала.

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

Pavval ★★★★★
()
Ответ на: комментарий от Pavval

ошибки в именах полей, методов эклипса может показать при редактировании - существующие имена подсвечиваются синим цветом
пересборка бывает нужна если ввел новую переменную
или не про то речь?

x905 ★★★★★
()
Ответ на: комментарий от x905

>ошибки в именах полей, методов эклипса может показать при редактировании - существующие имена подсвечиваются синим цветом

пересборка бывает нужна если ввел новую переменную

или не про то речь?

Ну в kdevelop пересборка не нужна, подчеркивает неправильные поля и не определенные переменные (с учетом областей видимости). Выделяет переменные разными цветами, так что легче ориентироваться по коду. При этом не путается в разных областях видимости.

Pavval ★★★★★
()
Ответ на: комментарий от Pavval

>Выделяет переменные разными цветами
Ну и не только переменные, а соб-сно все.

Pavval ★★★★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.