Versteckte Funktionen von Xcode 4

109

Nachdem Xcode 4 offiziell veröffentlicht wurde, ist es Zeit für eine Fortsetzung meiner vorherigen Frage: Versteckte Funktionen von Xcode

Also was sind sie? Was sind diese versteckten kleinen Xcode 4-Tipps, ohne die Sie nicht leben können?

Bitte beschränken Sie Ihre Tipps auf diejenigen, die neu und spezifisch für Xcode 4 sind!

Jeff Atwood
quelle

Antworten:

42

Wenn Sie möchten, dass Ihr Code so gut aussieht, wie er ausgeführt wird, haben Sie ihn zweifellos verwendet #pragma mark - und #pragma mark <name>bieten eine schöne visuelle Gruppierung in der Dropdown-Liste der Xcode-Klassen. Xcode 4 kombiniert diese nun zu einer einzigen#pragma mark - <name> .

Mehr zu Pragma Mark .

Xcode Pragma Mark

Answerbot
quelle
2
Funktioniert auch die (etwas portablere) // MARK: -Version?
Nikolai Ruhe
1
ja, beide sind in Ordnung: // MARK: - <Name> oder // MARK: <Name> -
nschmidt
35
  • shift- cmd- optWenn Sie auf ein Symbol klicken, können Sie Xcode genau mitteilen , wo in der Benutzeroberfläche die zu navigierende Datei geöffnet werden soll.

  • cmd- retLässt den Versionseditor / Assistenten (das rechte Fenster) verschwinden

  • shift- cmd- Yum den Debugger zu verstecken

  • cmd- 0um den Navigator auszublenden (linker Bereich)

  • cmd- [1..n]zwischen den Navigatoren links wechseln

  • cmd- opt- [1..n]zwischen Dienstprogrammen wechseln (Sache allgemein rechts)

  • ctrl- [1..n]Wechseln Sie im Editor zwischen verschiedenen verwandten Dateien

Insgesamt versucht Xcode 4, die Dinge mit den Hotkeys konsistent zu halten. Cmd steht für Mainline-Befehle. Das Hinzufügen von Modifikatoren erfolgt für analoge Befehle, die sich auf ein bestimmtes Untermerkmal konzentrieren.

(Dies sind nur die vier, die mir als die am häufigsten verwendeten Verknüpfungen in den Sinn kommen, die ich ständig verwende! Ich bin sicher, dass sich dies im Laufe der Zeit ändern wird, wenn mein Workflow auf die neue Aktualität umgestellt wird.)

bbum
quelle
8
shift-cmd-opt-click ... Mind. Geblasen. Danke dir.
Danilo Campos
1
Oooh ... danke, dass du das bearbeitet hast, Dave. Wusste nichts über <kbd> ... </ kbd>.
bbum
10
Das ⇧⌘⌥-Klick-Ding ist eine Fusion von zwei Verknüpfungen: ⌘-Klick auf ein beliebiges Symbol, um die Datei zu öffnen, die es deklariert, und ⇧⌥, um das Popup-Fenster aufzurufen, in dem es geöffnet werden soll. Sie können die letztere Tastenkombinationserweiterung für einige andere Dinge verwenden, wie ich in einer meiner Antworten beschrieben habe.
Peter Hosey
3
Für diejenigen wie mich, die die ⌘- [1–6] -Verknüpfungen von Interface Builder für die verschiedenen Inspektoren verwendet haben, wurden diese zu den ⌘⌥- [1–7], die Sie beim Bearbeiten einer Schreibfeder erwähnt haben.
Peter Hosey
Gibt es eine Möglichkeit, ⇧⌘⌥-click zu verwenden, ohne tatsächlich eine Maus zu verwenden, sondern eine Tastatur (und wenn sich Caret auf einem Symbol befindet, das Sie öffnen möchten)? ⌘⌥-, öffnet einen neuen benachbarten Editor, aber AFAICS berücksichtigt nur die aktuelle Datei.
Piotr Byzia
18

