2016-10-02 10 views
7

XCode 8.0までは、IDETextKeyBindingSet.plistファイルをカスタマイズすることができました。ただし、このファイルを変更すると、XCodeが正常に動作しなくなり(矢印キーが機能しなくなるなど)、独自のショートカットキーを作成することはできなくなります。XCode 8.0行の重複と削除

XCodeには、行の複製と挿入のショートカットがありませんでした。以前は適切な場所に次のように追加することでIDETextKeyBindingSet.plistにそれらを追加することが可能であった:

<key>Insert New Line Below</key> 
<string>moveToEndOfLine:, insertNewline:</string> 
<key>Insert New Line Above</key> 
<string>moveUp:, moveToEndOfLine:, insertNewline:</string> 
<key>Duplicate Current Line</key> 
<string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string> 
<key>Delete Current Line</key> 
<string>selectLine:, delete:</string> 
<string>selectLine:, delete:</string> 

誰でもXCodeの8.0で同じことを達成する方法を知っていますか? のXcode 9.2用に更新

+0

これをプライベートXcodeフォーラムに投稿してください。おそらく、apple devがそれに答えるでしょう。 –

+2

@DavidHこの質問は、Appleの開発者にとっては新しいものではありません。何年も前から、私はこれらの質問に答えられないことに気付いています。私には、アップルには、追加したくない、または信じたくない機能があるように思えるが、どちらも答えられないというポリシーがあるようだ。さもなければ、他のすべてのIDE、少なくとも主要なものは、行の複製と削除のショートカットを持っていますが、XCodeは意図的にそれらを保存して、その背後に彼らの哲学を語ったことはありません。コードを書くときに何度も何度も必要とされるこの2つの重要なショートカットがないと、開発者の人生を想像することはできません。 – zeeshan

+1

私の主張は、そこに知っている人がいるか、古いXcode listservであっても、そこに知識のある人がいる可能性が高いということです。私見では。それは傷つけられず、あなたの時間の数分しかかかりません。実際に、私は何年もそれを続けてきたので、これをlistservに投稿します - もし私がこのトピックを更新するつもりなら、私は答えを得ます。 –

答えて

14

、私はXcodeのを再起動した後、次の行に

/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist 

のルート辞書に

<key>Sublime Commands</key> 
<dict> 
    <key>Cut Current Line</key> 
    <string>selectLine:, cut:</string> 
    <key>Copy Current Line</key> 
    <string>selectLine:, copy:</string> 
    <key>Duplicate Current Line</key> 
    <string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string> 
</dict> 

を追加max

のおかげで、あなたがに行くことができますKey Bindingsの設定を行い、新しい3つのコマンドに必要なショートカットを割り当てます。 keyを検索してください。

21世紀には、このような基本的なショートカットを手動で追加する必要があります。

+0

更新。私はすぐにそれを確認します。使用しているOSのバージョン。私はエル・キャピタンにいる。 – zeeshan

+0

私はMacOSにいるSierra 10.12.2 – duongel

+2

残念ながら、これは私のために働いていません。私はxCode 8.2.1とSierra 10.12.3を持っています – human4

7

上記の答えは、私が確認している別の解決策がある。ここ

のXcode 9で壊れているように見えるんXcodeの9 GMでの仕事:私が試したとき

<key>Custom Commands</key> 
<dict> 
    <key>Duplicate Current Line</key> 
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string> 
</dict> 
2

前の回答には、誤った空白を残しましたそれ。これはXcode 9で私のために働いています:

selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine: