Неможливо перетягнути (щоб зробити фрагмент коду) у Xcode


80

Коли я виконую всі інструкції (включаючи відео Apple), щоб перетягнути текст, щоб створити фрагмент коду в xcode, я отримую іншу поведінку системи: все, що я бачу, - це вибір ibeam ... Я не можу перетягнути. Це просто закінчує вибір тексту знову. Мені не вистачає явного очевидного Apple-ism? Дякую


У вас є ця проблема на Xcode 8, але Xcode 9 працює
— onmyway133

Відповіді:


147

Так, я зіткнувся з тією ж проблемою, і Apple-ism, здається, є гарним терміном для цього питання :)

Це працює таким чином:

  • Виберіть (або виділіть) код, який ви хочете перетворити на фрагмент
  • РЕДАГУВАТИ: Клацніть і утримуйте (не тягніть!) На будь-якій частині виділеного тексту на короткий момент (наприклад, 2 секунди, іноді 8 секунд)
  • EDIT: Курсор миші змінить піктограму (не на El Capitan).
  • Тепер ви можете перетягнути код через бібліотеку фрагментів, де з’явиться зелений значок +. EDIT: На El Capitan зелена піктограма не відображається, але рамка вікна фрагментів коду стає тоншою.

3
Дотримуючись цих вказівок, я частіше зазнаю невдач, ніж досягаю успіху. Я не розумію, як може бути так важко перетягувати якийсь текст. Також користувальницький інтерфейс для створення фрагментів коду може бути значно покращений. Це надзвичайно незручний спосіб управління фрагментами коду.
— Ерік Б,

1
якщо ви використовуєте трекпад, ви можете використовувати жест перетягування трьома пальцями ( support.apple.com/en-us/HT204609 ) замість кроків 2 і 3
— flochtililoch

4
На Macbook із трекпадом Force Touch, що працює 10.11 El Capitan та 7.2 Xcode, рішення вибору тексту, клацніть і утримуйте, а потім перетягніть до фрагментів, працює бібліотека, але з таким застереженням: потрібно клацнути порожній простір праворуч тексту у виділеному фрагменті, і при утриманні курсор не зміниться. Я рахую до 3, а потім тягну. Це досить надійно, хоча я досить часто забуваю про клацання в порожньому місці;)
— Dribbler

1
Моя проблема полягала в тому, що я не чекав досить довго. Замість звичайних 2 секунд пройшло приблизно 8 секунд, перш ніж курсор зміниться.
— Chris Garrett

4
У xcode 8 / macos sierra для активації мені потрібно 10 секунд! Курсор змінюється з "двотаврового" на звичайний курсор зі стрілкою. WTF, це, безперечно, має бути найбільш прихованою взаємодією з користувацьким інтерфейсом, яку коли-небудь мріяв Apple. Чому б просто не зробити кнопку "створити фрагмент" і не дозволити мені вставити код?
— mpoisot

14

Це траплялося і зі мною. Наведене рішення не спрацювало, але все-таки потрібно було створити фрагменти. Це обхідний шлях, хоча це не найкращий варіант, але він працює.

  1. У Xcode виберіть вікно фрагмента та залиште його вибраним.
  2. Відкрийте програму текстового редактора.
  3. У Xcode виберіть та скопіюйте код, який ви хочете використовувати для створення свого фрагмента.
  4. Вставте його у свій текстовий редактор, а потім виберіть увесь.
  5. Тепер перетягніть із текстового редактора у вікно фрагментів у Xcode.

Як вже було сказано, не найкращий варіант, але він працює.

(Примітка для Xcode 8.1) Іноді виділяючи текст і утримуючи натиснутою кнопку миші протягом 3..8 секунд, курсор перетворюється на стрілку, і це можна зробити D&D. Шкода, це працює лише іноді ...


1
ML, якщо ви користувач Windows, я підозрюю, незважаючи на ваш коментар, що проблема полягає в наступному, тому що наведених вище роз'яснень ніколи не вистачає. Техніка перетягування вимагає того, що, як мені кажуть, є абсолютно рутинним і очікуваним (!) Методом Mac для перетягування: після 1) виділення (виділення) деякого тексту, а потім 2) клацання по ньому в очікуванні перетягування, потрібно зачекайте приблизно 1/4 секунди, перш ніж фактично рухати мишу, щоб перетягнути. Я вважаю, що дисплей дає деяку підказку зворотного зв'язку. У Windows немає залежності від затримки на 1/4 секунди. Будь ласка, повідомте про це. Дякую
— Джек Белліс

1
Джек, я користувач Mac. Може статися помилка, яку досі не виправляє Apple. Деякі користувачі (у тому числі і я) можуть використовувати "Drag & Drop" без проблем у своїй системі. Однак саме в Xcode може трапитися так, що Drag & Drop не працює, навіть "Виділивши текст, почекайте, поки курсор зміниться на стрілку тощо". Тому я вважаю, що цей спосіб вирішення проблеми, як я вже сказав, не найкращий варіант, але функціональний, поки ця помилка не буде виправлена.
— MLBDG

Використання другого додатка було для мене єдиним способом, який працював. Чому немає кнопок Apple? Ярлик, можливо, перетягування ... не потрібно.
— WCByrne

9

На High Sierra 10.13.3 та XCode 9 я зіткнувся з тією ж проблемою. Рішення, яке працює для мене, це вибір коду на порожньому місці перед першим символом, а потім перетягування його до бібліотеки фрагментів.

Важливо: вам потрібно перетягувати лише з порожнього місця (подивіться знімок екрана нижче). В іншому випадку ви знову переберете свій код.

Курсор змінюється лише тоді, коли ви починаєте перетягувати, тому не плутайтеся і не чекайте, поки він зміниться.

введіть тут опис зображення


2

Я зіткнувся з цією проблемою з Xcode 7.2 у Mac OS X 10.11.2 (El Capitan). Клацніть і утримуйте виділення, і курсор ніколи не змінюватиметься з двотавру на стрілку для перетягування.

Хоча відповідь MLBDG є корисним обхідним шляхом, я виявив, що вихід і перезапуск Xcode вирішили проблему. Це може працювати не для всіх, але варто спробувати, якщо у вас виникають труднощі.


1
  1. просто виділіть свій текст
  2. скопіюйте у текстове поле фільтра, яке ви можете побачити внизу бібліотеки фрагментів
  3. вставити текст
  4. тепер виділіть текст і перетягніть звідти до бібліотеки фрагментів
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.