Nie można przeciągnąć (aby utworzyć fragment kodu) w Xcode


80

Kiedy postępuję zgodnie ze wszystkimi instrukcjami (w tym wideo Apple), aby przeciągnąć tekst w celu utworzenia fragmentu kodu w xcode, otrzymuję inne zachowanie systemu: widzę tylko zaznaczenie ibeam ... Nie mogę przeciągać. Po prostu ponownie wybiera tekst. Czy brakuje mi jakiegoś oczywistego Apple-izmu? Dzięki


Mam ten problem na Xcode 8, ale Xcode 9 działa
— onmyway133

Odpowiedzi:


147

Tak, napotkałem ten sam problem i Apple-ism wydaje się być dobrym określeniem na ten problem :)

Działa to w ten sposób:

  • Wybierz (lub zaznacz) kod, który chcesz zamienić na fragment
  • EDYCJA: Kliknij i przytrzymaj (nie przeciągaj!) Na dowolnej części zaznaczonego tekstu przez krótką chwilę (np. 2 sekundy, czasem 8 sekund)
  • EDYCJA: Kursor myszy zmieni ikonę (nie w El Capitan).
  • Teraz możesz przeciągnąć kod do biblioteki skrawków, gdzie pojawi się zielona ikona +. EDYCJA: W El Capitan zielona ikona nie pojawia się, ale ramka okna fragmentów kodu stanie się cieńsza.

3
Postępując zgodnie z tymi instrukcjami częściej zawodzę niż mi się udaje. Nie rozumiem, jak trudne może być przeciąganie i upuszczanie tekstu. Również interfejs użytkownika do tworzenia fragmentów kodu mógłby zostać znacznie ulepszony. Jest to niezwykle niewygodny sposób zarządzania fragmentami kodu.
— Erik B

1
jeśli używasz gładzika, możesz użyć gestu przeciągania trzema palcami ( support.apple.com/en-us/HT204609 ) zamiast kroków 2 i 3
— flochtililoch

4
Na Macbooku z gładzikiem Force Touch z systemem 10.11 El Capitan i 7.2 Xcode rozwiązanie polegające na zaznaczaniu tekstu, kliknięciu i przytrzymaniu, a następnie przeciągnięciu do biblioteki fragmentów działa, ale z następującym zastrzeżeniem: należy kliknąć puste miejsce po prawej stronie tekstu w zaznaczeniu, a gdy przytrzymasz, kursor się nie zmieni. Liczę do 3 i przeciągam. Całkiem niezawodny, choć dość często zapominam o
— klikaniu

1
Mój problem polegał na tym, że nie czekałem wystarczająco długo. Zamiast zwykłych 2 sekund, zmiana kursora zajęła około 8 sekund.
— Chris Garrett

4
W xcode 8 / macos sierra aktywacja zajmuje mi 10 sekund! Kursor zmieni się z „belki dwuteowej” na zwykły kursor ze strzałką. WTF, z pewnością jest to najbardziej ukryta interakcja interfejsu użytkownika, jaką Apple kiedykolwiek wymyślił. Dlaczego po prostu nie utworzyć przycisku „utwórz fragment” i nie pozwolisz mi wkleić kodu?
— mpoisot

14

Mnie też się to przydarzyło. Podane rozwiązanie nie działało, ale nadal wymagało tworzenia fragmentów. Jest to obejście, chociaż nie jest to najlepsza opcja, działa.

  1. W Xcode wybierz okno fragmentu i pozostaw je zaznaczone.
  2. Otwórz aplikację edytora tekstu.
  3. W Xcode wybierz i skopiuj kod, którego chcesz użyć do utworzenia fragmentu kodu.
  4. Wklej go do edytora tekstu, a następnie zaznacz wszystko.
  5. Teraz przeciągnij i upuść normalnie z edytora tekstu do okna fragmentów w Xcode.

Jak powiedziałem, nie najlepsza opcja, ale działa.

(Uwaga dla Xcode 8.1) Czasami po zaznaczeniu tekstu i przytrzymaniu przycisku myszy przez 3–8 sekund kursor zmienia się w strzałkę i można przejść do D&D. Szkoda, że ​​działa tylko czasami ...


1
ML, jeśli jesteś użytkownikiem systemu Windows, podejrzewam, pomimo twojego komentarza, że ​​problem jest następujący, ponieważ powyższe wyjaśnienia są zawsze trochę brakuje. Technika przeciągania wymaga, jak mi powiedziano, doskonale rutynowej i oczekiwanej (!) Metody przeciągania i upuszczania na komputerach Mac: po 1) zaznaczeniu (podświetleniu) jakiegoś tekstu, a następnie 2) kliknięciu go w oczekiwaniu na przeciągnięcie, należy odczekaj około 1/4 sekundy, zanim zaczniesz przeciągać kursor. Myślę, że wyświetlacz daje wskazówkę zwrotną. W systemie Windows nie ma zależności od wykonania tego 1/4 sekundy opóźnienia. Zgłoś się ponownie. Dzięki
— Jack Bellis

1
Jack, jestem użytkownikiem Maca. Może wystąpić błąd, który nadal nie został naprawiony przez firmę Apple. Niektórzy użytkownicy (w tym ja) mogą bez problemu używać funkcji „Przeciągnij i upuść” w swoim systemie. Jednak szczególnie wewnątrz Xcode może się zdarzyć, że Drag & Drop nie działa, nawet „Zaznaczanie tekstu, poczekaj, aż kursor zmieni się w strzałkę itp.”. Więc uważam, że to obejście, jak powiedziałem, nie jest najlepszą opcją, ale działa, dopóki ten błąd nie zostanie naprawiony.
— MLBDG

Korzystanie z drugiej aplikacji było jedynym sposobem, który działał dla mnie. Dlaczego nie ma przycisków Apple? Może skrót, przeciągnij i upuść ... nie jest konieczne.
— WCByrne

9

Na High Sierra 10.13.3 i XCode 9 napotkałem ten sam problem. Decyzja, która mi odpowiada, to wybranie kodu na pustym miejscu przed pierwszym symbolem, a następnie przeciągnięcie go do biblioteki snippets.

Ważne: musisz przeciągać tylko z pustego miejsca (spójrz na zrzut ekranu poniżej). W przeciwnym razie ponownie wybierzesz kod.

Kursor zmienia się dopiero po rozpoczęciu przeciągania, więc nie daj się zmylić i nie czekaj, aż się zmieni.

wprowadź opis obrazu tutaj


2

Napotkałem ten problem z Xcode 7.2 w systemie Mac OS X 10.11.2 (El Capitan). Kliknij i przytrzymaj zaznaczenie, a kursor nigdy nie zmieni się z belki dwuteowej na strzałkę podczas przeciągania.

Chociaż odpowiedź MLBDG jest użytecznym obejściem, okazało się, że zamknięcie i ponowne uruchomienie Xcode rozwiązało problem. To może nie działać dla wszystkich, ale warto spróbować, jeśli masz trudności.


1
  1. po prostu zaznacz swój tekst
  2. skopiuj w polu tekstowym filtru, które możesz zobaczyć na dole biblioteki fragmentów
  3. wklej tekst
  4. teraz zaznacz tekst i przeciągnij stamtąd do biblioteki fragmentów
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.