Xcode kann nicht gezogen werden (um einen Code-Ausschnitt zu erstellen)


80

Wenn ich alle Anweisungen (einschließlich des Apple-Videos) befolge, um Text zu ziehen, um ein Code-Snippet in xcode zu erstellen, erhalte ich ein anderes Systemverhalten: Ich sehe nur die Auswahl ibeam ... Ich kann nicht ziehen. Am Ende wird nur wieder Text ausgewählt. Vermisse ich einen offensichtlichen Apple-Ismus? Vielen Dank


Haben Sie dieses Problem auf Xcode 8, aber Xcode 9 funktioniert
onmyway133

Antworten:


147

Ja, ich bin auf dasselbe Problem gestoßen, und Apple-ism scheint ein guter Begriff für dieses Problem zu sein :)

Es funktioniert so:

  • Wählen Sie den Code aus (oder markieren Sie ihn), den Sie in ein Snippet verwandeln möchten
  • BEARBEITEN: Klicken und halten Sie einen Teil des ausgewählten Textes für einen kurzen Moment (z. B. 2 Sekunden, manchmal 8 Sekunden) (ziehen Sie nicht!).
  • BEARBEITEN: Der Mauszeiger ändert das Symbol (nicht bei El Capitan).
  • Jetzt können Sie den Code über die Snippets-Bibliothek ziehen, wo ein grünes + Symbol angezeigt wird. BEARBEITEN: Auf El Capitan wird das grüne Symbol nicht angezeigt, aber der Rahmen des Fensters mit den Codefragmenten wird dünner.

3
Wenn ich diesen Anweisungen folge, versage ich öfter als es mir gelingt. Ich verstehe nicht, wie schwierig es sein kann, Text per Drag & Drop zu verschieben. Auch die Benutzeroberfläche zum Erstellen von Codefragmenten könnte erheblich verbessert werden. Dies ist eine äußerst umständliche Methode zum Verwalten Ihrer Codefragmente.
Erik B

1
Wenn Sie ein Trackpad verwenden, können Sie anstelle der Schritte 2 und 3
flochtililoch

4
Auf einem Macbook mit Force Touch-Trackpad unter 10.11 El Capitan und 7.2 Xcode funktioniert die Lösung zum Auswählen von Text, Klicken und Halten und anschließenden Ziehen in die Snippets-Bibliothek, jedoch mit der folgenden Einschränkung: Sie müssen in das leere Feld rechts neben Ihrem klicken Text innerhalb der Auswahl, und wenn Sie gedrückt halten, ändert sich der Cursor nicht. Ich zähle bis 3 und ziehe dann. Es ist ziemlich zuverlässig, obwohl ich vergessen habe, ziemlich häufig in die Leerstelle zu klicken;)
Dribbler

1
Mein Problem war, dass ich nicht lange genug wartete. Anstelle der üblichen 2 Sekunden dauerte es ungefähr 8 Sekunden, bis sich der Cursor änderte.
Chris Garrett

4
In xcode 8 / macos sierra brauche ich 10 Sekunden, um zu aktivieren! Der Cursor wechselt von einem "I-Strahl" zu einem normalen Pfeilcursor. WTF, dies muss sicherlich die verborgenste UI-Interaktion sein, die Apple sich jemals ausgedacht hat. Warum nicht einfach eine Schaltfläche "Snippet erstellen" erstellen und den Code einfügen lassen?
Mpoisot

14

Das ist mir auch passiert. Die angegebene Lösung funktionierte nicht, musste aber dennoch Snippets erstellen. Dies ist eine Problemumgehung, obwohl sie nicht die beste Option ist. Sie funktioniert.

  1. Wählen Sie unter Xcode das Snippet-Fenster aus und lassen Sie es ausgewählt.
  2. Öffnen Sie eine Texteditor-App.
  3. Wählen Sie in Xcode den Code aus, den Sie zum Erstellen Ihres Snippets verwenden möchten, und kopieren Sie ihn.
  4. Fügen Sie es in Ihren Texteditor ein und wählen Sie dann alles aus.
  5. Ziehen Sie nun normal aus dem Texteditor in das Snippets-Fenster in Xcode.

