Как вы просматриваете код, который находится в разных каталогах? - PullRequest
18 голосов
/ 14 мая 2009

Я работаю над программой на Python, которая интенсивно использует яйца (Plone). Это означает, что существует 198 каталогов, заполненных кодом Python, которые я мог бы искать во время отладки. Есть ли хороший способ искать только файлы .py только в этих каталогах, избегая несвязанного кода и больших двоичных файлов?

Ответы [ 12 ]

1 голос
/ 08 марта 2011

OpenGrok - отличный выбор для поиска и навигации по источникам. Работает на Java, хотя.

Мне бы очень хотелось, чтобы было что-то вроде http://opengrok.plone.org/

1 голос
/ 27 февраля 2011

Моя жизнь стала намного приятнее с момента обнаружения команды Emacs 'rgrep.

Скажем, я хочу найти 'IPortletDataProvider' в источнике Plone. Я делаю:

  1. M-x rgrep
  2. Emacs запрашивает строку поиска (IPortletDataProvider)
  3. ... тогда какие файлы искать (* .py)
  4. ... тогда какой каталог (~ / Plone / buildout-cache / eggs). Если я уже редактирую файл, по умолчанию используется каталог этого файла, который обычно является именно тем, что я хочу.

Результаты появятся в новом буфере. Вверху находится команда find | xargs grep, которую запускал Emacs. Все совпадения подсвечиваются. Я могу искать в буфере, используя стандартные команды текстового поиска. Лучше всего я могу нажать Enter (или щелкнуть) по совпадению, чтобы открыть этот файл.

Это очень хороший способ работы. Мне нравится, что я не должен помнить find | xargs grep последовательности аргументов, но что вся эта сила есть, если она мне нужна.

Emacs rgrep example

...