编辑:2020 年 7 月 12 日
再次更新到 Xcode 11.5 后,我从文件中duplicate line
输入的密钥消失了。plist
我不得不再次添加它。键绑定仍然存在。
编辑:2019 年 9 月 17 日
再次更新到 Xcode 10.3 后,我从文件中duplicate line
输入的密钥消失了。plist
我不得不再次添加它。键绑定仍然存在。
编辑:2019 年 5 月 28 日
再次更新到 Xcode 10.2 后,我duplicate line
的文件中的密钥条目plist
消失了。我不得不再次添加它。键绑定仍然存在。
编辑:2018 年 12 月 23 日
更新到 Xcode 10.1 后,我的所有快捷方式再次损坏。但不同的是,在更新 plist 文件以进行行重复之后,我不必定义我的键绑定,它们已经存在。奇怪的。
编辑:2018 年 10 月 14 日
Xcode 10:Apple 高层非常喜欢复制/粘贴,并确保在每个版本的 Xcode 更新中,从每个人的安装中删除行重复。我们开发人员一直对 Xcode 中发生的这种胡说八道感到非常沮丧,因为 Xcode 是唯一没有行重复选项的 IDE。我刚刚更新到 Xcode 10,正如您猜到的那样 - 我的所有快捷键都与我的行复制功能一起被删除。但是,它可以像原始答案一样修复。这次的细微差别是您将需要以下行:
<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>
编辑: Xcode 9:我不得不重做我的快捷方式以及行重复和删除,但好在现在您可以再次编辑 IDETextKeyBindingSet.plist。当他们发布这个版本时,这个高高在上的苹果公司一定是在度假。
编辑: Xcode 8:Buggy,您根本无法修改 IDETextKeyBindingSet.plist 文件。Xcode 在启动时重置它。这位 Apple 的高手真的决心让我们使用复制/粘贴,而不是像所有其他 IDE 中那样简单的行复制。
编辑: Xcode 7.1 仍然没有行复制和删除的快捷方式。这是我使用过的唯一一个没有此类快捷方式的 IDE。如果没有这两条关键捷径,我无法想象开发人员的生活。
这是如何完成的:
首先我们需要修改一个位于 Xcode.app 包中的 plist 文件(需要 sudo 来编辑)
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
然后查找<key>Insertions and Indentations</key>
并在<dict>
标签下添加以下内容:
<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>Deletions</key>
下的部分中找到和这些:<dict>
<key>Delete Current Line</key>
<string>selectLine:, delete:</string>
<string>selectLine:, delete:</string>
现在打开/重新启动 Xcode,转到 Preferences 并转到“Key Bindings”选项卡。使用搜索栏过滤并查找新的快捷方式。然后在快捷方式描述前面单击,为其分配您喜欢的快捷方式。确保您的快捷方式与现有快捷方式不冲突。