Xcode 4 fügt eine neue Funktion "Code-Snippets" hinzu, auf die über Ansicht> Dienstprogramme> Code-Snippet-Bibliothek zugegriffen werden kann. Um ein neues Code-Snippet hinzuzufügen, wählen Sie Text in der Editoransicht aus und ziehen Sie ihn in die Snippet-Bibliothek. Sie können entweder ein Snippet herausziehen und in Ihrem Code ablegen, um es zu verwenden, oder viel bequemer eine Verknüpfung zum Abschluss zuweisen.

Wenn Sie diese Buchstabenfolge eingeben, wird sie automatisch im Popup-Menü zur Code-Vervollständigung angezeigt, wenn Sie Ihren Code eingeben. Zum Beispiel habe ich unter vielen anderen ein Snippet eingerichtet, auf das die Eingabe von "svk" erweitert wird setValue:<#value#> forKey:<#key#>. Dies kann viel Zeit beim Tippen und / oder Herumfischen im Menü für die automatische Vervollständigung für die Methoden und anderen Code-Ausdrücke sparen, die Sie am häufigsten verwenden. Xcode wird mit einer Reihe integrierter Snippets geliefert, die ebenfalls sehr praktisch sind.

Brian Webster
quelle
15

Neue Verknüpfung, die ich am häufigsten verwende: Wischen mit drei Fingern (nach oben oder unten), um Gegenstücke (zwischen der Benutzeroberfläche und den Implementierungsdateien) auszutauschen. Keine Handakrobatik mehr!

Vielen Dank an https://twitter.com/xctotd/status/48148271759241216

wdn
quelle
1
@ Dave DeLong, wie kannst du das auf der Tastatur machen? Ich habe Option-Command-Up ausgeführt, um von der Schnittstelle zur Implementierung in XCode 3 zu gelangen. Dies funktioniert nicht mehr in 4. Was ist der neue Weg?
Dan Rosenstark
5
@yar control-cmd-up / down Pfeil
Dave DeLong
Danke wie immer, @ Dave DeLong.
Dan Rosenstark
Ist das bei Lion immer noch der Fall? Weil im Löwen ein vertikaler 3-Finger-Wisch auf dem Trackpad die Missionskontrolle aktiviert. Ich gehe davon aus, dass es sich um Trackpad-Swiping handelt und nicht um die magische Maus.
DonnaLea
Es scheint derzeit keine einfache Lösung zu geben, selbst wenn Sie Mission Control auf 4-Finger-Wischen umstellen. Siehe diesen Thread: stackoverflow.com/questions/6771057/…
wdn
13

shift- optionKlicken Sie auf eine Datei in derListe der Gruppen und DateienProjektnavigator oder Halten shift- optionwährend Sie eine Datei aus der Sprungleiste auswählen.

Sie erhalten ein Popup, in dem Sie auswählen können, wo die Datei geöffnet werden soll. Neue oder vorhandene Registerkarte, neuer oder vorhandener Split-Editor (Assistent), neues Fenster - jede mögliche Option ist vorhanden.

Peter Hosey
quelle
4
Vielen Dank für den Hinweis. Sehr hilfreich. Es funktioniert auch mit der ausgewählten Datei im Dialogfeld "Schnell öffnen" (⇧⌘O).
Cris
2
Ich finde es toll, wie viel Arbeit in ein kleines UI-Widget gesteckt wurde, das die meisten Leute nie sehen werden. :)
Simon Whitaker
13

Tabs in Xcode 4 sind fantastisch. Jeder verwaltet sein eigenes Layout, sodass Sie mehrere Registerkarten mit unterschiedlichen Elementen haben und jede entsprechend auslegen können.

Ich habe meine Projekte mit drei Layouts eingerichtet - eines für das Projektobjekt, eines für jede Schreibfeder (zeigt die Quellen der Klasse des Besitzers) und eines für jede Klasse .

