Xcode: beberapa binding kunci per fungsi

12

Di Xcode saya ingin kemampuan untuk mengatur beberapa binding kunci untuk fungsi yang sama. Misalnya, saya ingin step overfungsi dipetakan untuk keduanya F6dan F16. Saya tidak melihat cara untuk melakukan ini dari Xcode itu sendiri.

Adakah yang tahu cara untuk melakukan ini? (Saya menggunakan Xcode 4.2.1)

joseph.hainline
sumber

Jawaban:

4

Saya meneliti sedikit pertanyaan Anda. Secara asli tampaknya tidak ada cara untuk menentukan beberapa pintasan untuk fungsi yang sama - Saya sudah mencoba membuka ~/Library/Prefences/com.apple.dt.Xcode.plistfile dan secara manual mengedit NSUserKeyEquivalentsmenambahkan elemen duplikat untuk Step Over, tetapi pada Xcode startup elemen duplikat secara otomatis dihapus (masuk akal karena elemen pembungkus diberi nama <dict>).

Saya telah menemukan cara kasar untuk mengatur pintasan kedua, terinspirasi oleh artikel ini . Instruksi untuk OS X 10.8:

  1. di System Preferences, di bawah Accessibilitymemungkinkan Enable access for assistive devices;
  2. unduh dan instal Quicksilver , peluncur gratis untuk OS X;
  3. simpan folder AppleScript to Documents berikut (misalnya dengan nama StepOver.scpt) - pastikan juga menyalin ¬karakter. Skrip ini mengaktifkan Xcode dan memilih Step Overfungsi.

    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. luncurkan QuickSilver dan arahkan ke Preferensi -> Pemicu -> Pemicu khusus

  5. buat pemicu baru, di mana Anda membuka StepOver.scptskrip menggunakan tombol pintas yang Anda inginkan (dalam tangkapan layar yang saya gunakan F10). Di tab Lingkup Anda dapat menentukan bahwa pemicu hanya berfungsi di Xcode. contoh pemicu
  6. pada titik ini pintasan tambahan harus berfungsi, saya telah membangun aplikasi konsol C ++ dasar dalam Xcode dan saya bisa melangkah menggunakan menggunakan F6(sebagai pintasan "standar") dan F10(sebagai pintasan tambahan yang dikonfigurasi dengan QuickSilver).

Sebagai catatan terakhir, Anda juga dapat mengevaluasi perangkat lunak untuk membuat makro seperti Keyboard Maestro - ini komersial dan saya belum mencobanya.

edymtt
sumber
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 1berfungsi dengan baik tanpa tambahan kode pengaturan.
Daniel Beck
Terima kasih @DanielBeck, saya tidak terbiasa dengan AppleScript. Saya telah mengedit jawaban saya dan menyederhanakan bagian ini dengan saran Anda - sekarang kodenya lebih mudah dibaca.
edymtt
Ini bekerja! Agak rumit untuk diatur, tetapi hanya membutuhkan waktu sekitar 2 menit. Saya pikir saya suka Quicksilver sebagai alat yang dapat saya gunakan untuk beberapa hal lainnya. Terima kasih telah menemukan ini!
joseph.hainline
0

Anda dapat menggunakan mapper shortcut keyboard untuk proses ini lihat gambar terlampir.

masukkan deskripsi gambar di sini

Saya harap ini membantu Anda

Justin Erswell
sumber
Saya sangat berharap ini akan berhasil! Ketika saya mencobanya, hanya pintasan keyboard F16 yang berfungsi, dan F6 tidak lagi berfungsi dari dalam XCode (itu hanya membuat suara kesalahan daripada melakukan apa pun). Pemetaan tingkat sistem tampaknya menimpa pemetaan tingkat aplikasi. Saya menggunakan XCode 4.5.2 dan OSX 10.8.2. Apakah ini berhasil untuk Anda, dan versi apa yang Anda gunakan?
joseph.hainline
Hai, maaf tidak lengkap; y benar gunakan ctrl + f6 ini akan bekerja bersama f16 itu adalah yang terbaik saya pikir Anda bisa mendapatkan permintaan maaf saya.
Justin Erswell
Terima kasih atas usahanya, tapi saya rasa apa yang saya cari sama sekali tidak mungkin. Ctrl + F6 adalah perintah yang berbeda dari F6. Ketika saya memetakan di tingkat sistem, itu hanya mengesampingkan tingkat aplikasi. Saya benar-benar mencoba untuk mendapatkan dua kunci yang dipetakan pada saat yang sama untuk fungsi yang sama.
joseph.hainline
0

Saya melakukan ini dengan Keyboard Maestro. Anda dapat menetapkan perintah ke satu atau lebih aplikasi atau global. Ini adalah perangkat lunak yang fantastis yang tidak dapat saya jalani. Ini adalah perangkat lunak terbaik yang pernah saya beli. Anda akan terkejut melihat berapa banyak binding kunci yang saya miliki.

Terlampir adalah gambar tempat saya memetakan hotkey ke item menu. Abaikan tindakan yang berwarna abu-abu pada gambar. Ini dimulai dengan "Jalankan Macro". Pilih Menu adalah tindakan yang Anda inginkan

Mike Retondo
sumber