GNU GLOBAL — программное средство для тегирования исходных кодов. Работает в различных средах (GNU Emacs, Vim, less, GNU Bash, веб-браузерах и т. д.), позволяя пользователям искать объекты, объявленные в исходных файлах и легко перемещаться между файлами. Такая возможность полезна при работе над программными проектами, содержащими множество внутренних подпроектов, при использовании условной компиляции (#ifdef
) и т. д. Приложение сходно с классическими системами тегирования ctags и etags, но не привязано к какому-либо конкретному текстовому редактору.
GNU Global — бесплатное программное обеспечение с лицензией GPLv3, созданное Shigio Yamaguchi (Tama Communications Corporation) и поддерживаемое в рамках проекта GNU.
Варианты использования
Варианты использования разнообразны, и включают в себя навигацию по исходным кодам ядра Linux,[3] просмотр Руби кода, после анализа при помощи Exuberant ctags или rtags,[4] изучение структуры программных пакетов (в том числе с отображением структуры в формате HTML),[5] навигация по коду крупных и неизвестных проектов.[6]
Использование в других системах
GLOBAL используется и другим программным обеспечением, в том числе GNU automake. FreeBSD использует его в своей системе сборки.
Возможности
Приложение поддерживает навигацию по исходным текстам, написанных на разных языках. Языки Си, Си++, Java, PHP и ассемблер поддерживаются без дополнительных программ, другие — при помощи Pygments и через разбор файлов «ctags» формата, созданных другими средствами (плагин Universal Ctags). Таким методом возможна работа с Awk, COBOL, C, C++, C#, Erlang, Fortran, Java, JavaScript, Lisp, Lua, Pascal, Perl, PHP, Python, Ruby, Matlab, OCaml, Scheme, Tcl, TeX, TypeScript, Verilog и Vhdl. Приложение GLOBAL позволяет быстро перемещаться к точке определения символов, например, функций или классов. Также позволяет быстро находить использования данного символа. Возможно создание списка символов для работы средств автодополнения кода. Имеет утилиту, работающую по аналогии с cscope (gtags-cscope), и режим, совместимый с grep, в том числе с применением регулярных выражений.
См. также
Примечания
- ↑ GNU GLOBAL news (неопр.) (9 февраля 2018). Дата обращения: 15 августа 2018. Архивировано 11 октября 2018 года.
- ↑ GNU's Who
- ↑ «Navigating Linux Source Code» Архивная копия от 8 мая 2012 на Wayback Machine, drdobbs.com, March 1, 2001.
- ↑ «Using rtags ang gtags for coding Ruby» Архивная копия от 26 декабря 2012 на Wayback Machine, simple-and-basic.com, October 14, 2008.
- ↑ «Greg’s source code navigation tools» Архивная копия от 23 октября 2018 на Wayback Machine, lemis.com, July 2005.
- ↑ «Code Spelunking: Exploring Cavernous Code Bases» Архивная копия от 24 октября 2018 на Wayback Machine, queue.acm.org, October 1, 2003.
Ссылки