Hier gibt es einen Fehler: Ab 4.0 setzt Xcode den Status der aktiven Registerkarte zurück (deaktiviert alle Assistenten), wenn Sie das Projekt erneut öffnen. Die Problemumgehung besteht darin, zu einer Registerkarte ohne Assistenten zu wechseln, die Xcode schließen kann, bevor Sie das Projekt schließen. Ich habe dies als Radarnummer 9178441 abgelegt.

Peter Hosey
quelle
10
  • ctrl- 6öffnet das Dateisegment der Sprungleiste (ermöglicht das tastaturgesteuerte Springen zu Methoden)

  • cmd- {/ }Vorherige / Nächste Registerkarte auswählen

  • cmd- JNavigieren Sie zu einem beliebigen Editor (aber warum wechselt TAB dann nicht zwischen ihnen?)

Cris
quelle
1
Beachten Sie außerdem, dass Tastaturkürzel konfigurierbar sind. Ich habe die vorherige / nächste Registerkarte in ⌘⌥⇠ / ⇢ geändert, um sie an Chrome anzupassen.
Peter Hosey
7

Editor-Verknüpfungen

  • Cmd+ Ctrl+ up/downZwischen .h & .m Dateien springen.
  • Cmd+ Ctrl+ Left/RightZwischen zuvor bearbeiteten Dateien und weiter bearbeiteten Dateien springen.

Layout-Verknüpfungen

  • Cmd+ 0 Navigatoren ausblenden oder anzeigen
  • Cmd+ opt+ 0 Inspektoren ausblenden oder anzeigen
  • Cmd+ Shift+ YDebugger-Konsole ausblenden oder anzeigen.

Navigator-Verknüpfungen

  • Cmd+ 1 Projekt
  • Cmd+ 2 Symbol
  • Cmd+ 3 Suche
  • Cmd+ 4 Ausgabe
  • Cmd+ 5 Debuggen
  • Cmd+ 6BreakPoint
  • Cmd+ 7 Log

Tab Switching & Jumping

  • Cmd+ { Vorheriger Tab
  • Cmd+ } Nächste Registerkarte
  • Cmd+ j Wählen Sie den Ort zum Springen
  • Shift+ Option+ ClickFile Speicherort zum Öffnen der Datei auswählen
  • Cmd+ Alt+ Option+ Ort Clickauswählen, um die Methode zu öffnen

Inspektoren

  • Cmd+ Opt+ 1 Dateiinspektor
  • Cmd+ Opt+ 2 Schnelle Hilfe
  • Cmd+ Opt+ 3Identitätsinspektor
  • Cmd+ Opt+ 4Attributinspektor
  • Cmd+ Opt+ 5 Größeninspektor
  • Cmd+ Opt+ 6 Verbindungsinspektor

Build Related

  • Cmd+ B Bauen
  • Cmd+ Shift+ K Reinigen
  • Cmd+ . oben

Code-Faltung

  • Cmd+ Alt+ LeftAktuelle Methode / Klasse / Schnittstelle minimieren
  • Cmd+ Alt+ Right Aktuelle Methode / Klasse / Schnittstelle erweitern
  • Cmd+ Alt+ Shift+ LeftAlle Methoden / Klassen / Schnittstellen minimieren
  • Cmd+ Alt+ Shift+ RightAlle Methoden / Klassen / Schnittstellen erweitern
Funken
quelle
Dies sind keine versteckten Funktionen
Todd Hopkinson
@icnivad - viele versteckte Funktionen sind über Verknüpfungen zugänglich, wie das Springen von Dateien, das Wechseln von Registerkarten usw.
Sagar R. Kothari
6

Hier ist der erste. Tabs! Xcode 4 hat die nützliche, aber selten verwendete "Favoritenleiste" von Xcode 3 durch dauerhafte Registerkarten ersetzt. Dies bedeutet, dass Sie einen funktionierenden Satz häufig verwendeter Dokumente in Ihrer Registerkartenleiste behalten können.

