Инструмент поиска текстового индексатора, который может фильтровать по пунктуации?
Это не вопрос программирования как таковой, а вопрос поиска файлов исходного кода, которые помогают мне в программировании.
Я использую инструмент поиска X1, который быстро сообщает мне, какие файлы исходного кода содержат некоторые ключевые слова, которые я ищу. Однако это не работает для ключевых слов, к которым прикреплена пунктуация. Например, если я ищу "show()", X1 показывает все, что имеет "show", включая слишком много результатов из "MessageBox.Show(.....)", которые я не хочу видеть.
Другой пример: мне нужно отфильтровать, чтобы показать ".parent" (обратите внимание на точку), а не показывать все, что имеет "parent" (без точки).
Кто-нибудь знает инструмент поиска текста, который может фильтровать по ключевым словам, которые имеют пунктуацию? Я действительно предпочитаю настольное приложение вместо веб-инструмента, такого как Google (я считаю его неуклюжим).
Я ищу инструмент, который индексирует слова, а не общий поиск файлов, как Windows File Explorer.
3 ответа
Если вы хотите эффективно выполнять поиск файлов кода по ключевым словам и пунктуации, рассмотрите механизм поиска исходного кода SD. Он индексирует каждый исходный язык в соответствии с правилами, относящимися к языку, поэтому он точно знает идентификаторы, ключевые слова, строки, комментарии, операторы в этом языке и индексирует его в соответствии с этими элементами. Он будет обрабатывать широкий спектр языков: C, C++, Java, VB6, C#, COBOL, все сразу.
Ваш первый запрос будет представлен как:
Я = показать - я = MessageBox... '('
(найдите идентификаторы с именем "show", но удалите те, которые перекрываются MessageBox leftparen). Ваш второй запрос будет представлен как просто
'' I= родитель
См. http://www.semanticdesigns.com/Products/SearchEngine/index.html
Кажется, это работа таких инструментов, как ctags и cscope.
Ctags используется для индексации объявлений исходных файлов (поддерживается много языков), а Cscope - для углубленного анализа файлов c.
По моему мнению, эти инструменты больше подходят для использования в каждом проекте. Более того, вам может понадобиться другой инструмент для использования этих индексов, я использую vim для этой цели, но многие текстовые редакторы используют ctags.