Wie gesagt, nicht die beste Option, aber es funktioniert.

(Hinweis für Xcode 8.1) Manchmal wählen Sie den Text aus und halten Sie die Maustaste 3 bis 8 Sekunden lang gedrückt. Der Cursor verwandelt sich in einen Pfeil und es ist möglich, D & D auszuführen. Schade, dass es nur manchmal funktioniert ...


1
ML, wenn Sie ein Windows-Benutzer sind, würde ich trotz Ihres Kommentars vermuten, dass das Problem das folgende ist, da die obigen Erklärungen etwas fehlen. Die Drag-Technik erfordert, wie mir gesagt wurde, die perfekte Routine und erwartete (!) Mac-Methode zum Ziehen und Ablegen: Nachdem 1) Text ausgewählt (hervorgehoben) und dann 2) in Erwartung des Ziehens darauf geklickt wurde, muss man Warten Sie ungefähr 1/4 Sekunde, bevor Sie die Maus zum Ziehen bewegen. Ich glaube, das Display gibt einige Rückmeldungen. In Windows besteht keine Abhängigkeit von dieser Verzögerung von 1/4 Sekunde. Bitte melden Sie sich zurück. Vielen Dank
Jack Bellis

1
Jack, ich bin ein Mac-Benutzer. Möglicherweise liegt ein Fehler vor, der von Apple noch nicht behoben wurde. Einige Benutzer (ich eingeschlossen) können "Drag & Drop" problemlos in ihrem System verwenden. Insbesondere in Xcode kann es jedoch vorkommen, dass Drag & Drop nicht funktioniert, selbst wenn Sie den Text auswählen und warten, bis sich der Cursor in Pfeil usw. ändert. Daher glaube ich, dass diese Problemumgehung, wie gesagt, nicht die beste Option ist, aber funktioniert, bis dieser Fehler behoben ist.
MLBDG

Die Verwendung einer zweiten App war der einzige Weg, der für mich funktioniert hat. Warum keine Tasten Apple? Verknüpfung vielleicht per Drag & Drop ... nicht erforderlich.
WCByrne

9

Auf High Sierra 10.13.3 und XCode 9 hatte ich das gleiche Problem. Die Entscheidung, die für mich funktioniert, besteht darin, Code auf einer leeren Stelle vor dem ersten Symbol auszuwählen und ihn dann in die Snippets-Bibliothek zu ziehen.

Wichtig: Sie müssen nur aus dem leeren Bereich ziehen (siehe Abbildung unten). Andernfalls wählen Sie Ihren Code erneut aus.

Der Cursor ändert sich nur, wenn Sie mit dem Ziehen beginnen. Seien Sie also nicht verwirrt und warten Sie nicht, bis er sich ändert.

Geben Sie hier die Bildbeschreibung ein


2

Ich bin auf dieses Problem mit Xcode 7.2 unter Mac OS X 10.11.2 (El Capitan) gestoßen. Klicken und halten Sie die Auswahl gedrückt, und der Cursor ändert sich nie vom I-Balken zum Pfeil zum Ziehen.

Obwohl die Antwort von MLBDG eine brauchbare Problemumgehung ist, stellte ich fest, dass das Beenden und Neustarten von Xcode das Problem behoben hat. Dies funktioniert möglicherweise nicht für alle, aber es ist einen Versuch wert, wenn Sie Schwierigkeiten haben.


1
  1. Markieren Sie einfach Ihren Text
  2. Kopieren Sie in ein Filtertextfeld, das Sie unten in der Snippet-Bibliothek sehen können
  3. Fügen Sie den Text ein
  4. Wählen Sie nun den Text aus und ziehen Sie ihn von dort in die Snippet-Bibliothek
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.