Jak mogę wciąć wiele linii w Xcode?


609

Kiedy wybieram wiele wierszy kodu i chcę wciąć je jak zwykle za pomocą TABklucza, usuwa je wszystkie. Pochodzę z Eclipse, gdzie zawsze tak robiłem. Jak to się robi w Xcode? Mam nadzieję, że nie linia po linii;)


146
Chciałbym, żeby klawisz Tab zrobił to w Xcode.
— devios1

1
Czy ktoś wie, czy można zmienić przypisanie klawisza Tab do tego zachowania?
— Gerard

1
To zabawne, ponieważ jestem prawie pewien, że wcześniej mogłem używać Tab do prawidłowego wcięcia. Tylko jeden dzień przestał działać ...
— dVaffection

Odpowiedzi:


926

Skróty klawiaturowe to ⌘+ ]dla wcięcia i ⌘+ [dla cofnięcia wcięcia.

  • W oknie preferencji Xcode kliknij przycisk paska narzędzi Wiązania klawiszy. Sekcja Wiązania klawiszy służy do dostosowywania skrótów klawiaturowych.

41
Zauważ, że są to powszechnie używane skróty klawiszowe w systemie Mac OS X, dlatego możesz wcięcia za pomocą CMD-] i CMD- [na przykład w Mail.app.
— Gregory Cosmo Haun

8
Niektóre aplikacje, które działają również w innych systemach operacyjnych, używają zamiast tego TAB i SHIFT + TAB, jak zaćmienie i wszelkie pochodne
— Aram Kocharyan

41
Dodatkowo, Ctrl + I ponownie pokazuje cały kod w aktywnym edytorze w oparciu o preferencje edycji tekstu w Xcode.
— ozgur

20
Dzięki za tę wskazówkę - nie wiedziałem o tym. Frustrujące jest to, że na niemieckich klawiaturach nie ma klawisza [lub] - więc aby wykonać wcięcie, trzeba przytrzymać CMD + ALT + 6, aby wprowadzić wcięcie. Boże, czasami tęsknię za Visual Studio ...
— Mike Gledhill

7
Myślę, że francuskie klawiatury powinny być gorsze: ctrl + alt + shift + ')'. Cztery głupie klawisze do wcięcia kilku linii. To tak źle, jak to tylko możliwe.
— Aurelien Ribon

55

Wybierz kod, który chcesz reindentować, a następnie Idź do

Edytor -> Struktura -> Ponowne wcięcie


7
-1: Pytanie dotyczyło sposobu wcięcia bloku linii, a nie tego, jak automatycznie wciąć go za pomocą XCode. IMHO, to duża różnica.
— Atokreacje

3
nieprawidłowa odpowiedź, ale i tak jest to przydatne przypomnienie!
— FredericK

Nie zapomnij o „⌘ + A” przed zrobieniem tego
— OhadM

47

⌘+ [i ⌘+ ]są odpowiednikami shift+tabXcode.


8
Dotyczy to wielu linii, jeśli jednocześnie wybrano wiele linii.
— Nik

34

Oto skróty do formatowania kodu w XCode

  1. Sformatuj cały kod (cała klasa / kontroler)

    Wybierz cały kod i naciśnij control+ I na komputerze Mac, aby sformatować kod.

  2. Sformatuj konkretny blok kodu

    Wybierz kod i naciśnij:

    • ⌘+ ]dla prawego ruchu (wcięcie)
    • ⌘+ [dla ruchu w lewo (bez wcięcia)

Uwaga: zgodnie z sugestią @JavierGiovannini można to zrobić za pomocą opcji menu edytora

  1. Wybierz kod i przejdź do Edytor> Struktura> Ponowne wcięcie

3
1. Powinno to być Ctrl + I
— JBaczuk

1
To jest Ctrl + I !!! Litery l (małe litery L) i I (wielkie litery i) wyglądają tak samo! Proszę używać małych liter. Nie mogę edytować tego postu z powodu niewytłumaczalnego ograniczenia SO do 6 znaków.
— catanore

12

Innym sposobem szybkiego formatowania wcięcia jest szybkie wycinanie i wklejanie. ⌘+ xi ⌘+ v. Często znajduję to szybciej niż ⌘+ [lub ⌘+, ]ponieważ możesz to zrobić jedną ręką (w porównaniu z dwiema) i przeformatuje się do właściwego poziomu wcięcia za jednym razem.


IMO, powinieneś porównać to z ⌘+, Iktóry „ma wcięcie automatycznie przez XCode”, a nie tylko „wcięcie bloku linii”.
— Franklin Yu,

Działa to również dla nas, że nie działa na amerykańskiej klawiaturze :)
— Christoffer

11

Najpierw wybierz cały kod za pomocą command +a

Po drugie, przytrzymaj klawisz, ctra następnie naciśniji

cały wybrany kod będzie ładnie wcięty.


wspaniały ! (klawiatura komputera)
— user1105951

10

Jeśli korzystasz z synergii (aby udostępnić jedną klawiaturę dla dwóch komputerów) i komputera (MAC), na którym używasz xcode, jest slave, a komputer główny to komputer z systemem Windows

