VisualWorks Smalltalk-подобная IDE для C ++ (Linux) - PullRequest
3 голосов
/ 30 ноября 2008

Sup bros,

Есть ли что-нибудь для C ++, которое отображает иерархии классов в виде дерева на левой панели? Я уже некоторое время использую VisualWorks Smalltalk, и способ отображения классов и разрозненных методов позволяет очень легко создать представление о том, что делает класс. К сожалению, я не могу найти ничего подобного для C ++. Есть ли в Eclipse такой режим?

Спасибо, frapple_hok

Ответы [ 3 ]

1 голос
/ 01 декабря 2008

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

  • Нет центрального хранилища или изображение со всеми активными классами в этом. Определения классов распространяться вокруг многих файлов.

  • Определения классов и файлы живут в отношения М: М. Не все класс обязательно определяется в один файл и один файл может иметь код для более чем одного класса.

В Linux KDevelop , Eclipse и различные другие все имеют поддержку C ++ и большую или меньшую степень поддержки самоанализа, что возможно на произвольная база исходного кода C ++.

Вы также можете получить некоторый пробег от ctags , который анализирует файлы исходного кода и определяет определения для типов, классов, членов и т. Д. Это может использоваться с любым приличным редактором, таким как vim , emacs или , многие другие редакторы и IDE . В редакторе исходного кода, который поддерживает теги, вы можете поместить курсор на ссылку и перейти к ее определению. Это не так хорошо, как Inspect , но у вас нет концепции работающего образа. Ближайший от вас к этому отладчик, такой как DDD.

0 голосов
/ 18 ноября 2009

Есть как минимум два варианта, о которых я знаю:

  1. OO Browser , цель которого - перевести браузеры в стиле Smalltalk на другие языки. Я не знаю, насколько хорошо поддерживается проект, но, несмотря на его довольно тусклый внешний вид, он работал очень хорошо в последний раз, когда я пытался его использовать (что было бы около трех лет назад).
  2. Code Browser , который предназначен для предоставления общих способов навигации и управления сложными иерархиями кода. Он предоставляет много способов просмотра кода, но одним из них действительно является модель браузера Smalltalk (например, посмотрите на этот снимок экрана самого редактирования браузера кода)
0 голосов
/ 30 ноября 2008

Caveat emptor: Я никогда не использовал этот инструмент сам. (Хотя возможно начну ...)

Из многолетнего опыта я узнал, что я могу поместить "emacs" + что угодно в google и найти его. (Буквально что угодно! У некоторых людей слишком много свободного времени на руках ...)

В этом случае «браузер класса emacs» включается EBROWSE, , что может быть тем, что вы ищете.

В терминах "левой панели", emacs поддерживает разделение одного окна по вертикали (split-window-vertical) или по горизонтали (split-window-horizontally), как вам нравится. Или используя несколько окон, если хотите (make-frame-command).

Что касается более типичных функций IDE, emacs поддерживает блокировку шрифтов (раскрашивание), интеграцию make (переход к ошибке), интеграцию gdb (отладку), авто-отступ на основе языка, TAGS [etags] (определение перехода к тегу ), различие двух файлов (или файла против ревизии), регистрация / извлечение в / из систем ревизии исходного кода, проверка орфографии и т. д. (я уверен, что другие записи в stackoverflow высветили многие функции emacs. Или попробуйте slashdot. Определенно проверьте «завершить» функцию! (требуется «завершение») И, возможно, «align-regexp» тоже!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...