Jako programista C # bardzo uzależniłem się od automatycznego formatowania w Visual Studio 2008. W szczególności użyję skrótu klawiaturowego CTRL+ K, Daby przywrócić porządek po mojej niechlujnej implementacji.
Próbuję teraz nauczyć się Objective-C i brakuje mi niektórych funkcji w Xcode, ale prawdopodobnie żadna nie jest tak bolesna jak skrót formatowania. Moje wyszukiwania w Google nie dały żadnego wbudowanego, choć wydaje się, że są pewne hacki. Czy coś mi brakuje lub czy ta funkcja nie istnieje natywnie w Xcode?
xcode
formatting
keyboard-shortcuts
jslatts
źródło
źródło
Odpowiedzi:
Niestety, Xcode nie ma nic tak obszernego jak VS lub Jalopy dla Eclipse. Istnieją NIEKTÓRE różne funkcje, takie jak
Structure > Re-Indent
automatyczne formatowanie używane podczas wklejania kodu do pliku źródłowego. Jednak jestem całkowicie z tobą; zdecydowanie powinno być coś, co pomoże rozwiązać problemy z formatowaniem.źródło
To jest Ctrl+ i.
Lub w przypadku mało zaawansowanych technologii wytnij, a następnie wklej. Zostanie sformatowany na wklej.
źródło
,
,=
lub innych operatorów. To, co robi, to tylko zamiar. Nic więcej. Mac naprawdę musi się tutaj nauczyć od firmy Microsoft.Polecam dwie warte rozważenia opcje. Zarówno całkiem nowe, jak i ewoluujące.
ClangFormat-Xcode (bezpłatny) - każdy plik cmd + s jest ponownie formatowany do określonego stylu i zapisywany, łatwy do wdrożenia w zespole
Objective-Clean (płatne, jeszcze nie wypróbowałem) - podnoszenie błędów kompilacji aplikacji, jeśli zostaną naruszone predefiniowane zasady stylu - prawdopodobnie dość trudne do użycia w zespole, więc nie wypróbowałem tego.
źródło
W xcode możesz użyć tego skrótu, aby ponownie wciąć kod źródłowy
Przejdź do pliku, w którym występują problemy z wcięciami, i wykonaj następujące czynności:
Cmd+, Aaby zaznaczyć wszystkie kody źródłowe
Ctrl+ Ido ponownego wcięcia
Mam nadzieję że to pomoże.
źródło
Moja osobista ulubiona PrettyC Wantabe jest nieufna: http://uncrustify.sourceforge.net/ . Ma jednak kilka miliardów opcji, więc sugeruję również pobranie UniversalIndentGUI_macx, (również na sourceforge) GUI, który ktoś napisał, aby pomóc ustawić opcje tak, jak lubisz.
Następnie możesz dodać ten niestandardowy skrypt użytkownika, aby nie ufać zaznaczonemu tekstowi:
źródło
Możesz użyć Command+, Aaby zaznaczyć całą zawartość, a następnie Ctrl+, Iaby sformatować wybraną zawartość.
źródło
Uważam również, że xcode powinien mieć tę funkcję. Zrobiłem więc rozszerzenie, aby to zrobić: Swimat
Prosta instalacja wg
brew cask install swimat
Możesz spróbować, zobacz https://github.com/Jintin/Swimat, aby uzyskać więcej informacji.
źródło
Cmd A + Ctrl I
Lub Cmd AA następnie kliknij prawym przyciskiem myszy . Idź do struktury -> Ponowne wcięcie
źródło
Rozważ zakup licencji na AppCode , inteligentne IDE Objective-C, które pomaga programistom iOS / OS X. AppCode jest w pełni kompatybilny z Xcode, ale wykracza poza Xcode, dodając zaawansowane funkcje .
Koduj AppCode wariant Objective-C IDE IDE Intellij firmy JetBrains . Są także autorami popularnego rozszerzenia ReSharper do Visual Studio, którego głównym celem wydaje się desperacka próba wprowadzenia odrobiny doświadczenia IDEA do produktu Microsoft.
AppCode używa własnego analizatora kodu, który zapewnia niemal idealną refaktoryzację i obsługę nawigacji po kodzie. Istnieje również możliwość ponownego wcięcia i całkowitego sformatowania kodu (chociaż wciąż brakuje mi kilku ustawień formatowania w trudnych przypadkach, ale głównie działa dobrze).
Oczywiście możesz wypróbować wersję próbną.
źródło
Możesz również zajrzeć na https://github.com/octo-online/Xcode-formatter, który jest programem formatującym opartym na Uncrustify i zintegrowanym z Xcode. Działa jak marzenie.
źródło
Możesz wypróbować tę wtyczkę XCode https://github.com/benoitsan/BBUncrustifyPlugin-Xcode
Po prostu sklonuj repozytorium github, otwórz projekt wtyczki w XCode i uruchom go. Zostanie zainstalowany automatycznie. Uruchom ponownie Xode przed użyciem wtyczki programu formatującego.
Nie zapomnij wcześniej zainstalować narzędzia niezaufanego. Homebrew, na przykład
PS Możesz włączyć funkcję „po zapisaniu formatowania” w Edycja> Formatuj kod> BBUncrustifyPlugin Preferencje> Formatuj przy zapisywaniu
Mam nadzieję, że to ci się przyda ;-)
źródło
Swift - https://github.com/nicklockwood/SwiftFormat
Zapewnia rozszerzenie Xcode, a także opcję CLI.
źródło
CTRL + i
Otóż to.
(nie COMMAND+ i)
źródło
Sugeruję użycie ClangFormat. Aby zainstalować, wykonaj następujące kroki:
Możesz wybrać różne typy formatowania. Ponadto, włączając opcję Formatuj przy zapisywaniu , możesz zyskać możliwość automatycznego formatowania.
źródło
Jeśli masz Xcode w wersji 3.x, powinieneś użyć „User Script” z Uncrustify , oto przykład:
dodaj powyżej do "skryptu użytkownika" Xcode.
jeśli Xcode w wersji 4.x, myślę, że powinieneś przeczytać ten blog: Formatowanie kodu w Xcode 4 ,
W ten sposób korzystałem z „usług Apple”, ale nie jest to wystarczająco dobre, powoduje zbyt powolne działanie, czy ktoś ma to samo?
dlaczego Apple porzuca „skrypt użytkownika” .... xD
źródło
Najpierw sprawdź sekcję „Wcięcie” w preferencjach XCode. Możesz tam trochę dostosować rzeczy ...
Aby uzyskać bardziej szczegółową kontrolę, zapoznaj się z dokumentem XCode User Defaults firmy Apple. (Może wymagać logowania programisty do wyświetlenia). Na przykład udało mi się wyłączyć „wcięcie przy wklejaniu”, wpisując w terminalu:
aby odczytać swoje ustawienie:
źródło
Działa to tylko w przypadku języków, w których nie są wytyczone spacjami, ale moim rozwiązaniem jest usunięcie wszystkich białych znaków z wyjątkiem spacji, a następnie dodanie nowej linii po znakach, które zwykle wyznaczają EOL (np. Zamień „;” na „; \ n”), a następnie wykonaj wszechobecne ^ + i rozwiązanie.
Używam Pythona.
Przykładowy kod, po prostu zastąp nazwy plików:
Nie jest doskonały (przykład: w przypadku pętli), ale mi się podoba.
źródło
Możemy użyć Xcode Formatter, który używa uncrustify do łatwego formatowania kodu źródłowego tak, jak chce Twój zespół!
Instalacja Zalecanym sposobem jest sklonowanie projektu GitHub lub pobranie go z https://github.com/octo-online/Xcode-formatter i dodanie katalogu CodeFormatter do projektu Xcode, aby uzyskać: Formatowanie kodu oparte na skrótach Xcode: skrót do formatowanie zmodyfikowanych źródeł w bieżącym obszarze roboczym automatyczne formatowanie kodu: dodaj fazę kompilacji do projektu, aby sformatować bieżące źródła, gdy aplikacja buduje wszystkie źródła formatowanie: sformatuj cały kod za pomocą jednej linii poleceń, twoje zasady formatowania współdzielone przez projekt: edytuj i używaj tej samej konfiguracji plik z zespołem programistów projektu 1) Jak skonfigurować program formatujący kod dla swojego projektu Zainstaluj uncrustify Najprostszym sposobem jest użycie brew: $ brew install uncrustify
Aby zainstalować napar: $ ruby –e „$ (curl –fsSkl raw.github.com/mxcl/homebrew/go)”
Sprawdź, czy plik unrustify znajduje się w / usr / local / bin $, który nie jest zaufany
Jeśli twoja nieufna wersja jest niższa niż 0.60, być może będziesz musiał zainstalować ją ręcznie, ponieważ nowoczesna składnia Objective-C została ostatnio dodana. Dodaj katalog CodeFormatter obok pliku .xcodeproj
Sprawdź, czy Twoja aplikacja Xcode nosi nazwę „Xcode” (nazwa domyślna). Możesz zobaczyć tę nazwę w katalogu Applications / (lub w niestandardowym katalogu instalacyjnym Xcode). Zachowaj ostrożność, jeśli masz wiele wystąpień Xcode na swoim komputerze Mac: upewnij się, że projekt nosi nazwę „Xcode”! (Dlaczego? Ta nazwa jest używana do znajdowania aktualnie otwartych plików Xcode. Zobacz CodeFormatter / Uncrustify_opened_Xcode_sources.workflow appleScript). Zainstaluj usługę automatora Uncrustify_opened_Xcode_sources.workflow Skopiuj ten plik do folderu ~ / Library / Services / (utwórz ten folder, jeśli to konieczne) .Uwaga: klikając dwukrotnie plik .workflow, zainstalujesz go, ale plik zostanie usunięty! Pamiętaj, aby zostawić jego kopię innym użytkownikom.
Jak sformatować otwarte pliki podczas budowania projektu Dodaj fazę kompilacji „uruchom skrypt” zawierającą następujący wiersz:
sh CodeFormatter / scripts / formatOpendSources.sh
Jak formatować pliki w linii poleceń
Aby sformatować aktualnie otwarte pliki, użyj formatOpenedSources.sh:
$ sh CodeFormatter / scripts / formatOpendSources.sh
Aby sformatować wszystkie pliki, użyj formatAllSources.sh:
$ sh CodeFormatter / scripts / formatAllSources.sh PATH
ŚCIEŻKĘ należy zastąpić ścieżką źródła.
Na przykład; jeśli nazwa projektu to TestApp, polecenie będzie
$ sh CodeFormatter / scripts / formatAllSources.sh TestApp
wyszuka wszystkie pliki w projekcie i sformatuje wszystkie pliki zgodnie z konfiguracją w pliku uncrustify_objective_c.cfg.
Jak zmienić reguły programu formatującego
Edytuj CodeFormatter / uncrustify_objective_c.cfg otwórz za pomocą TextEdit
źródło
Cóż, szukałem łatwego sposobu. I dowiedz się na medium .
Najpierw skopiuj tekst json i zweryfikuj go na jsonlint lub czymś podobnym. Następnie, aby skopiować z jsonlint, json jest już sformatowany. I wklej kod na Xcode z zachowaniem formatu, skrótem shift+ option+ command+v
źródło
Możesz zobaczyć i zmienić dowolny skrót na tej ścieżce: Xcode -> Preferencje -> Key Bindings.
źródło