Skróty klawiaturowe to alt+ ]dla wcięcia i alt+ [dla cofnięcia wcięcia.

Aktualizacja:

Ale od wersji synergicznej 1.5 działa ⌘+ [na wcięcie i ⌘+ ]na brak wcięcia


7

W Xcode 9 możesz wreszcie użyć Tab i Shift + Tab do wcięcia wielu linii kodu. Tak!


3

Wybierz „Klawisz Tab: Zawsze wcięcia” w Preferencje-> Edycja tekstu-> Wcięcie Następnie możesz wciąć pojedynczy wiersz lub zaznaczone linie naciskając TABlub SHIFT+TAB Niestety to całkowicie wyklucza możliwość wstawiania zakładek w powoduje poważne konflikty z klawisz tab służy do przełączania się między „polami autouzupełniania”.

Wydaje mi się, że potrzebujemy więcej klawiszy tabulatorów na klawiaturze, jeden to za mało ...


2

Dla wszystkich francuskich Xcoderów, domyślne skróty są następujące:

Wybór wcięcia:

⇧+ ⌘+ ⌥+)

Nieumyślny wybór:

⇧+ ⌘+ ⌥+(


2

Dla tych z Was, którzy używają hiszpańskiej klawiatury na Macu, są to skróty:

⌘+ ⌥+ [za brak wcięcia

⌘+ ⌥+ ]dla wcięcia


2

Skrót do ponownego wcięcia to: control + i

skrót


Chociaż dziękujemy za odpowiedź, byłoby lepiej, gdyby stanowiła dodatkową wartość oprócz innych odpowiedzi. W takim przypadku Twoja odpowiedź nie zapewnia dodatkowej wartości, ponieważ inny użytkownik już opublikował to rozwiązanie. Jeśli poprzednia odpowiedź była dla Ciebie pomocna, powinieneś głosować zamiast powtarzać te same informacje.
— Toby Speight,

Dzięki, Rob! Super pomocny.
— Felipe


1

Jeśli chcesz przemapować standardowego Xcode za ⌘+ [do TAB, można wykonać następujące czynności:

  1. Zainstaluj program o nazwie „Karabiner”.

  2. Wybierz Preferencje ~> „Różne i odinstaluj”

  3. W sekcji „Ustawienia niestandardowe” kliknij przycisk „Otwórz plik private.xml”

  4. Otwórz plik i zastąp jego zawartość następującym kodem:

    <?xml version="1.0"?> 
    <root>
        <item>
            <name>Tab instead of Command+[</name>
            <identifier>private.swap_tab_and_cmnd+[</identifier>
            <autogen>
                __KeyToKey__
                KeyCode::TAB, ModifierFlag::NONE,
                KeyCode::BRACKET_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::NONE
            </autogen>
        </item> 
    </root>
  5. Przejdź do Preferencji ~> „Zmień klucz” ~> kliknij przycisk „Przeładuj XML”

  6. Zaznacz pole wyboru, które nazywa się „Tab zamiast Command + [”

  7. Cieszyć się

wprowadź opis zdjęcia tutaj

PS: Pamiętaj, że to ustawienie działa globalnie na twoim komputerze, nie tylko w Xcode. Jestem jednak pewien, że Google może pomóc w znalezieniu rozwiązania, które pozwoli jeszcze bardziej go dostosować, stosując zmiany tylko w Xcode.



1

Zasadniczo ⌘ [dla lewego wielokrotnego wcięcia i ⌘ ]prawego wielokrotnego wcięcia.

Na TRklawiaturze można wcięcie z lewej wielokrotne ⌘ ⎇ 8i prawego wcięcia wielu z ⌘ ⎇ 9.because zarówno 8i 9są ALTznaki na tych nums.Or jeśli masz klawiaturę, która ma [lub ]znaki są należą do ALT( ⎇) nieruchomości, dzięki czemu można używać⌘ ⎇ KEYBOARD CHARACTER


Dziękuję Ci bardzo.
— Arpit B Parekh

1

Skrót klawiszowy:

Ctrl + I

UWAGA: Wybierz kody do ponownego wcięcia i naciśnij klawisze „control” i „i” na komputerze Mac.


0

Ponieważ nie widziałem aktualizacji tego pytania dla bieżącej wersji Xcode, pomyślałem, że dodam, że w Xcode 9.3 Tab działa na wcięcie wybranych linii tekstu, a także przejście z jednego pola autouzupełniania do drugiego .


-1

W Xcode 4.2 automatyczne wcięcie jest całkiem dobre. Możesz teraz wciąć wybór kodu, naciskając klawisz Tab. Uważam, że Xcode generalnie formatuje kod naprawdę dobrze automatycznie i rzadko musisz się poruszać. Szybsze jest wybranie fragmentu kodu, kliknięcie prawym przyciskiem myszy i wybranie Struktura -> Ponowne wcięcie, jeśli jakiś kod wygląda na niechlujny.


4
myślę, że w swoim życiu nie używałeś żadnego innego edytora kodu oprócz xcode. xCode autoCodeFormatting jest najgorszy.
— Add080bbA

Nie działa w XCode 8.3. Nie wiem, czy kiedykolwiek tak było.
— Steve

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.