2010-10-18 14 views
47

To wydaje się być podstawowym zadaniem, ale jestem zdumiony.Wyszukiwanie tekstowe wszystkich plików .xib w Xcode?

Jak w Xcode wykonać wyszukiwanie tekstowe (zawartość XML) wszystkich plików .xib w projekcie?

Na przykład wszystkie nasze pliki .xib zawierają ten ciąg w drugim wierszu: com.apple.InterfaceBuilder3.CocoaTouch.XIB. Tak więc myślę, że przeszukiwanie wszystkich plików projektu dla tego ciągu zwróci wszystkie pliki xx, ale Xcode nalega "0 wystąpień". Sprawdziłem dwukrotnie, czy opcje szukania projektu wyglądają poprawnie.

Muszę zabraknąć czegoś oczywistego. (Lub Xcode jest w jakiś sposób zakodowany, aby pominąć pliki .xib.)

Próbuję znaleźć wszystkie pliki .xib, które odwołują się do konkretnej klasy (a wyszukiwanie tekstu wydaje się być najbardziej bezpośrednim sposobem).

Dzięki!

+0

Czy trzeba to zrobić w Xcode, czy może to zrobić w terminalu? –

+0

Idealnie chciałbym wiedzieć, jak to zrobić Xcode, więc mogę kliknąć na każdej linii wynikowej i mieć plik otwarty w okienku edycji Xcode. Jeśli w Xcode jest to niemożliwe, na pewno chciałbym to wiedzieć. Jeśli tak, to doceniam alternatywy. –

Odpowiedz

78

Co mogę zrobić, to uruchomić grep w terminalu:

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

Xcode nie wydaje się mieć opcję wyszukiwania XIB pliki i moje próby, aby uzyskać Spotlight patrzeć na ich okazały się bezskuteczne.

+2

Bingo. Nie uruchamiaj wyszukiwania w Xcode; uruchom zamiast tego w Terminal.app. Aby uprościć działanie, możesz przeciągnąć ikonę pliku z paska tytułu do aplikacji Terminal.app i upuścić, aby uzyskać ścieżkę pliku, a następnie po prostu usunąć, aż wrócisz do głównego katalogu projektu. –

+0

Bardzo przydatne dla mnie, dziękuję! –

+0

Użyłem go, ale otrzymuję: ** /. DocumentRevisions-V100/PerUID/503/bd/com.apple.documentVersions/14D9CB29-07F2-4670-937F-05188E6D64C6.xib: ** który wydaje się być kopia wersji pliku Xib, ale nie sam plik Xib .. – aneuryzm

9

Oto moja przydatna komenda, która nigdy mnie nie zawiodła. Uruchom go z katalogu projektu w Terminalu.

znajdowanie. -name "* .xib" -exec grep "tekst do wyszukania" {} \; -print

3

Zdaję sobie sprawę, że jest to dość stare, ale chciałbym zasugerować tym z was, którzy zdarzają się kodować inne języki na komputerze i wybrać, aby użyć Sublime Text 2 (co jest cudowne), aby to zrobić, po prostu otwórz folder twojego projektu iOS w Sublime i użyj funkcji Znajdź wszystko. Bardzo szybki, bardzo niezawodny.

To właśnie zrobiłem, aby usunąć nieużywane zasoby obrazu z jednego z moich większych projektów.

~ Szczęśliwe = Kodowanie]

+0

Świetne zasoby! Dziękuję za to. – jwarrent

0

to działa, jeśli używasz jak obsługa ....

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 
+0

Potrzeba udokumentowania, jak wykonać najlepsze parametry, uwaga dla siebie – ort11

4

mogę być stuknięty, ale przy użyciu reflektor działa świetnie dla mnie na ten jeden.

+0

Rzeczywiście, Spotlight wydaje się Być może został on naprawiony w Mountain Lion – Anna

3

U mogą korzystać z tej funkcji w swoim profilu bash:

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

Następnie wystarczy zadzwonić do zacisku "grep_xib TEXT_TO_FIND". To jest łatwiejsze.

Aby utworzyć .bash_profile na komputerze Mac po tej czynności:

  • Uruchom Terminal
  • Wpisz "cd ~ /", aby przejść do katalogu domowego
  • Type "dotyk", aby .bash_profile utwórz nowy plik.
  • Edit .bash_profile ze swoim ulubionym edytorze (albo po prostu wpisać „otworzyć -e .bash_profile”, aby otworzyć go w TextEdit.
  • Type „.bash_profile” aby przeładować .bash_profile i aktualizować wszelkie funkcje, które dodają.
0

Otwórz folder projektu w wysublimowanym tekście i wyszukaj we wszystkich plikach, bardzo łatwo i wygodnie.

0

Miałem ten sam problem i rozwiązałem go za pomocą niektórych poleceń konsoli.

1) Otwórz Terminal na komputerze Mac

2) run "grep -i -r --include = *. Xib "searchtext komenda"/ plik/projekt/ścieżka"

Będzie szukaj w ścieżce "/ twój/projekt/ścieżka" i wydrukuje pełną ścieżkę wszystkich plików xib, które używają "wyszukiwanego tekstu".

Mam nadzieję, że to ci pomoże!

1

Możesz po prostu zmienić zakres wyszukiwania w Xcode, definiując nowy zakres. Przejdź do panelu wyszukiwania, a pod paskiem wyszukiwania znajduje się ikona z trzema kropkami (prawdopodobnie domyślnie "In Workspace"). Kliknij to i pod SZUKAJ ZAKRESÓW kliknij "Nowy zakres". Zdefiniuj go jako "Name"/"kończy na"/".xib".

+0

Jest to najlepsza odpowiedź, ponieważ adresuje wyszukiwanie z poziomu Xcode.Zauważ, że istnieje opcja zakresu wyszukiwania, aby użyć określonego rozszerzenia pliku i ustawienie tego. XIB działa dobrze. –

Powiązane problemy