Да, я также видел пропущенные файлы службы индексирования окон, но я не проверял КБ или пользовательские форумы для объяснений. Я рад, что это подтвердило, что это не только я; -)!
Существует множество программ индексирования файлов, я был бы удивлен, если бы вы не смогли найти ту, которая соответствует вашим потребностям (хотя, см. Позже).
Вот несколько вещей, которые следует учитывать:
Если ваша команда использует IDE, разве нет функции индекса / плагина? (ни один из SVN не предоставляет возможности индексирования?). Также , добавьте несколько тегов к вашему вопросу, чтобы другие разработчики Windows увидели это, используя ту же среду разработки, что и вы.
В предоставленной вами ссылке SO упоминается несколько опций: slocate, rlocate, и я обнаружил mlocate. Страница Википедии для Slocate говорит
Locate32 для Windows Аналог GNU locate с графическим интерфейсом, выпущенный по лицензии GNU
который, кажется, отвечает вашим основным требованиям. Глядя на снимки экрана с интерфейсом с несколькими вкладками (один с надписью «Дополнительно»), я надеюсь, что вы можете исключить SVN (по крайней мере, из результатов, возможно из того, что проиндексировано).
Ваше требование для
если подстрока где-то существует, она
должен быть найден, даже если файл не
проиндексирован или индекс устарел.
кажется противоречивым. Что касается требования подстроки, я вижу, что многие программы индексирования игнорируют элементы синтаксиса c lang ({([])} и т. Д.), И, например, «then» либо удаляется, потому что оно считается словом-шумом, либо получает сводится к «и», а затем удаляется, потому что это слово «шум».
Чтобы добраться до «должен быть найден», и действительно , убедитесь, что вам нужно разработать набор тестов, чтобы увидеть, что программа индекса делает для всего, что является угловым случаем. (Для базы кода 100 МБ, не может быть и речи, тем более что вы рассматриваете возможность создания собственной).
Наконец, «даже если файл не проиндексирован ...». Ну, вы либо используете индекс, либо не используете (очевидно). К сожалению, по вашему требованию, хотя rlocate постоянно ищет изменения, slocate (в Unix), похоже, этого не делает. Вероятно, если вы прочитаете / проверьте документы или форумы пользователей на locate32, вы получите ответы, которые вам нужны.
Rlocate даст вам то, что вам нужно, но со страницы rlocate 'rlocate будет работать только в Linux с версией 2.6.'. Похоже, что у mlocate нет только порта Windows.
Наконец, я нашел ссылку, которая интересна для mlocate: mlocate vs rlocate . Это кеш Google, потому что redhat.com сказал «недоступен».