Nicht gerade eine versteckte Funktion als solche - aber die Tatsache, dass die Registerkarten dauerhaft sind, wird möglicherweise leicht übersehen.

Schwa
quelle
2
Außerdem, dass Sie den Registerkarten benutzerdefinierte Namen zuweisen können, was ich nicht wusste, bis Scott Stevenson es erwähnte: twitter.com/scottstevenson/status/50270610038865921
Brad Larson
5
Ja, Sie können in Xcode 4 auf Registerkarten doppelklicken, um sie umzubenennen, und dann benannte Registerkarten in Einstellungen> Verhalten (über @scottstevenson) verwenden
cocoapriest
3
Oh, das ist sehr praktisch. So kann ich eine Debugger- / Konsolenregisterkarte einrichten, auf der nur diese angezeigt werden, und diese dann während eines Laufs anzeigen lassen. Das ist viel schöner, als wenn es die ganze Zeit auf und ab geht.
Danilo Campos
6

Wenn Sie Probleme mit der Indizierung Ihres Projekts haben (z. B. Symbole, die bei der automatischen Vervollständigung nicht angezeigt werden), öffnen Sie das Organizer-Fenster, klicken Sie auf die Registerkarte Projekte und löschen Sie die abgeleiteten Daten für Ihr Projekt über die Schaltfläche "Löschen" . Dadurch wird eine Neuerstellung des Projektindex erzwungen und alle erstellten Produkte werden weggeworfen.

Brian Webster
quelle
6

Einige nützliche Hotkeys für die Arbeit an kleineren Bildschirmen sind:

  • cmd- shift- y- Verstecken und zeigen Sie den Konsolen- / Debug-Bereich

  • cmd- 0- Verstecke und zeige die Dateinavigation

aitskovi
quelle
6

Sie können jetzt Gruppen im Projektnavigator Ordnern auf der Festplatte zuordnen. Es hat mich immer gestört, dass die Xcode 3-Dateiansicht möglicherweise nicht die tatsächliche Struktur des Projekts auf der Festplatte darstellt.

Erstellen Sie eine neue Gruppe, und öffnen Sie mit der markierten neuen Gruppe den Dateiinspektor. Klicken Sie im Identitätsbereich rechts unterhalb des Pfads auf ein kleines Symbol, um das Dialogfeld für den Dateibrowser zu öffnen, in dem Sie das Verzeichnis für diese Gruppe auswählen können.

Dateiinspektor

Patrick
quelle
6
Was ist neu hier? Sie können Gruppen jederzeit mit Verzeichnissen verknüpfen (Xcode 3: Befehl I in der Gruppe)
Nikolai Ruhe
5

Wenn Sie die FN-Taste gedrückt halten, können Sie Ihr Dokument mit den Cursortasten durchsuchen, ohne den Cursor zu bewegen

Kröte
quelle
5

Sprungleiste:

Wenn Sie außerhalb schreiben:

// FIXME: A Bug
// TODO: Later
// ???: ???
// !!!: !!!
// MARK: This a mark

Wird mögen:

Sie können auch suchen:

Klicken Sie mit Option(Mit Shiftkönnen Sie gleichzeitig ein anderes Fenster auswählen). In einem Dialogfeld können Sie angeben, wo die Datei geöffnet werden soll:

Quellcodeverwaltung:

Wenn Sie svn oder git verwenden, ist das Verwerfen von Änderungen einfach:

Interface Buidler

In xcode 4.2 können Sie hier zum Interface Builder springen:

Klicken Sie auf ein UI-Objekt mit Shift, um eine Liste aller Objekte unter dem Punkt anzuzeigen.

Versuchen Sie Folgendes: Wählen Sie ein UI-Objekt aus, halten Sie es gedrückt Optionund bewegen Sie die Maus über andere Objekte. Es wird gefallen:

