иногда нужно "пропахать" исходники какой-нибудь сторонней программы/библиотеки либо частей, те не пытаться откомпилировать/собрать, а только чтение кода
те сидишь на windows, а надо смотреть надо те сорцы, которые компилятся в старых версиях vs, в билдере, линуксовые сорцы
какими средствами пользуетесь?
Здравствуйте, tehKosh, Вы писали:
K>иногда нужно "пропахать" исходники какой-нибудь сторонней программы/библиотеки либо частей, те не пытаться откомпилировать/собрать, а только чтение кода K>те сидишь на windows, а надо смотреть надо те сорцы, которые компилятся в старых версиях vs, в билдере, линуксовые сорцы K>какими средствами пользуетесь?
В таком контексте использую Emacs, на Windows в том числе.
В него интегрируется простая навигация по символам на базе GNU Global — она не требует модели проекта, быстро индексирует, но как следствие не точна, тем не менее для быстрой навигации по случайному проекту вполне годится (для точной есть Rtags на базе Clang).
Также есть встроенный интерактивный grep.
В нём же навигация по файлам на базе Projectile + Helm — вводишь кусочки пути к файлу, и в ответ получаешь список на выбор, отфильтрованный fuzzy search.
В нём же есть интеграция с VCS, например Magit для Git.
Помимо этого разнообразные закладки, разбиение фрейма на окна, множественные фреймы и т.д. и т.п.
Здравствуйте, tehKosh, Вы писали:
K>иногда нужно "пропахать" исходники какой-нибудь сторонней программы/библиотеки либо частей, те не пытаться откомпилировать/собрать, а только чтение кода K>те сидишь на windows, а надо смотреть надо те сорцы, которые компилятся в старых версиях vs, в билдере, линуксовые сорцы K>какими средствами пользуетесь?
QT Creator, импортируешь исходники из директории, а он в этих исходниках дает переход к месту определения символа, места использования символа и тому подобные возможности IDE, полноценную навигацию по символам. Иногда, правда, бывает необходимость подправить импортированный проект, указать, например. где boost лежит, иначе не получается нормально работать с символами внутри BOOST_FOREACH, например.
F>SourceInsight
я тоже пользовался им, складывается впечатление что под виндовс вообще нет подобного ему средства — чтобы прямо из коробки, ничего не допиливая, просто указал папку и работает
но пользовался ворованной копией
EP>В таком контексте использую Emacs, на Windows в том числе
Там внутри будут различные на выбор фронэнды к семейству ctags, но как они справляются с кодом имеющим windows-специфику?
Второе — нужно пользовать в связке с cygwin?
Здравствуйте, tehKosh, Вы писали:
EP>>В таком контексте использую Emacs, на Windows в том числе K>Там внутри будут различные на выбор фронэнды к семейству ctags, но как они справляются с кодом имеющим windows-специфику?
Я под Windows использую GNU Global, это gtags. Windows-специфики в моих проектах либо нет, либо очень немного, но не думаю что с ней будут какие-то особенные проблемы — будет точно такая же низкая точность gtags как и для остального C++ кода.
Для точного разбора нужны define'ы, include dir's и т.п., то есть модель проекта, и понимание языка — такие утилиты сейчас в основном на базе Clang.
K>Второе — нужно пользовать в связке с cygwin?
Нет, есть готовая версия собранная через MinGW — выглядит вполне native'но, понимает пути и т.п. Никаких дополнительных оболочек типа MSYS ставить не нужно.
GNU Global брал вот отсюда.
Есть конечно версия Emacs и для Cygwin, но я её даже не пробовал, предполагаю что у неё будет множество проблем с интеграцией с остальными Windows приложениями, как впрочем и у других Cygwin программ.
Здравствуйте, tehKosh, Вы писали:
K>я тоже пользовался им, складывается впечатление что под виндовс вообще нет подобного ему средства — чтобы прямо из коробки, ничего не допиливая, просто указал папку и работает
Ну, вообще QT Creator примерно так и делает, открываешь папку с любым проектом на плюсах, и он дает там все, что нужно для чтения исходников с пониманием всяких инклудов и дефайнов.
VTT>Студия.
Но зачем тянуть целую студию, когда требуется, по сути, простой текстовый редактор с подсветкой синтаксиса и (опционально) джампами к определениям символов?
Здравствуйте, jahr, Вы писали:
J>Ну, вообще QT Creator примерно так и делает, открываешь папку с любым проектом на плюсах, и он дает там все, что нужно для чтения исходников с пониманием всяких инклудов и дефайнов.
Я был бы только рад этому.
Для разработки от "текстового редактора" хочется синтаксиса, автодополнения, поддержки проектов и отладчика — с этим многие справляются.
А вот для изучения исходников нужно чуть другое: помимо простого "Goto declaration/definition" хочется удобной навигации по типам/функциям/переменным с поддержкой истории переходов (как в браузере вперёд/назад), хочется поиска по имени файла, поиска символа в файле/проекте, поиска ссылок на символ (простой поиск текста здесь идёт лесом). Так тут даже VS+VAX не так удобны.
VTT>вы уж определитесь, "простой" или "с преферансом и куртизанками"
А что, редактор с подсветкой синтаксиса и прыжками по тегам не может быть простым? Посмотрите на тот же Vim -- легковесный и малотребовательный к памяти, в отличие от долго загружающейся и отжирающей память студии.
Здравствуйте, b0r3d0m, Вы писали:
VTT>>вы уж определитесь, "простой" или "с преферансом и куртизанками" B>А что, редактор с подсветкой синтаксиса и прыжками по тегам не может быть простым? Посмотрите на тот же Vim -- легковесный и малотребовательный к памяти
Да, редактор с подсветкой синтаксиса и прыжками по тегам не может быть простым.
В простых редакторах максимум может быть подсветка по ключевым словам при помощи простого парсера и/или регулярок.
А чтобы получить хоть какую-то семантическую подсветку, прыжки и т.п. очумелые ручки начинают прикручивать к вимам/емаксам пачки плагинов разной степени тяжести и кривизны.
К таким франкенштейнам эпитеты "простой", "легковесный", "малотребовательный к памяти" вряд ли применимы.
B>в отличие от долго загружающейся и отжирающей память студии
Ну вот не надо... Грузится шустро, памяти ест меньше, чем браузер.
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Здравствуйте, b0r3d0m, Вы писали:
VTT>>вы уж определитесь, "простой" или "с преферансом и куртизанками" B>А что, редактор с подсветкой синтаксиса и прыжками по тегам не может быть простым? Посмотрите на тот же Vim -- легковесный и малотребовательный к памяти, в отличие от долго загружающейся и отжирающей память студии.
Vim легковесный, но не простой, с его-то кривой обучения. Простой это например про Notepad++, к нему вроде тэги тоже прикручиваются.
VTT>>Студия. B>Но зачем тянуть целую студию, когда требуется, по сути, простой текстовый редактор с подсветкой синтаксиса и (опционально) джампами к определениям символов?
Потому, что студия уже стоит?
Если не стоит — стоит Eclipse/CLion/QTCreator/...
Или вы и код в Виме пишете?