Xcode: несколько привязок клавиш для каждой функции

12

В Xcode я хотел бы иметь возможность настроить несколько привязок клавиш для одной и той же функции. Например, я хотел бы, чтобы step overфункция была сопоставлена ​​с обоими F6и F16. Я не вижу способа сделать это из самого Xcode.

Кто-нибудь знает способ сделать это? (Я использую Xcode 4.2.1)

joseph.hainline
источник

Ответы:

4

Я немного исследовал ваш вопрос. Исходно кажется, что нет способа указать несколько ярлыков для одной и той же функции - я пытался открыть ~/Library/Prefences/com.apple.dt.Xcode.plistфайл и вручную отредактировать NSUserKeyEquivalentsдобавление дублирующего элемента для Step Over, но при запуске Xcode дублирующийся элемент был автоматически удален (это имеет смысл, так как элемент обертки назван <dict>).

Я нашел грубый способ установить второй ярлык, вдохновленный этой статьей . Инструкции для OS X 10.8:

  1. в System Preferences, при Accessibilityвключении Enable access for assistive devices;
  2. загрузите и установите Quicksilver , бесплатный лаунчер для OS X;
  3. сохраните следующую папку AppleScript в папке «Документы» (например, с именем StepOver.scpt) - обязательно скопируйте также ¬символы. Этот сценарий активирует XCode и выбирает Step Overфункцию.

    tell application "Xcode"
        activate
    end tell
    
    tell application "System Events" ¬
    to tell process "Xcode" ¬
    to click menu item "Step Over" ¬
    of menu "Debug" of menu item "Debug" ¬
    of menu "Product" of menu bar item "Product" ¬
    of menu bar 1
    
  4. запустите QuickSilver и перейдите в «Настройки» -> «Триггеры» -> «Пользовательские триггеры».

  5. создайте новый триггер, в котором вы откроете StepOver.scptскрипт, используя нужную горячую клавишу (на скриншоте, который я использовал F10). На вкладке Scope вы можете указать, что триггер работает только в Xcode. триггерный пример
  6. на этом этапе дополнительный ярлык должен работать, я построил базовое консольное приложение C ++ в XCode, и я мог бы перешагнуть через использование F6(как «стандартный» ярлык) и F10(как дополнительный ярлык, настроенный с QuickSilver).

В заключение, вы также можете оценить программное обеспечение для создания макросов, таких как Keyboard Maestro - оно коммерческое, и я не пробовал его.

edymtt
источник
1
tell application "System Events" to tell process "Xcode" to click menu item "Step Over" of menu "Debug" of menu item "Debug" of menu "Product" of menu bar item "Product" of menu bar 1работать так же хорошо без дополнительного кода настройки.
Даниэль Бек
Спасибо @DanielBeck, я не знаком с AppleScript. Я отредактировал свой ответ и упростил эту часть, используя ваше предложение - теперь код стал более читабельным.
Edymtt
Это работает! Это немного сложно настроить, но заняло около 2 минут. Я думаю, что мне нравится Quicksilver как инструмент, который я мог бы использовать для нескольких других вещей. Спасибо, что выяснили это!
joseph.hainline
0

Вы можете использовать комбинацию клавиш для этого процесса, см. Прикрепленное изображение.

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

Я надеюсь, это поможет вам

Джастин Эрсвелл
источник
Я так надеялся, что это сработает! Когда я попробовал его, сработало только сочетание клавиш F16, и F6 больше не работал изнутри XCode (он просто выдавал ошибку, а не делал что-либо). Отображения системного уровня, кажется, перезаписывают сопоставления уровня приложения. Я использую XCode 4.5.2 и OSX 10.8.2. Это сработало для вас, и какие версии вы используете?
joseph.hainline
Привет, извините, это не было завершено; y правильно используйте ctrl + f6, это будет работать вместе с f16, который, я думаю, является лучшим, вы можете получить мои извинения.
Джастин Эрсвелл
Спасибо за попытку, но, думаю, то, что я ищу, просто невозможно. Ctrl + F6 - это команда, отличная от F6. Когда я отображаю на системном уровне, он просто переопределяет уровень приложения. Я действительно пытаюсь подключить две клавиши одновременно к одной и той же функции.
joseph.hainline
0

Я делаю это с клавиатуры Maestro. Вы можете назначить команду одному или нескольким приложениям или глобальным. Это фантастическое программное обеспечение, без которого я не могу жить. Это лучшее программное обеспечение, которое я когда-либо покупал. Вы были бы шокированы, увидев, сколько у меня привязок клавиш.

Приложено изображение, где я сопоставляю горячую клавишу с элементом меню. Игнорируйте действие, выделенное серым цветом на изображении. Он начинается с «Выполнить макрос». Выбор меню - это действие, которое вы хотите

Майк Ретондо
источник