LoginSignup
14
14

More than 5 years have passed since last update.

Xcodeに行の複製ショートカットを追加する

Last updated at Posted at 2014-10-01

新しい環境に移行した時に、いつも検索してるので備忘として。
Marvericks, Xcode6の場合

1.設定ファイルを取り出す

/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
編集にはroot権限が必要なので、一旦他の場所にコピって編集した上で、再度戻すようにしたほうがいいかも

2.行の複製コマンドを作る

リストの一番下にEdit(名前はなんでもOK)というDictionaryを追加。
そこにコマンド名と実行内容をkeyとvalueの対で入れることで新しいコマンドを作ることができる。
行の複製の場合、keyを Duplicate Line、stringを selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:とする。
IDETextKeyBindingSet.plistに追加した内容は以下の通り。

<key>Edit</key>
<dict>
    <key>Duplicate Line</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
</dict>

修正したファイルを、管理者パスワードなどを入れつつ、元の場所に戻す。

3.作成したコマンドにキーボードショートカットを割り当てる

  • Xcodeを起動し、Xcode > Preference > Key Bindingsを選択する。
  • Key Binding SetプルダウンからManage Key Bindings..を選択し、下部の+ボタンからDuplicate "Default"を選んでKey Binding Setを複製する
  • リストの一番下にDuplicate Lineコマンドが表示されてるはずなので、その行の右側の空白をダブルクリックして割り当てたいショートカットを入力する。(ここではcommand+D)
  • 他のコマンドとショートカットが競合していると右側に赤いマークがつくので、違うショートカットを指定する等して競合を解消する。競合したままだとどちらのコマンドも有効にならない模様。

IDETextKeyBindingSet.plistに使えるコマンド

HFTextRepresenter.hにあるメソッドのうち、 - (void)〜〜:(id)arg1;の形式のものがIDETextKeyBindingSet.plistに使えそう(未確認)。

参照元:Custom Xcode shortcuts

14
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14