Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 向XCode添加自定义密钥绑定_Ios_Xcode_Swift - Fatal编程技术网

Ios 向XCode添加自定义密钥绑定

Ios 向XCode添加自定义密钥绑定,ios,xcode,swift,Ios,Xcode,Swift,我正在尝试向Xcode 6添加一组自定义密钥绑定。我在过去的帖子中查找到,要做到这一点,您需要编辑Xcode->UserData->KeyBindings->Default.ideakeybindings中的Default.idekeybindings文件 我已经根据以前版本中的操作方式对其进行了编辑,但是当我进入Xcode中的首选项->键绑定时,我无法找到我定义的自定义操作。理想情况下,我想制作一键“复制线”、“剪切线”、“复制线”和其他一些使用Sublime和Atom时逐渐喜欢的键绑定。我在

我正在尝试向Xcode 6添加一组自定义密钥绑定。我在过去的帖子中查找到,要做到这一点,您需要编辑Xcode->UserData->KeyBindings->Default.ideakeybindings中的Default.idekeybindings文件

我已经根据以前版本中的操作方式对其进行了编辑,但是当我进入Xcode中的首选项->键绑定时,我无法找到我定义的自定义操作。理想情况下,我想制作一键“复制线”、“剪切线”、“复制线”和其他一些使用Sublime和Atom时逐渐喜欢的键绑定。我在下面包含了我的.ideakeybindings编辑文件内容,以供参考

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>My Custom Actions</key>
    <dict>
        <key>Delete Current Line/Selection</key>
        <string>deleteToEndOfLine:, deleteToBeginningOfParagraph:</string>
        <key>Duplicate Line</key>
        <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:</string>
    </dict>
</dict>
</plist>

我的习惯行为
删除当前行/所选内容
deleteToEndOfLine:,DeleteToBeginingOffparagraph:
复线
选择行:,复制:,移动到内页:,插入新行:,粘贴:
我是在Xcode 7上这样做的:

  • 闭合Xcode
  • 以sudo权限打开文件/Applications/Xcode-Beta.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist(请确保为您正在使用的Xcode版本使用正确的应用程序目录---for Xcode 6.3 Beta mine为Xcode Beta.app)
  • 添加自定义命令,保存,然后启动Xcode
  • 在Xcode首选项中设置键绑定
我增加了这一部分:

<key>My Custom Commands</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>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string>
    <key>Delete Current Line</key>
    <string>selectLine:, delete:</string>
    <key>Cut Current Line</key>
    <string>selectLine:, cut:</string>
    <key>Copy Current Line</key>
    <string>setMark:, selectLine:, copy:, moveToEndOfLine:, swapWithMark:</string>
    <key>Paste At Beginning Of Line</key>
    <string>moveToBeginningOfLine:, paste:</string>
</dict> 
我的自定义命令
在下面插入新行
moveToEndOfLine:,insertNewline:
在上面插入新行
moveUp:,moveToEndOfLine:,insertNewline:
复制当前行
MoveToBeginingofline:,deleteToEndOfLine:,yank:,insertNewline:,MoveToBeginingofline:,yank:
删除当前行
选择行:,删除:
切断电流线
选择行:,剪切:
复制当前行
设置标记:,选择行:,复制:,移动到内页:,交换标记:
在行首粘贴
MoveToBeginingofline:,粘贴:

由于每次安装新版本的Xcode时都会被覆盖,因此如果有人知道在用户目录中添加自定义命令的位置,我将非常感谢用户设置位置。

我多年来一直在使用以下内容,因为我来自Eclipse夏令营,喜欢“复制当前队列”和非常喜欢“复制当前线路”。 注意“Xcode.app”可以是“Xcode62.app”或“Xcode63.app”,具体取决于您重命名它的方式

sudo vim /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

<key>Customized</key>
<dict>
    <key>Duplicate Current Line Up</key>
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:, moveUp:</string>
    <key>Duplicate Current Line Down</key>
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string>
    <key>Delete Current Line</key>
    <string>deleteToBeginningOfLine:, moveToEndOfLine:, deleteToBeginningOfLine:, deleteBackward:, moveDown:, moveToBeginningOfLine:</string>
</dict>
sudo vim/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
定制的
复制当前队列
MoveToBeginingOffline:,deleteToEndOfLine:,yank:,insertNewline:,MoveToBeginingOffline:,yank:,moveUp:
向下复制当前行
MoveToBeginingofline:,deleteToEndOfLine:,yank:,insertNewline:,MoveToBeginingofline:,yank:
删除当前行
DeleteToBeginingOffline:,moveToEndOfLine:,DeleteToBeginingOffline:,deleteBackward:,moveDown:,MoveToBeginingOffline:
重新启动Xcode |首选项|键绑定|全部

搜索“重复”

搜索“当前”

然后输入您最喜欢的快捷键绑定


我从SO-thx的某个地方学到了很多这个技巧。它在Xcode 6.3最新测试版、Xcode 6.2、6.1和以前的Xcode版本上都可以使用。

太棒了,我会在周二的工作中研究这个问题,然后再告诉你它是如何工作的(我会根据情况接受或评论。谢谢你的帮助)非常感谢!这非常有效。对于那些比我更新到mac的人,请将cd插入/进入MacHD,然后进入应用程序,否则您将无法获得列表中的所有应用程序。谢谢!我想我也在学习如何使用mac-对于那些也不知道如何通过Finder访问此文件的人(“您没有查看其内容的权限”消息),我可以使用“cd/Applications/Xcode Beta.app/contents/Frameworks/IDEKit.framework/Resources”(确保使用正确的Xcode应用!)通过终端访问此文件,然后使用以下命令在文本编辑器(例如TextWrangler)中打开文件:打开-a/Applications/TextWrangler.app IDETextKeyBindingSet.plist“。我没有sudo权限,是否无法将其添加到我的~/”的配置文件中的某个位置?我已经搜索了这样一个位置,因为每个新版本的XCode都会覆盖上述IDETextKeyBindingSet.plist中的设置。所以,如果你发现了另一个解决方案,至少我真的想知道答案。所以:好吧,我没有这样的解决方案,当然这并不意味着解决方案不存在。