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;)

Dzięki
źródło
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.
JWD
źródło
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

JavierGiovannini
źródło
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.

Nik
źródło
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
swiftBoy
źródło
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.

Joel
źródło
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.

Chowdhury Md Rajib Sarwar
źródło
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

MaxEcho
źródło
7

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

phatmann
źródło
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 ...

hariseldon78
źródło
2

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

Wybór wcięcia:

+ + +)

Nieumyślny wybór:

+ + +(

Neimsz
źródło
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

Jorge Casariego
źródło
2

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

skrót

Robson
źródło
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

tutaj wszystkie ważne skróty z innego pytania odpowiedział na przepełnienie stosu tutaj

Kompilator Alsh
źródło
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.

OlDor
źródło
1

Klawiatura duńska

Unindent: + + 8

Wcięcie: + + 9

Jan Aagaard
źródło
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 9ALTznaki 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

elia
źródło
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.

Aashish
źródło
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 .

Jim Hillhouse
źródło
-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.

mechanik
źródło
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
-1

Tab dla wcięcia SHIFT + Tab ponowne wcięcie

dev_shanghai
źródło