【问题标题】:Hidden Features of XcodeXcode 的隐藏功能
【发布时间】:2010-09-13 20:42:03
【问题描述】:

随着大量新手涌入 Xcode,我相信有很多 Xcode 提示和技巧可以分享。

你的是什么?

【问题讨论】:

    标签: objective-c xcode macos cocoa


    【解决方案1】:

    ⌘ 命令 + Double-Click on a symbol:跳转到符号的定义。

    ⌥ 选项 + Double-Click on a symbol:在符号的文档中查找文本。 (仅当您安装了它们的符号的文档集时才有效。)

    收藏栏:

    收藏夹栏就像您在 Safari 中一样,用于存储 - 以及 - 收藏夹。我经常用它来存储我现在正在使用的文件的快捷方式(你可以通过拖放来完成)。通常,当我处理大型或不熟悉的项目时,这更有用。

    要显示收藏夹栏,请选择以下菜单选项:

    • View > Layout > Show Favorites Bar

    【讨论】:

    • 喘不过气来!显示收藏栏,你一直在哪里!
    • @Mr.Gando - 您可以在收藏夹栏上拖放文件。
    • 收藏夹栏已在 Xcode 4 中被“替换”为持久选项卡。
    【解决方案2】:

    快速打开...

    • Command ⌘ Shift ⇧ D

    • 文件 > 快速打开...

    我是 快速打开 功能的忠实拥护者,该功能在 Xcode 3.1 及更高版本中特别有用。当您想要打开项目或框架中的文件或符号定义时,只需点击键盘快捷键,输入文件或符号的名称,使用 Up Arrow ↑向下箭头 ↓ 选择正确的结果(如果需要),然后按 Return ↩ 打开文件或导航到符号定义。

    在 Xcode 4 上:

    • Command ⌘ Shift ⇧ o

    快速打开使用当前单词作为搜索词

    另外,直到两分钟前(schwa 在评论中指出)我才知道 Xcode strong> 被调用,该词将用作快速打开搜索词。

    【讨论】:

    • 是的,快速打开现在非常好用。您也可以将文本插入符号放在#include/#import 行的文件上并快速打开该文件。
    • 你们在说什么“文本插入符号”??
    • 在 Mac 上,“光标”指示您的鼠标位置;闪烁的竖线是“插入点”。
    • @Nicholas Riley:插入符号是正确的词,AFAIK - 当我在一家软件公司工作时,我们的 mac 开发人员总是这样称呼它
    • @Flubba:插入符号肯定是使用的,我一点也不反对;这不是 Mac 上常见的以用户或开发人员为中心的术语。如果您在 Google 上搜索“caret site:developer.apple.com”,您只会在 TrueType 文档和一个最近编写的 iPad 文档中找到匹配项。
    【解决方案3】:

    链接新框架

    (在“组和文件”窗格中,打开“目标”显示三角形以显示与您的项目关联的目标。)

    1. 在“组和文件”窗格中,双击当前项目目标以显示“目标信息”面板。
    2. 在“信息”面板中,选择“常规”选项卡。下部窗格显示当前链接的框架。
    3. 通过按面板左下方的 + 按钮并从出现的工作表中显示的列表中进行选择来添加新框架。 (重要的是,工作表中的列表仅显示与目标相关的框架......)

    (这在两年前还没有,但值得指出的是,它比在文件系统中找到框架并将其拖入项目中节省了大量时间......)

    【讨论】:

      【解决方案4】:

      切换到头文件/源文件

      • 选项⌥ 命令⌘ 向上箭头↑

      • 查看 > 切换到头文件/源文件

      .m.h 文件之间切换。

      • 在 Xcode 4 中,这是 ctrl Command ⌘ Up Arrow ↑

      【讨论】:

      • 这绝对是我的最爱。我经常使用它。当我们谈论 cpp 和 h 时也适用。不只是米! :)
      • 在 Mac 上称为“选项”,而不是“替代”。如果你想要花哨的符号,可以写成⌥⌘↑
      • 更好的是,打开标题,⌘⌥⇡在同一窗口中打开.m,然后⌘⌥⇠/⇢在它们之间切换。
      • 请注意,在 Xcode 3.2 中,您必须更改键绑定才能将 ⌘⌥⇠/⇢ 恢复为 switch-file。他们将默认设置更改为在同一文件中的位置之间移动。
      • 三指在触摸板上向上滑动是同一操作的另一个快捷方式。
      【解决方案5】:

      自动完成键盘快捷键

      Tab ⇥ OR Control ⌃ /:选择下一个自动完成参数。

      Shift ⇧ Tab ⇥Shift ⇧ Control ⌃ /:选择上一个自动完成参数。

      Escape ⎋:显示自动完成弹出列表。

      【讨论】:

      • 感谢 Control-/,我一直想知道如何跳转到下一个 arg
      • 天哪,我也是。到目前为止,这是 Xcode 最烦人的“功能”。谢谢!
      • 是的,感谢您指出...不知道 ctrl-/ 正在杀死我
      • Shift-Ctrl-/ 前进到上一个参数。
      • 请注意,新的 XCode 使用 Tab 在完成中的参数之间移动。它更流畅。
      【解决方案6】:

      放大编辑器

      如果您的窗口同时显示详细视图和编辑器视图,您可以放大编辑器以将编辑器视图扩展到窗口的整个高度。 (这很容易找到,但很多人似乎忽略了它。)

      您可以使用以下方法之一来做到这一点:

      • Command ⌘ Shift ⇧ E

      • 查看 > 放大编辑器

      • 拖动拆分器(在编辑器之间 窗口及其上方的文件列表) 向上。

      【讨论】:

      • 我花了好几年的时间才知道如何隐藏树 - Command-Option-Shift-E。啊,甜蜜的解脱。我永远感谢 MacMacDev Glasgow 小组让我知道这一点。
      【解决方案7】:

      当您在一个方法上使用代码完成并且它有多个参数时,使用 CTRL + / 移动到您需要填写的下一个参数。

      【讨论】:

      • Tab / Shift-Tab 现在也支持 Xcode 的最新版本。
      【解决方案8】:

      你可以让 Xcode 在你的 Info.plist 文件上运行预处理器:

      CFBundleShortVersionString #ifdef 调试 1.0(调试) #别的 1.0 #万一

      详情请见http://developer.apple.com/technotes/tn2007/tn2175.html

      【讨论】:

      • 请注意,如果您这样做,您的 Info.plist 将始终必须作为文本进行编辑;您将无法在使用正确的键和值类型保持它的​​漂亮的属性列表编辑器中对其进行编辑。
      【解决方案9】:

      Cmd-/ 为 cmets 自动插入“//”。从技术上讲,击键次数相同,但感觉更快...

      此外,默认的项目结构是将资源和类文件放在不同的位置。对于大量代码,请创建逻辑组并将相关代码和 xib 文件放在一起。在 XCode 中创建的组只是逻辑结构,不会更改文件在磁盘上的位置(尽管如果您愿意,可以将它们设置为复制真实的目录结构)

      【讨论】:

      • 您实际上可以选择一个文本块来使用 CMD-/ 切换评论
      • 感觉更快,因为它是//,因为你不能用另一只手按另一个/,所以时间加倍:)
      • TextMate 做得更好更快。更好:在 TextMate 中,即使注释分隔符之前有空格,它也可以取消注释,而在 Xcode 中,分隔符之前不能有空格。更快:由于某种原因,Xcode 有一点延迟。
      【解决方案10】:

      Xcode 支持可以通过 Edit 菜单末尾的 Insert Text Macro 菜单调用的文本宏。也可以使用 Xcode 的代码完成技术 Code Sense 来调用它们。

      例如,键入键序列p i m control-period 会将#import "file" 插入到您的代码中,其中file 作为可编辑标记,就像代码完成一样。

      【讨论】:

        【解决方案11】:

        当通过多个键盘使用 Code Sense 时,使用 control + , 显示可用完成列表,control + 插入最有可能的补全,control + / & shift + control + / 在占位符标记之间移动。按键都在主行下方的键盘上,有利于肌肉记忆。

        【讨论】:

        • 您也可以使用 esc,而不是使用 control-comma 作为可用完成列表。
        【解决方案12】:

        “Ctrl+左/右箭头”进行词内文本导航。我使用此功能将光标从变量中的一个“驼峰”跳转到下一个。

        【讨论】:

        • 只要您禁用了 Spaces,那就太好了:\
        • 也可以试试 Option-f、Option-b、Option-d 等。这些都是 emacs 风格的键绑定。
        • @jbrennan 我将空格分配给 ⌃+⌥+⇧+⌘ 编辑:要将空格设置为 ⌃+⌥+⇧+⌘,请选择“在空格之间切换:”和“切换直接到空格:”弹出并按住 Control、Option、Shift 和 Command 键。
        • 一直在寻找这个。感谢马特,感谢 jtc27 提供的空间提示!
        • @ustun:我的 Option-f 类型 ƒ。
        【解决方案13】:

        在打开的文件之间来回导航:
        ⌥⌘←
        ⌥⌘→

        【讨论】:

        • 关键是 Mac 上的“option”(⌥),而不是“alt”。
        • 白色 Apple 键盘的选项键上确实有 alt。
        • 克里斯,'alt' 标签是给切换器的。老派Mac家伙将其称为Option。就像上帝的旨意一样。
        • 如果您是触控板手势的爱好者,您还可以使用三指左右滑动来获得相同的效果。
        【解决方案14】:

        可能不言而喻,但如果您想使用词内导航,请确保更改 Spaces 中的键预设(在 Expose & Spaces 首选项窗格中)(如果您使用它)。

        我将 Spaces 切换为使用 Ctrl-Option Left/Right。

        编辑:要将空格设置为 Ctrl-Option Left/Right,请选择“在空格之间切换:”弹出窗口并按住 Option 键。第一项将从 Ctrl 箭头键变为 Ctrl-Option 箭头键。

        【讨论】:

        • 如何设置空格以使用Ctrl+Option方向键? SYSTEM Preferences 中的选项只允许 Option、Control 或 Cmd
        【解决方案15】:

        获取Colin Wheeler's Complete Xcode Keyboard Shortcut List(以 PDF 或 PNG 格式提供)。打印出来,放在看得见的地方(我把它贴在屏幕旁边的墙上)。

        编辑: Updated versions for Xcode 3.2

        编辑 2: Updated versions for Xcode 4

        【讨论】:

          【解决方案16】:

          Xcode 中的类浏览器!按 shift + + c 到达。您可以缩小范围以仅显示您的活动项目。只要您只想浏览类层次结构,它就会为您提供一个不那么混乱的视图。

          【讨论】:

          • 哇!不知道这个……这可能会成为我的主要“工作”窗口。几乎感觉就像 VisualAge(好的部分):D
          • AAARRGGHH 作为一个 ObjectMaster 的老粉丝,我很高兴地阅读了这篇文章,直到我意识到它在 XCode4 中被删除了,无法相信这个 IDE 是一个巨大的倒退。我敢打赌,Apple 内部有很多人仍在使用 Xcode 3。
          【解决方案17】:

          右键单击任何单词并选择“在 API 参考中查找选定文本”以在 API 中搜索该单词。如果您需要查找类的可用属性和/或方法,这将非常有用。无需前往 Apple.com 或 Google,您将看到一个弹出窗口,显示您正在寻找的内容(或找到的内容)。

          【讨论】:

          • 选项双击也可以。
          【解决方案18】:

          右键单击函数中的变量,然后单击范围内的全部编辑。自从我发现这一点以来一直在使用它。

          ctrl T

          【讨论】:

          • 非常有用,不知道它在那里。该上下文菜单绝对值得探索。
          • 您可以在要编辑的单词上方使用 Ctrl-Command-T 访问它。比讨厌的菜单快得多!
          • 在Mac上称为Ctrl+click。
          • Xcode 4 中默认快捷键改为 Ctrl+Command+E,可以在键绑定首选项中更改。
          【解决方案19】:

          使用 alt- 向后或向前移动一个完整的单词。使用 cmd-alt- 在历史记录中后退或前进文件。使用 cmd-alt- 在接口和实现之间切换。

          使用 cmd-= 跳转到构建错误列表中的下一个错误。使用 cmd-shift-f 显示多个查找面板。使用 cmd-shift-e 切换完整的编辑器可见性。

          使用 cmd-0 跳转到 Project 选项卡,使用 cmd-shift-b 跳转到 build 选项卡,使用 cmd-shift-y 跳转到 debug 选项卡(与操作的关键命令相同,添加了 shift)。

          【讨论】:

          • 只有我还是你缺少方向键?
          【解决方案20】:

          没有太多的键盘快捷键,但源代码中的 TODO cmets 显示在编辑器顶部的方法/函数下拉列表中。

          例如:

          // TODO: Some task that needs to be done.
          

          显示在方法和函数的下拉列表中,因此您可以直接跳转到它。

          大多数 Java IDE 在滚动条中显示这些任务标签的标记,这样更好,但也可以。

          【讨论】:

          • 我刚试过 // MARK: 和#pragma mark 的效果完全一样。您甚至可以使用 // MARK: 和破折号来获取分隔符。
          • 我希望您可以将标记添加到它捕获的内容列表中。我工作的代码库有很多# XXX,它没有看到这些。
          • @Gonzalo Larralde 什么?我的意思不是写 // TODO,我的意思是在下拉栏中看到所有的 TODO cmets。 #failatfailing
          • 在 Xcode 3 中,TODO cmets 可以放在代码中的任何位置,它们会出现在函数弹出窗口中。出于某种原因,Xcode 4 TODO cmets 必须在任何函数/方法体之外才能出现。这是一个错误。
          • @SteveCaine 几个月后,它仍然是一个错误,还是现在只是现实?
          【解决方案21】:

          使用#pragma 进行组织

          你可以使用:

          #pragma mark Foo
          

          ... 作为在源文件中组织方法的一种方式。通过弹出菜单浏览符号时,您在Foo 中放置的任何内容都会在列表中显示为粗体。

          要显示分隔符(即水平线),请使用:

          #pragma mark -
          

          它非常有用,尤其是对于将委托方法或其他方法组组合在一起时。

          【讨论】:

          • typing #p 通常会触发代码补全 '#pragma mark
          • 它还抓取# TODO 语句。现在如果它也能抓取# XXX,这是我工作的代码库中常用的......
          • Xcode 4 还支持“#pragma mark - Foo”,它同时添加了标记和分隔符。
          【解决方案22】:

          使用类浏览器显示继承的方法

          Apple 的 API 参考文档没有显示从超类继承的方法。有时,虽然。能够查看一个类可用的全部功能是很有用的——包括您自己的自定义类。您可以使用类浏览器(从项目菜单中)显示与当前项目相关的所有类的平面或分层列表。浏览器窗口右侧的上窗格显示与在浏览器中选择的对象相关联的方法列表。您可以使用“配置选项”表选择“显示继承的成员”以显示继承的方法以及由所选类本身定义的方法。您点击小书本符号即可进入相应的文档。

          【讨论】:

            【解决方案23】:

            ⌘-[ 和 ⌘-] 缩进和取消缩进选定的文本。使清理源代码更加更容易。

            【讨论】:

            • 如果您剪切文本并将其粘贴回来,它会神奇地正确地重新缩进。 :)
            • 或者只是选择它并点击 control-I(像 tab 但不是真的)。​​
            • 这是一个控制转移吗?还是一个控件 l(l 代表小写)?
            【解决方案24】:

            Ctrl + 2:访问当前文件中方法和符号的弹出列表。

            这非常有用,因为使用此快捷方式,您可以完全使用键盘浏览文件。当您到达列表时,开始输入字符,列表将选择您要查找的符号。

            【讨论】:

            • 我使用 Spaces(CTRL-2 转到 Space #2),所以我重新映射了键绑定。它可以在“Pop Symbols PopUp”项的“Text Key Bindings”下找到。
            • 不错的提示。让我发现 Control-1 会调出文件历史列表。
            • 我相信在 XCode5 中是 CTRL+6
            • XCode 4 中是否有此键绑定?我正在使用 Spaces,所以我想重新绑定它,但我找不到它。
            • 在 XCode4 中是 ^6。它被称为显示文档项。
            【解决方案25】:

            ctrl + alt + + r 清除日志

            【讨论】:

            • 有趣,我认为 Apple 不赞成需要双手执行的快捷方式?
            【解决方案26】:
            1. 在选择文本时按住选项可选择不连续的文本部分。
            2. 在单击符号名称下拉菜单时按住选项可按名称而不是它们在文件中出现的顺序排序。

            【讨论】:

            • 从技术上讲,它是方形文本选择(实际上与非连续选择不同)。这也适用于许多其他 Cocoa 程序,例如 Terminal。
            【解决方案27】:

            “用户脚本”菜单中有很多好东西,添加您自己的内容相对容易。例如,我添加了一个快捷方式并将其绑定到 cmd-opt-- 以在我的代码中插入注释分隔符和 #pragma mark 以快速分解文件。

              #!/bin/sh
              echo -n "//================....================
              #pragma mark "
            

            当我点击 cmd-opt-- 时,这些行被插入到我的代码中,并且光标被预先定位以编辑 pragma mark 组件,该组件显示在符号弹出窗口中。

            【讨论】:

            • "#pragma mark -" 将在功能下拉菜单中添加分隔线。
            【解决方案28】:

            调试 - 如何使用 GDB

            仍然是新手,我发现捕获和识别故障相当 艰巨的工作。控制台,尽管它是一个强大的工具,但通常 不会产生非常直观的结果并且知道你是什么 在调试器中查看可能同样难以 理解。在他们中的一些人的帮助下 关于 StackOverflow 和关于 调试可以在 Cocoa With Love 变得更友好了。

            【讨论】:

              【解决方案29】:

              一些提示可以在 Xcode Tools Tips 中找到。

              【讨论】:

                【解决方案30】:

                能够水平分割当前编辑器窗口,这对于宽屏显示器能够并排查看源文件和头文件非常有用。根据您使用的 Xcode 版本,有两种不同的方法。

                在 Xcode 3.0 中,它位于该列表底部的 Preferences、Key Bindings、Text Key Bindings 下。

                在 Xcode 2.5 中,它位于 Preferences、Key Bindings、Menu Key Bindings、View menu 下。

                【讨论】:

                • ⌘' 关闭当前拆分(在绑定列表中的“关闭拆分”下)。
                • 在滚动条的顶部还有一个图标可以做到这一点,它看起来像一个拆分窗口(拆分后,另一个未拆分的窗口图标会出现删除拆分)。
                • 我相信该按钮只会水平拆分,以便文件彼此重叠。我更喜欢垂直拆分,这样头文件就在 *.m 文件的右侧。
                • 如本帖其他地方所述,如果您在按住 Option 的同时单击,它将以另一种方式拆分。
                猜你喜欢
                • 2011-07-21
                • 2010-09-17
                • 2010-09-23
                • 2020-06-01
                • 1970-01-01
                • 2012-09-23
                • 2010-09-08
                • 2011-02-03
                • 2010-09-08
                相关资源
                最近更新 更多