2010-02-08 16 views
23

Jest to jedna z moich ulubionych funkcji zaćmienia. Czy istnieje w Xcode? Mam już dość wycinania i wklejania z plików nagłówkowych do moich implementacji.Czy istnieje wersja XCode "Override/Implement Method"?

+1

Automatycznie uzupełni nazwy metod, ale musisz wpisać '-' i typ zwracany, zanim zacznie robić swoje rzeczy. –

+1

Tak, jestem zmęczony pisaniem na klawiaturze - (void), znajdując się bardzo często. Działałoby to również, gdyby istniał łatwy sposób na definiowanie fragmentów kodu, ale wydaje się, że jest to trochę skomplikowane. – morgancodes

+0

W Xcode 4.6 nie trzeba wpisywać typu zwracanego (być może było tak w przypadku kilku wersji, nie jestem pewien). – ajh158

Odpowiedz

2

Jest to rodzaj zadania, do którego przydatny jest skrypt użytkownika. Używam tego, który biłem w rubin.

#! /usr/bin/env ruby -w 


dash="------------------------------------" 
r=/(^.+);/ # find entire function definition 
pr=/(\w+(:|;))/ #find named parameters to make selector style string 
s=STDIN.read 
s.each_line() do |l| 
    m=l.match(r) 
    if m 
    n=l.match(/:/) 
    if n #if the function as one or more parameters 
    params=l.scan(/(\w+:)/) 
    puts m.captures[0] + "{\n\n}//"+dash + params.to_s + dash +"\n\n" 
    else #method has no parameters 
     puts m.captures[0]+ "{\n\n}//"+dash + m.captures[0] + dash +"\n\n" 
    end 
    end 
end 

Aby użyć, wybierz definicję metody nagłówka, uruchom skrypt, przejdź do implementacji i wklej. Ten dodaje w mojej preferowanej metodzie komentarz tablicy kotłowej, dzięki czemu można dostosować to, jak chcesz.

+0

Dzięki TechZen. Myślę, że szukam czegoś jeszcze bardziej usprawnionego. – morgancodes

+0

Właściwie pracuję nad czymś, co wystarczy po prostu jednym naciśnięciem klawisza. Może to być kilka tygodni, ale mam indeksowanie pod maską w Xcode. – TechZen

1

Zapoznaj się z Accessorizer, może to nie być dokładnie to, czego szukasz, ale może pomóc w innych rzeczach, które mogą Ci się spodobać. Nie używałem go jeszcze intensywnie, ale dostałem go jako część jednego z pakietów MobileOrchard.

+0

+1 Chciałem to powiedzieć, chociaż osobiście, po prostu robię to w sposób kopiuj-wklej. – Abizern

1

Spójrz na wtyczkę ODCompletionDictionary dla Xcode. Umożliwia definiowanie rozszerzalnych makr, które można konfigurować z wieloma opcjami. To olbrzymia oszczędność czasu.

+0

Dzięki Rob. Spojrzę na to. – morgancodes

31

Po prostu wpisz "kreska", a następnie "spacja" i zacznij pisać nazwę metody, którą chcesz zastąpić. Teraz naciśnij Esc. Przykład:

- tab 

poprosi swojej wybrać metodę, która zastępuje wszelkie metod/delegat TableViewDatasource. Hit Return i automatycznie dostarczać typ zwracanej też ...

Oto pic jak to wygląda i zauważ, że nie zapewniają zwrotu wpisać sobie: enter image description here

Cheers ...

+0

Jest to znacznie skomplikowane przez nazewnictwo Objective-C. Twój przykład tam 'tableView: ...' ma wiele, wiele metod i nie jest łatwo wpisać dłuższy łańcuch zakończenia. Dopasowanie rozmyte może przejść długą drogę - gdybym mógł otworzyć okno dialogowe przesłonięcia i wpisać "tablewillBegin" i uzyskać właściwą metodę, byłoby świetnie. –

Powiązane problemy