Текстовый поиск, хотя все файлы .xib в Xcode? - PullRequest
49 голосов
/ 19 октября 2010

Это кажется такой простой задачей, но я в тупике.

Как в XCode вы выполняете текстовый поиск, хотя (содержимое XML) всех файлов .xib в проекте?

Например, все наши файлы .xib содержат эту строку во второй строке: com.apple.InterfaceBuilder3.CocoaTouch.XIB. Поэтому я думаю, что поиск во всех файлах проекта для этой строки вернет все файлы .xib, но Xcode настаивает на «0 вхождений». Я дважды проверил, что параметры поиска проекта выглядят правильно.

Я, должно быть, упускаю что-то очевидное. (Или Xcode как-то жестко запрограммирован для пропуска файлов .xib.)

Я пытаюсь найти все файлы .xib, которые ссылаются на определенный класс (и текстовый поиск кажется наиболее прямым способом).

Спасибо!

Ответы [ 10 ]

81 голосов
/ 19 октября 2010

Что я делаю, так это запускаю grep в терминале:

grep -i -r --include=*.xib "TextToFindHere" /PathToSearchHere

Кажется, у XCode нет возможности поиска в файлах XIB, и мои попытки заставить Spotlight просмотреть их были неудачными.

10 голосов
/ 29 января 2013

Вот моя удобная команда, которая никогда не подводит меня.Запустите его из каталога проекта в Терминале.

find.-name "* .xib" -exec grep "текст для поиска" {} \;-print

5 голосов
/ 23 февраля 2013

Я понимаю, что это довольно старо, но я хотел бы предложить тем из вас, кто случайно написал другие языки на вашем компьютере и выбрать Sublime Text 2 (что замечательно) Сделайте это, просто откройте папку вашего проекта iOS в Sublime и используйте функцию поиска всех. Очень быстро, очень надежно.

Это было то, что я сделал, чтобы удалить неиспользуемые ресурсы изображений из одного из моих больших проектов.

~ Happy Coding =]

4 голосов
/ 15 августа 2013

Я могу быть глупым, но использование прожектора отлично подходит для меня в этом.

3 голосов
/ 24 сентября 2013

U может использовать эту функцию в вашем профиле bash:

function grep_xib {
    grep -i -r --include=*.xib "$1" .
}

Тогда просто позвоните в терминал "grep_xib TEXT_TO_FIND". Это проще.

Чтобы создать .bash_profile на вашем Mac, выполните следующие действия:

  • Терминал запуска
  • Введите "cd ~ /", чтобы перейти в домашнюю папку
  • Введите «touch .bash_profile», чтобы создать новый файл.
  • Отредактируйте .bash_profile в вашем любимом редакторе (или вы можете просто набрать "open -e .bash_profile", чтобы открыть его в TextEdit.
  • Введите ".bash_profile", чтобы перезагрузить .bash_profile и обновить все добавляемые вами функции.
2 голосов
/ 06 октября 2015

Вы можете просто изменить область поиска в XCode, определив новую область. Перейдите на панель поиска и под панелью поиска появится значок с тремя точками (вероятно, по умолчанию «В рабочей области»). Нажмите на это, и в разделе ПОИСК ОБЛАСТИ, нажмите «Новая область». Определите его как «Имя» / «оканчивается на» / «.xib».

0 голосов
/ 11 февраля 2019

grep -i -r --include=*.xib "TextToFindHere" /PathToSearchHere

ответ: совпадений не найдено: --include = *. Xib

cd /PathToSearchHere
grep "TextToFindHere" ./ -r | grep ".xib"

это отлично работает.

0 голосов
/ 24 февраля 2015

У меня была такая же проблема, и я решил ее с помощью некоторых консольных команд.

1) Откройте терминал на вашем Mac

2) запустите " grep -i -r --include = *. Xib" searchtext "/ your / project / path "команда

будет искать в пути" / your / project / path "и печатать полный путь всех файлов xib, использующих" searchtext ".

Надеюсь, это поможет вам!

0 голосов
/ 03 июля 2014

Открыть папку проекта в возвышенном тексте и искать во всех файлах, очень легко и удобно.

0 голосов
/ 25 июля 2013

Это работает, если вы используете в качестве службы ....

on run {input, parameters}

 display dialog "XIB Search Text" default answer ""
 set searchtext to text returned of result

 if (length of searchtext) is greater than 0 then

   tell application "Xcode" to set theProjectPath to (the project directory of front project)

   tell application "Terminal"

    set newWin to do script "cd " & theProjectPath & "; " & "rm " & theProjectPath & "/searchXIB.txt 2> /dev/null ; grep -i -r --include=*.xib " & searchtext & " . > searchXIB.txt ; exit"
    activate

    repeat while (exists newWin)
     delay 1
    end repeat

    tell application "Xcode"
     set doc to open theProjectPath & "/searchXIB.txt"
     activate
    end tell

    tell application "System Events"
     keystroke "f" using {command down}
     keystroke searchtext
    end tell
   end tell 
  end if
 return input
end run
...