Andere

Hotkey: Shift+Command+OSchnell öffnen

Versuchen:

#error message
#warning message

Und lesen Sie: Schreiben und Bearbeiten von Quellcode

BB9z
quelle
4

Texteditor :

  • Wenn Sie mit der Befehlstaste auf einen Klassennamen klicken , gelangen Sie zur Implementierungs- (oder Header-) Datei dieser Klasse. Wenn Sie mit der Befehlstaste auf ein Objekt klicken, gelangen Sie dorthin, wo das Objekt deklariert ist.
  • Wenn Sie bei gedrückter Alt- Taste klicken, wird ein Dokumentations-Popup für das Objekt geöffnet, auf das Sie geklickt haben.

Hinzufügen von Frameworks : Sie können dies nicht einfach tun, indem Sie mit der rechten Maustaste auf das Projekt oder eine Gruppe klicken (wie in Xcode 3). Sie müssen zur Projektansicht gehen, Ihr Ziel auswählen und zur Registerkarte "Phasen erstellen" wechseln. Frameworks können im Abschnitt "Binär mit Bibliotheken verknüpfen" verwaltet werden.

Festlegen von Zielabhängigkeiten : Ähnlich wie oben im Abschnitt "Zielabhängigkeiten" der Registerkarte "Build-Phasen".

Bewahren Sie Ihre Archive sicher auf, bevor Sie Xcode 4 (von 3) installieren. Sie werden sie (höchstwahrscheinlich) verlieren und mit ihnen Ihre Fähigkeit verlieren, Ihre Absturzprotokolle zu symbolisieren.

Aktion löschen-ACHTUNG : "Löschen" (anstelle von "Nur Referenz entfernen") löscht die Datei direkt von Ihrem Laufwerk. Es wird nicht in den Papierkorb verschoben, sodass Sie es nicht wiederherstellen können.

