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.