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


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.