Nick Toumpelis
quelle
1
LÖSCHEN ist schrecklich. Ich kann es nicht von TRASH zurückbekommen :(
Sagar R. Kothari
4

cmd- Jspringt zum Editor, aber wenn Sie mehr als einen Editor geöffnet haben, erhalten Sie eine Überlagerung, die alle geöffneten Editoren enthält. Sie können cmd- und cmd- verwenden , um zwischen den geöffneten Editoren zu wechseln.

Wenn Sie Schwierigkeiten haben, eine Option oder Eigenschaft für irgendetwas zu finden, ist das Utility-Fenster wahrscheinlich die beste Wahl:

hide and show utilities: cmd- opt-0

Dinge, die hier häufig versteckt sind und nicht intuitiv sind:

  • Eigenschaften von Datenmodellentitäten.
  • Datenmodelleigenschaften
  • xib Eigenschaften
Jon
quelle
4
  • Sie müssen keine IBAction- Methoden in der .h-Datei deklarieren. & Sie können es direkt im Interface Builder verbinden.

Beispiel:

-(IBAction)btnLogInTapped:(id)sender {
    // place following method in .m file of your code. save file. Open the
    // .xib file of viewController
    // click on files owner
    // click on connection-inspector.
    // you can view your methods under "received actions"
}
  • Sie müssen keine Variablen deklarieren , wenn Sie eine Eigenschaft dafür erstellen.

Beispiel:

// a property declared in .h File of your view controller.
@property (nonatomic, retain) LogInVCtr *nxtLogInVCtr;

// synthesize above property in .m File
@synthesize nxtLogInVCtr;
// or
@synthesize nxtLogInVCtr = _nxtLogInVCtr;
// and you are done, you don't need to declare variable for it.
Sagar R. Kothari
quelle
3

Einer meiner Favoriten ist die Verhaltenspräferenz "Tab öffnen". Wenn Sie in den Einstellungen zu "Verhalten" wechseln, können Sie festlegen, dass bei jedem Start eines Laufs eine bestimmte Registerkarte aufgerufen wird. Sie können die Registerkarte benennen, so etwas wie "Debug" und Xcode4 erstellt sie für Sie, wenn sie nicht vorhanden ist, und bringt Sie dorthin, wenn Sie mit dem Debuggen beginnen. Sie können diese Registerkarte so konfigurieren, wie Sie sie für das Debuggen von Sitzungen mögen. Nach dem Schließen bleibt sie so, sodass Xcode4 bei jeder Ausführung auf einer separaten Registerkarte so eingerichtet wird, wie Sie es möchten. Sie können diese Registerkarte sogar in einem separaten Fenster abreißen. In diesem Fall öffnet Xcode4 jedes Mal, wenn Sie einen Lauf starten, ein neues, speziell konfiguriertes "Debug" -Fenster! Diese Funktion ist großartig, da Ihre reguläre Registerkarte oder das Fenster für die Codebearbeitung mit den Protokoll- und Debuggerfenstern übersichtlich bleibt. Schließen Sie einfach das "

Michael Gorbach
quelle
Brillant! Das nervt mich schon seit Ewigkeiten.
Imron
2

In XCode3 gab es eine Option für "Projekt umbenennen". Jetzt müssen Sie nur noch zweimal klicken (zweiter Klick langsam), um das Projekt umzubenennen und fertig.

Sagar R. Kothari
quelle
2

So begrenzen Sie die Anzahl gleichzeitiger Erstellungsvorgänge

Dies ist eine (etwas) versteckte Einstellung, mit der Sie die Anzahl der gleichzeitigen Kompilierungsaufgaben definieren können:

defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4

So deaktivieren Sie die Indizierung in der IDE

Dieser deaktiviert die Code-Sense-Indizierung, wodurch in großen Projekten viele Ressourcen eingespart werden können:

defaults write com.apple.dt.XCode IDEIndexDisable 1

wieder aktivieren:

defaults delete com.apple.dt.XCode IDEIndexDisable

Beachten Sie, dass Sie Xcode beenden, die Voreinstellungswerte wie gewünscht festlegen und Änderungen beim Neustart von Xcode wirksam werden sollten.

Justin
quelle
1

Wenn Sie es vorziehen, vim / emacs zu verwenden, die beispielsweise auf Terminal oder einem anderen externen Editor ausgeführt werden, können Sie einfach Ihr xcode-Projekt erstellen, Dateien und so weiter hinzufügen und dann mit der für Sie am besten geeigneten Bearbeitung zur Bearbeitung dieser Dateien wechseln. Wenn Sie den Fokus auf ein xcode4-Fenster wechseln, werden die geänderten Dateien neu geladen (was auch bei Xcode3 der Fall war) und Sie können Ihre Anwendung erstellen / ausführen.

markpapadakis
quelle
1

Zwei Arten der Erstellung von Standortspezifikationen mithilfe der XCode4-Einstellungen.

  1. Von Zielen angegebener Speicherort - Das Verzeichnis "Erstellen" befindet sich in Ihrem Projektverzeichnis.
  2. Speicherort in abgeleiteten Daten (von XCode empfohlen, wie Sie im Screenshot sehen können) - Das Verzeichnis "Erstellen" befindet sich unter dem angegebenen Speicherort für abgeleitete Daten (z. B. hier in meinem Fall /Users/digicorp/Library/Developer/XCode/DerivedData).

Bitte schauen Sie sich die folgenden Screenshots an.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Sagar R. Kothari
quelle
0

SCHNELLE HILFE

Ctrl+ Option/ Alt+f

Hier finden Sie die Schnellhilfe. Beispielsweise,

@property (nonatomic, retain) NSString *strQuery;

Mein Textcursor befindet sich auf NSString&, wenn ich Ctrl+ Option+f drücke, wird eine kurze Dokumentation im Inspektor / in den Dienstprogrammen angezeigt.

Spark
quelle