Ответ 1
Как и в Xcode 8, Apple скрыла курсор i-ray где-то там, где его никто не нашел. Вместо этого многие решили использовать Mousecape для изменения i-луча во всех программах. Я предпочитаю этот метод, так как он фиксирует i-beam в других программах, которые поддерживают темные темы, такие как редактор Komodo. Mousecape должен работать во всех версиях Xcode, а обновление Xcode не будет прерывать курсор. В настоящее время я использую Mousecape в macOS 10.13.2, Xcode 9.1. Вот шаги:
- Загрузить Mousecape из здесь
- Загрузите "плащ" с измененным курсором i-beam, например Ярко-белый или Серый оттенок
- Выполнить
Mousecape.app
- В строке меню Mousecape:
File > Import Cape > "cape" file downloaded above
- Щелкните правой кнопкой мыши импортированный "плащ" и выберите
Apply
- Проверить, что новый курсор работает в Xcode. Когда это будет выполнено, вы можете применить курсор к каждой перезагрузке, запустив команду из строки меню Mousecape:
Mousecape > Install Helper Tool
- Установка обновлений macOS (например, от 10.13.1 до 10.13.2) может потребовать повторения шагов 5 и 6.
Оригинальный ответ:
Xcode НЕ использует общесистемный курсор i-beam, поскольку все, о чем я говорил, говорят, как будто это был известный факт. Если бы я не поверил этим людям, я бы не потратил два дня на то, как изменить курсор i-луча системы на редактирование CoreGraphics только для того, чтобы найти, что Xcode ibeam не изменяется. Кстати, я также наткнулся на как редактировать другие системные курсоры.
Я провел большую часть выходных, выясняя это, но курсор i-beam в Xcode CAN можно редактировать. Это просто файл TIFF в следующем месте для Xcode 3.2.6 (и ранее, я предполагаю, но не протестировал):
/Developer/Library/PrivateFrameworks/XcodeEdit.framework/Versions/A/Resources/TIbeam.tiff
Xcode 4.1 имеет тот же файл, но он не влияет на i-beam в главном редакторе (я предполагаю, что он используется где-то, но, возможно, нет). Вместо этого главный редактор в Xcode 4.1 использует этот файл:
/Developer/Library/PrivateFrameworks/DVTKit.framework/Versions/A/Resources/DVTIbeamCursor.tiff
Файлы ibeam снова перемещены в Xcode 4.4:
/Applications/Xcode.app/Contents/OtherFrameworks/XcodeEdit.framework/Versions/A/Resources/TIbeam.tiff
/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Versions/A/Resources/DVTIbeamCursor.png
/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Versions/A/Resources/[email protected]
Редактирование DVTIbeamCursor.png было достаточно для изменения i-луча в главном редакторе в моей системе. На другом сайте кто-то сообщил, что [email protected] будет использоваться на экране сетчатки или других новых дисплеях высокого разрешения, таких как Thunderbolt и Cinema. Кто знает, если TIbeam.tiff даже используется больше, поскольку они не обновили его до png.
Согласно комментариям ниже, в Xcode 5.0.2 все 3 файла курсора были заменены одним файлом:
/Applications/Xcode.app/Contents/OtherFrameworks/XcodeEdit.framework/Versions/A/Resources/DVTIbeamCursor.tiff
И в 5.1.1 (мальчик, они наверняка любят менять вещи почти в каждой версии, не так ли?):
Источники/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Versions/A/Re/DVTIbeamCursor.tiff
Я предполагаю, что этот файл является двойным разрешающим (aka retina display) курсором, который уменьшен для экранов без сетчатки.
Если вы не можете найти файл ibeam в своем Xcode, попробуйте запустить эту команду в терминале:
sudo find/-name 'Ibeam' -print
В Xcode 7.3 курсор был перемещен внутри следующего файла пакета, поэтому команда поиска не найдет его:
/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Resources/Assets.car
Я рекомендую использовать найденный процесс здесь, чтобы исправить новый курсор в файл пакета. Если вам не нравится курсор, который он устанавливает (я чувствовал, что он еще слишком темный, а серые контуры смешаны с серым текстом комментария), выполните следующие действия:
- Загрузите последнюю версию Theme Engine(Я успешно использовал версию 1.0.0 (111) с Xcode 7.3.1)
- Резервное копирование
/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Versions/A/Resources/Assets.car
- Скопируйте
Assets.car
где-нибудь, где его можно редактировать, например~/Documents/Assets.car
. - Запустите
Theme Engine.app
, нажмитеOpen Document
, затем откройте~/Documents/Assets.car
. - Прокрутите список элементов слева и выберите
DVTIbeamCursor
. - В центральной панели должно отображаться изображение курсора с нормальным разрешением и двойным разрешением ibeam. Перетащите собственное изображение ibeam поверх любого курсора, и оно должно измениться, чтобы показать ваше изображение. Я использовал изображение PNG.
- Сохранить, затем закройте тему Engine.
- Переместите измененный
Assets.car
обратно на/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Versions/A/Resources/Assets.car
и сохраните резервную копию измененной версии где-нибудь, чтобы вам не пришлось делать это снова до тех пор, пока новая версия Xcode не изменится, что вAssets.car
.
Вы также можете отправить сердитое письмо в Apple, чтобы пожаловаться на то, что они не исправили эту проблему за последние 7+ лет и вместо этого стали более трудными для пользователей исправлять сломанный курсор Apple.
Не забудьте сохранить резервные копии отредактированных курсоров. Новые версии Xcode будут перезаписывать ваши пользовательские курсоры по умолчанию при обновлении программного обеспечения.
Здесь используется курсор ibeam: Щелкните правой кнопкой мыши на ibeam и выберите сохранение изображения, чтобы получить версию png, или нажмите здесь загрузить версию tiff.
Если вы создаете свой собственный курсор, обратите внимание на то, где черные линии пересекаются в исходном курсоре, где белые линии пересекаются в моем курсоре. Это потому, что исходный курсор предназначался для использования на белом фоне, поэтому его черная часть - это точка доступа курсора.