关于C#:Xcode的隐藏功能

Hidden Features of Xcode

随着大量的新手涌入Xcode,我确信有很多Xcode技巧和技巧需要分享。

你的是什么?


切换到页眉/源文件

  • Option ? Command ? Up Arrow ↑

  • View > Switch to Header/Source File

交换机之间的.m.h文件。

  • In Xcode 4 this is ctrl Command ? Up Arrow ↑


?command + Double-Click on a symbol:跳到一个定义的符号。

?option + Double-Click on a symbol:查找文本文件中的符号。(如果你有工作,他们只读符号集的安装文件)。

收藏夹:

就像你的收藏夹在Safari浏览器的收藏夹放置孔。我经常使用它作为一个地方存储快捷键(你可以通过拖放到文件)的视频(或现在。通常这是有用的当我是一个大unfamiliar工作或项目。

显示在收藏夹菜单,选择下面的选项:

  • ViewLayoutShow Favorites Bar> >


自动完成键盘快捷键

tab?control? / :选择下一个自动完成的论点。

shift? tab?shift? control? / :选择自动完成以前的论点。

escape?:显示自动完成弹出列表。


关闭"撤销最后一点"警告

保存后尝试撤消时,将出现以下提示:

"You are about to undo past the last
point this file was saved. Do you
want to do this?"

要消除此警告,请在终端窗口中输入以下内容:

1
defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO

在模板文件中更改公司名称

将其粘贴到终端应用程序中:

1
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" ="Microsoft";}'

在所有模板中更改"EDOCX1"〔0〕:

  • 查找目录:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
  • 使用您最喜欢的多文件搜索和替换工具,将com.yourcompany更改为您通常用于为设备构建的任何值。打开整个目录后,我使用了bbedit的multi-find和replace。您应该替换所有info.plist文件中的值。我找到8个要更改的文件。由于我忘记更改此字符串而导致生成失败的次数是荒谬的。
  • 快速跳转到"组和文件"窗格中的组

    • Control ? Option ? Shift ? +

    如果按住上面的三个键,您可以通过按组名称的第一个字母快速跳转到左侧(组和文件)页面中的组。例如,control?选项?shift?t带你去目标和control?选项?shift?s到源。再按一下,它就会跳到SCM。有时需要多次尝试才能奏效(我不知道为什么)。

    在自动完成选项之间循环

    • Control ? .

    • Shift ? Control ? .: Cycles backwards between autocompletion choices.

    控件?.(控制周期)一个字后,自动接受自动完成菜单中的第一个选项。尝试键入log,然后键入control?.,你会得到一个很好的NSLog声明。再按一次,循环浏览所有选项。要查看所有可变选项,请键入NSMu,然后键入control?..

    快速帮助

    • Control ? Command ? ? (While your cursor is in the symbol to look up)

    • Option ? +

    • Help > Quick Help

    要从快速帮助窗口获取文档,请单击右上角的书籍图标。

    有关符号,请参见文档

    • Command ? Option ? +

    直接进入完整的文档。

    进行非相邻文本选择

    • Command ? Control ? +

    使用上面的快捷方式来选择多个单词。你可以在完全不同的地方选择单词,然后一次删除或复制它们。不确定这是否有用。据我所知,这是Xcode。

    使用Emacs键绑定在代码中导航

    这个技巧适用于Mac上的所有Cocoa应用程序(文本编辑、邮件等),可能是最有用的知识之一。

    • Command ? Left Arrow or Command ? Right Arrow Takes you to the beginning and end of a line.
    • Control ^ a and Control ^ e Do the same thing
    • Control ^ n and Control ^ p Move the cursor up or down one line.
    • Control ^ f and Control ^ b Move the cursor back or forward one space

    SHIFT?其中任何一个的都会选择移动点之间的文本。将光标放在一行中间,然后按shift? control^ e,您可以选择到行尾。

    按XYK掺杂?可以让你用键盘浏览单词。乙氧基化? control^ f跳到当前字的结尾。乙氧基化? control^ b跳到当前字的开头。你也可以使用XYK掺杂?用左右箭头键一次移动一个字。

    • control^ left arrowcontrol^ right arrow将光标移动到单词的驼色大小写部分之间。

    NSMutableArray试试。您可以将光标放在NS之后,按shift键,将其快速更改为NSArray 控件^ 右箭头,然后删除


    开放日……

    • Command ? Shift ? D

    • File > Open Quickly...

    我是一个大风扇的开放的特征,这是特别好的在Xcode 3.1和目标。当你想打开一个文件或一个符号的定义,这是在您的项目或在一个框架,打键盘快捷方式,文件类型位或符号的名称,使用up箭头和箭头↑ down↓现金到正确的结果(如果需要return是),然后点击???????打开文件或浏览到的符号的定义。

    在Xcode 4:

    • Command ? Shift ? o

    它使用当前的开放作为一个长期的Word搜索

    所以,我不知道,直到前两分钟(在Xcode中元音指定它在a comment)是,如果编辑的文本符号是在开放日是invoked a Word时,Word将使用作为一项开放的快速搜索。


    组织使用pragma

    你可以使用:

    1
    #pragma mark Foo

    …作为在源文件中组织方法的一种方法。当通过弹出菜单浏览符号时,无论您放在Foo中的是什么,列表中都会显示为粗体。

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

    1
    #pragma mark -

    它非常有用,特别是对委托方法或其他方法组进行分组时。


    1。breakpoint"objc _例外_扔了"

    你应该总是有一breakpoint C objc_exception_throw。 P / < > 2。debugging保留/释放problems与"僵尸"变量的描述

    "使用以下代码: P / < >

    1
    2
    NSZombieEnabled = YES;
    NSDeallocateZombies = NO;

    ………………到debug保留和释放problems。更多信息,见"发现记忆leaks"部分,对苹果的应用debugging文件。 P / < > 3。跳到一类在xcode从接口builder

    command吗? + Double-click在一个对象的接口在清茶文件到窗户跳到那类在xcode。这是一个非常方便的与文件的业主。 P / < > 4。reusing customized物体在界面builder

    拖动的对象customized回到界面清茶图书馆为以后的reuse。 P / < > 5。选择overlapping项目在builder接口

    control吗? shift吗? + Click在一个对象在界面builder看到菜单的所有的物体下鼠标。 P / < > 6。接口builder gesture指南

    接口builder gesture指南。 P / < >


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

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


    放大编辑器

    如果你的窗口显示两个详细的视图和编辑器,你可以编辑在变焦将编辑视图窗口到全高度。(这是很容易找到它,但许多人忽略它。)

    你可以做一个使用下面的方法:

    • Command ? Shift ? E

    • View > Zoom Editor In

    • Drag the splitter (between the editor
      window and the file list above it)
      upwards.


    获取ColinWheeler的完整xcode键盘快捷键列表(可作为pdf或png提供)。打印出来,放在显眼的地方(我把它贴在屏幕旁边的墙上)。

    编辑:Xcode 3.2的更新版本

    编辑2:Xcode 4的更新版本


    不太像键盘快捷键,但源代码中的todo注释显示在编辑器顶部的方法/函数下拉列表中。

    例如:

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

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

    大多数Java IDE在滚动条中显示了这些任务标记的标记,这是更好的,但这也是有效的。


    ?-?-]缩进和取消缩进所选文本。使清理源代码更加容易。


    在拆分窗口时按住选项可垂直拆分,而不是水平拆分。


    双击方括号或圆括号以获得括号和圆括号匹配。


    从命令行控制xcode的文本编辑器:x

    1
    2
    3
    4
    5
    6
    7
    8
    9
    > xed -x                # open a new untitled document
    > xed -xc foo.txt       # create foo.txt and open it
    > xed -l 2000 foo.txt   # open foo.txt and go to line 2000

    # set Xcode to be your EDITOR for command line tools
    # e.g. for subversion commit
    > echo 'export EDITOR="xed -wcx"' >> ~/.profile

    > man xed               # there's a man page, too


    "ctrl+左/右箭头"用于进行字内文本导航。我使用这个特性将光标从变量中的一个"驼峰"跳到下一个。


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

    ctrl t


    Xcode支持可以通过编辑菜单末尾的插入文本宏菜单调用的文本宏。它们也可以使用代码感知(Xcode的代码完成技术)来调用。

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


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

    1
    2
    3
    4
    5
    6
            <key>CFBundleShortVersionString</key>
        #ifdef DEBUG
            <string>1.0 (debug)</string>
        #else
            <string>1.0</string>
        #endif

    湖http:/ / / / tn2175.html developer.apple.com technotes tn2007细节。


    调试-如何使用gdb

    由于对这一点尚不了解,我发现捕获和识别故障令人畏惧的工作。控制台,尽管它是一个强大的工具,通常不会产生非常直观的结果和知道你是什么在调试器中查看也同样困难理解。在他们中的一些人的帮助下栈上溢出和关于调试,可在带着爱的可可会变得更友好一点。


    在打开的文件之间来回导航:?和拉尔;?和RARR;


    一个technically接口builder提示,但他们的书matched对,所以我不想我这关topic……………… P / < >

    移+右点击一个在你的控制,你得到的好选择列表的对象层次结构。没有更多的点击,点击,点击,frustratlon! P / < >


    使用轨迹板:

    • 向上滑动三个手指-在头文件和源文件之间切换,这比cmd+opt+upbkbd更容易;
    • 向下滑动三个手指-在选择类或方法时在声明和定义之间切换,目前发现这两种类型;
    • 向左滑动三个手指-返回(cmd+opt+left);
    • 向右滑动三个手指-向前移动(cmd+opt+right);

    用xcode 3.2.5测试。


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


    使用][自动插入正确位置

    我来自.NET背景,所以我习惯于键入一个符号,然后键入它的一个方法名。所以在我开始输入对象名之前,我总是忘记包含[。通常这意味着我需要到行首手动添加[。我没有意识到我可以在当前光标位置按],它将自动添加。

    有一些方法可以使用它:要么在键入函数名之后,要么就在键入函数名之前。

    方法1:在函数名之后

    myObject testMethod

    …变成:

    1
    [myObject testMethod]

    …插入符号位于]之后。

    方法2:在函数名之前

    myObject

    …变成:

    1
    [myObject ]

    …插入符号位于]之前。

    后一种方法(2)的优点是代码完成将根据对象的方法进行过滤。而对于前者(1),如果您试图在myObject之后立即调用代码完成,则不会对其进行筛选。(2)的另一个优点是它的行为更像其他使用点表示法的编程语言。输入对象的名称,然后简单地键入]而不是.来访问方法。


    选择文本块,然后键入cmd-/将其注释掉。再次执行此操作以删除注释字符。

    当通过双击平衡字符(parens、大括号、括号)与大括号匹配结合时,这尤其有用。


    能够快速看到可以从一个超级类中重写的所有方法。例如,在扩展UITableViewController时,我只需键入实现:

    1
    - ta

    然后我按Esc查看我的超类中以"ta"开头的所有方法,例如

    1
    - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    这在采用协议时也有效。


    ctrl+alt++r清除日志


    CH命令? alt? shift t:显示项目树中当前编辑的文件。


    当对许多键盘使用代码检测时,使用control+显示可用完成的列表,使用control+.插入最可能完成的部分,使用control+/&shift+control+/在占位符标记之间移动。键盘上的所有键都在主行的正下方,这有利于肌肉记忆。


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

    苹果的API参考文档不显示从超类继承的方法。但有时。能够看到一个类的全部可用功能是很有用的——包括您自己的自定义类。可以使用类浏览器(从"项目"菜单)显示与当前项目相关的所有类的平面或层次列表。浏览器窗口右侧的上窗格显示与浏览器中所选对象关联的方法列表。可以使用"配置选项"表选择"显示继承成员"以显示继承的方法以及由所选类本身定义的方法。单击小册子符号以转到相应的文档。


    可能不必说,但如果要使用字内导航,请确保在"为空间"(在"公开空间"首选项窗格中)中更改键预设(如果使用)。

    我将空格切换为使用ctrl选项"左/右"。

    编辑:要将空格设置为ctrl选项左/右,请选择"在空格之间切换:"弹出窗口并按住选项键。第一项将从"ctrl arrow keys"更改为"ctrl option arrow keys"。


    打印完整的xcode键盘快捷键列表并将其放在监视器旁边。


    自动插入到CMD /"/"的评论。从技术上keystrokes数相同,但感觉更快……

    所以默认项目结构是把资源和单独的类文件的地方。更大数量的代码和相关的代码创建的逻辑组和XIB文件放在一起。Xcode中创建一组逻辑结构并不只是在你的文件是在磁盘的变化(虽然你可以设置他们最真实的replicate目录结构(如果你想)


    pragma马克 P / < >

    例子: P / < >

    1
    #pragma mark === Initialization ===

    这writing线以上的所有initialization方法将generate的好标题在dropdown菜单上方的编辑。 P / < >

    开放的很快 P / < >

    移+ CMD + D typing启动文件的名字,你会喜欢开放。很酷,如果你看一看,对headers框架。他们有太好的评论,有时额外信息的文档。 P / < >

    ESC P / < >

    当你告诉我cursor也在uncomplete方法的名字,例如,按ESC。它将起来,一切都会上网店,在那里,你可以很快完全……非常大的方法的名称。它的也很好,如果你不记得到底的名义的方法。就按ESC。 P / < >

    我认为这些都是最好的,我知道ones直到现在。 P / < >

    (migrated从deleted堆栈溢出的问题,用户谢谢。) P / < >


    使用^takbd交换前两个字母

    这在所有Cocoa应用程序中都有效,但我特别喜欢它,尤其是在编码时。使用^tabbkbd(control-t)交换插入符号旁边的两个字母,或者当插入符号位于末尾时,交换插入符号前面的两个字母。例如:

    fi^表KBD

    …变成:

    if

    …这是我常见的打字错误。


    重新编译免费调试日志

    cdespinosa对堆栈溢出问题的回答:如何使用nslog(@"在iPhone模拟器内部")进行调试?给出了一种通过不需要重新编译源的日志技术进行调试的方法。这是一个让代码不受调试错误影响的神奇技巧,它有一个快速的转变,如果我早点知道的话,它可以为我节省无数的头痛。

    待续评论

    在注释前面加上EDOCX1[2]将使其显示在函数"快捷方式"下拉菜单中,a la:

    1
    int* p(0); // TODO: initialize me!

    ?"正确地格式化(重新编码)您的代码

    编辑:显然重新缩进功能(编辑>格式> ReunTunt)没有默认快捷方式。我想我在很久以前就指定了一个(在首选项>键绑定),甚至都不记得了。对不起,误导了你。


    对我来说,它一直是:命令?+0:

    调试或运行之后,如果您退出iPhone模拟器或调试应用程序,您将看到Debugger窗口。

    当您使用"单窗口布局"时,返回编辑器必须通过在工具栏中单击来完成,这很烦人(另外,您稍后需要"删除细节窗格")。

    上面的快捷方式可以做到这一点,并让您准备好编码。


    在pyobjc中,您可以对符号下拉列表执行与#pragma mark等效的操作:

    #MARK: Foo

    #MARK: -


    构建成功/失败噪声;从术语:

    1
    2
    defaults write com.apple.Xcode PBXBuildSuccessSound ~/Library/Sounds/metal\ stamp.wav
    defaults write com.apple.Xcode PBXBuildFailureSound ~/Library/Sounds/Elephant


    右键单击任何单词,然后选择"在API引用中查找所选文本"以搜索该单词的API。如果需要查找类的可用属性和/或方法,这将非常有用。你将得到一个弹出窗口,显示你正在寻找的东西(或找到的东西),而不是前往apple.com或google。


    突出显示代码块(焦点跟随选择)

    从View(视图)->Code Folding(代码折叠)->Focus Follow Selection(焦点跟随选择)或ControlOptionF(XKBDF)激活"Focus Follow Selection(焦点跟随选择)"。

    这也适用于Python代码,但行中的前导空格会使其丢失。要修复它,请安装Google的xcode插件,并在它安装的首选项中激活"保存时更正空白"。这将在每次保存文件时清除尾随空格,因此,如果突出显示的get出错,您只需保存该文件,它将再次工作。(请看,这实际上是一个提示中的两个,因为插件中的这个特性本身就很有用)。

    下面是我刚刚编写的一些随机python代码的示例。我使用的是午夜Xcode语法着色主题。

    Some random Python code.

    这对于高度嵌套的代码部分非常有用,可以跟踪代码的位置。另外,请注意,在行号的左边、右边,这些部分也是彩色的。那是密码折叠条。如果将鼠标向下移动,它将突出显示鼠标下的部分。而且这些彩色条中的任何一条都可以折叠,换句话说,突出显示的代码部分就是那些可以折叠的部分。


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

    在Xcode3.0中,它位于该列表底部的首选项、键绑定和文本键绑定下。

    在Xcode2.5中,它位于"首选项"、"键绑定"、"菜单键绑定"、"视图菜单"下。


  • 选择文本时按住选项可选择非连续的文本部分。
  • 按住选项,同时单击"符号名称"下拉列表,按名称排序,而不是按它们在文件中的显示顺序排序。

  • xkbd?a.它将构建和分析,这意味着Xcode将警告您可能的泄漏。


    再一个。。。。十六进制颜色选取器…它将十六进制选项卡添加到界面生成器的颜色面板…所以现在你可以使用直接从接口生成器获取十六进制颜色。

    alt text


    我刚刚发现了如何更改文本宏中使用的缩进行为:

    例如,如果你像我一样不喜欢这样:

    1
    2
    3
    if (cond) {
      code;
    }

    但更喜欢这样:

    1
    2
    3
    4
    if (cond)
    {
      code;
    }

    然后,您可以通过在终端中设置以下默认值来全局更改(对于所有语言):

    1
    2
    defaults write com.apple.Xcode XCCodeSenseFormattingOptions -dict-add BlockSeparator"
    "

    这已经困扰了我很多年了,我希望这对其他人也有一些兴趣。

    此功能的文档可以在xcode用户默认参考中找到。


    enter image description here

  • 在调试器启动时打开调试窗口更改图像中显示的调试首选项。

  • 要在每次运行应用程序时清除控制台日志,请检查自动清除调试控制台。


  • cmd+ctrl+upbkbd/down会折叠或取消折叠所有功能。


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

    ZZU1〔0〕

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


    当你完成使用的编码方法,它在一个多参数,使用Ctrl + /移动到下一个论点,你需要填写。


    要在弹出菜单中默认显示当前自动完成选项(不必先按esc),请键入

    1
    defaults write com.apple.Xcode XCCodeSenseAutoSuggestionStyle List

    在终端中重新启动xcode。


    如果你有一个多点触摸能力的Mac,使用MultuLoCuto来映射鼠标手势所描述的一些按键。

    我用三个手指向前和向后在文件历史中前进和返回(CMD ALT),并在EDOCX1×10和EDOCX1 11之间切换。


    使用AppKido浏览文档。

    在Xcode中,使用accessoizer来处理一系列普通的、重复的任务。


    看看的好screencast关于"becoming productive在xcode":becoming - productive在xcode P / < >


    Xcode代码格式…当您想要编写代码时,它是您需要的东西之一可读性和外观良好。

    您可以自己设置代码格式,也可以使用脚本节省一些时间。

    一个好办法是……使用不生锈的。它在Xcode的代码格式中进行了解释。


    在项目模板中设置公司名称的另一种方法是:

    • 在通讯簿中为自己添加联系人
    • 将联系人中的"公司"字段编辑为公司名称
    • 现在,选择您的联系人,然后进入菜单,选择"卡"->"将此卡设为我的卡"
    • 您的联系人卡片现在应该在通讯簿中加粗以确认这一点。

    现在应该将您的公司名称添加到所有项目模板中,并为其他应用程序提供更多的自动填充信息!


    至于"快速打开"功能——这很好,但我总是错过了textmate的cmd-shift-t浏览项目和文件(符号、方法等)。

    这就是为什么我发布了一个Xcode插件,它只提供了这个功能。它叫做code pilot,你可能想看看它:http://macoscope.net/en/mac/codepilot/


    在shell构建阶段,可以使用以下格式写入stderr:

    :: error | warn | note :

    这与GCC用来显示错误的格式相同。文件名:linenumber部分可以省略。根据模式(错误、警告、注意),Xcode将显示带有红色或黄色标记的消息。

    如果包含绝对文件路径和行号(如果错误发生在文件中),则双击生成日志中的错误可以让xcode打开文件并跳到该行,即使该行不是项目的一部分。非常方便。


    Control+R将所选文本作为shell脚本执行,该脚本将返回所选内容后的粘贴输出!


    键入方法时,按Esc键查看代码完成选项(毫无疑问,这在前面已经提到过)。我已经知道这一点,但今天我发现,如果你按下代码完成窗口右下角的按钮(它将是一个"a"或pi),你可以在按字母排序和按类层次排序之间切换。

    突然间,这个窗口很有用!


    选择文本块并使用

    1
    Command + '/'

    注释掉文本块。选择注释块并使用相同的快捷方式取消注释。


    ctrl-left/ctrl-right可在变量或方法名称中导航单词。没有这个就活不下去。


    一个新的框架的链接

    (在群和文件窗格中打开目标到目标美联社披露的三角显示您的项目)。

  • 在窗格中的文件组和双点击你的项目目标到目标流的信息显示面板。
  • 在信息面板,选择"通用表。在下窗格中显示了目前联框架。
  • 添加一个新的框架,通过热压+左按钮在底部的面板和从列表中选择另一片的出现。(重要的节目列表,在表的有关目标的框架。……)
  • (本不可用两年前,但它的价值指向是写出关键的时间框架中发现者过拖到文件系统和IT项目……)


    键绑定到Xcode操作

    我也很喜欢"重新缩进"。如果为true,则没有默认快捷方式,但可以从"键绑定"首选项窗格的"文本键绑定"选项卡中添加快捷方式。

    这是一个省时的方法。只需查找您最喜欢的操作并添加/编辑键盘快捷键!

    我确实发现有一组默认设置很方便,那就是添加/删除垂直拆分的cmd+"和cmd+"。按住这些选项,现在水平方向也一样。但是如果这些手势不适合你,你可以随时改变它们。


    cmd+~(tilde-按钮上看起来很奇怪…)

    在任何打开的Xcode窗口之间切换—也可以在打开多个项目时切换。


    对于Xcode处理代码格式的方式,您可以进行许多调整,但前提是您通过命令行更改了设置。我编了一个小程序,让你根据自己的喜好来调整它们。享受:

    Xcode格式选项


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

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

    使用cmd-0跳转到项目选项卡,使用cmd-shift-b跳转到构建选项卡,使用cmd-shift-y跳转到调试选项卡(与操作的键命令相同,添加了shift)。


    我已经为NSObjectUIViewUIViewController创建了自己的文件模板,所以当我创建新的类时,这些文件都是用私有部分设置的,并在init和dealloc中记录类的地址。

    示例(名为"test"的NSObject派生类将按如下方式开始):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    //=====================================================
    // Private Interface
    //=====================================================

    @interface test (private)
    @end

    //=====================================================
    // Public Implementation
    //=====================================================

    @implementation test

    - (void)dealloc {
        NSLog(@">>> Dealloc: test [0x%X]", self);
        [super dealloc];
        NSLog(@"<<< Dealloc: test");
    }

    - (id) init
    {
        self = [super init];
        if(self) {
            NSLog(@">>> Alloc: test [0x%X]", self);
        }
        return self;
    }

    @end

    //=====================================================
    // Private Implementation
    //=====================================================

    @implementation test (private)
    @end

    有很多资源可用于此,例如cocoa dev:design您自己的xcode项目模板。


    通过选择组对Xcode的"组和文件"窗格中组的内容进行排序,然后选择"编辑>排序依据>名称"。

    您可以在组的上下文菜单中找到它,但它不在那里。

    学分:Xcode中的文件排序。


    在Xcode工具提示中可以找到一些提示。


    我的最爱必须是这些通用编辑器快捷方式:

    • +0从调试模式返回编辑器。
    • +shift+r将您从调试模式转到编辑器视图(项目模式)
    • +shift+e"最大化"编辑器(在编辑器上方显示生成结果等,并且只想使源编辑器更高时,这非常有用)
    • ctrl+2显示当前代码的大纲
    • +return运行应用程序
    • +shift+return结束应用程序

    紧迫的????d激活"快速打开",使用所选文本从"快速打开"导航到第一个结果。如果所选文本的格式为(带或不带<>)"快速打开此文件"将带您进入文件加行号。

    您可以将此与以下提示结合使用:

    可以使用此宏编写包含日志项的文件名和行号的日志:(请确保在目标调试配置中使用的C标志上定义-ddebug=1)

    1
    2
    3
    4
    5
    #ifdef DEBUG
    #define DLog(fmt, ...) NSLog((@"%s <%@:%d>" fmt), __PRETTY_FUNCTION__, [[NSString stringWithFormat:@"%s", __FILE__ ] lastPathComponent] ,__LINE__, ##__VA_ARGS__)
    #else
    #define DLog(format, ...)
    #endif

    在dlog()输出中,双击"<"字符选择,然后按????d将打开日志在源代码中的行。


    • 要"设置下一条语句",只需将红色指令指针拖到下一行执行即可。(源)

    选择"左&右"转到行尾/行尾。这与ctrl left&right一起移动到下一个大写字母或分词。这两个节省了我这么多时间


    我不太喜欢Xcode内置的代码格式化/增强功能,所以我发现使用uncruistify作为代码格式化工具非常有用。它可以用作用户脚本:http://hacktoys.com/2008/09/18/adding-a-code-beautifer-script-to-xcode/


    如果你的私欲搞得一团糟,如果你的私欲不是被蒙蔽的,或者其他什么,就这样做吧?A?-X?-选择"全部"、"剪切"和"粘贴",并更正所有的高度。那就等一下?然后按A,然后按X,再按V。


    使用xcodebuild命令行在共享生成计算机上执行干净生成:

    1
    2
    3
    cd project_directory
    xcodebuild -configuration Release -alltargets clean
    xcodebuild -configuration Release -alltargets

    我不知道是否每个人都知道这一点,但当我知道我可以使用"代码折叠"并隐藏我不想看到的嵌套函数时,我很高兴通过单击离您要折叠的代码最近的灰色区域。

    很难解释。…


    我可以使用emacs作为编辑器,使用xcode作为构建器/调试器…在我看来,这两个世界都是最好的。


    重命名由多个项目共享的文件:

  • 打开所有项目。
  • 在一个项目中重命名文件。
  • Xcode自动调整所有打开的项目以反映文件的新名称。

  • 快照,文件>生成快照,提供了一种快速的方法来保存项目的修订,如果您没有使用正确的版本控制系统。用一个巨大的,潜在的破坏性变化进行试验的好方法。


    我发现使用快捷方式进行构建/清理和运行项目确实节省了我一些时间:

    • cmd-r:生成和运行
    • cmd-y:生成和调试
    • 命令shift enter:停止运行项目
    • CMD-SHIFT-K:干净构建


    显示打开符号的选择器

    ?+?+?+单击符号

    显示

    enter image description here

    您可以选择打开符号:

    • 当前选项卡
    • 在现有选项卡中
    • 在新的一个中(在右上角有+号)
    • 在垂直拆分中(+在右侧)或
    • 在新窗口中(+在左侧)。

    整个快捷方式列表可以在以下位置找到:http://iphonehuston.blogspot.com/2009/08/shortcuts-for-xcode.html


    代码完成


  • cmd+option+o在单独的窗口中打开文件。
  • 可以将选项卡配置为始终缩进。我经常用它来缩进整个文件。
  • ctrl+箭头键在驼色大小写单词之间移动。如果你有一个二,你可以用ctrl+右箭头从一个移动到两个。
  • 你可以使用emacs绑定,甚至还有杀人戒指!当我需要复制两个不同的文本时,我会同时使用ctrl+w和cmd+c。
  • 在文档浏览器中,您可以将搜索限制在特定的库中,例如,仅iOS 4.2库。这有助于我关注仅在特定的iOS/Mac版本的SDK上可用的API。
  • Cmd+shift+a用于构建和分析。

  • 我从WindowsWorld(和其他许多软件一样)直接进入Xcode,我遇到的第一个怪癖就是用tab键"缩进选定的文本块"。

    通常,当使用Windows编辑器时,您选择一个文本块,当您按Tab(或Shift-Tab)键时,所选文本将向右/向左跳跃。然后,一旦决定了文本的新位置,就停止按Tab键。

    好吧,在Xcode中,这是完全不同的,因为当你按下tab键时,整个文本块就消失了,留下一张愚蠢的脸,里面有些愤怒……

    但是,有一天,我偶然发现了一种解决方法,可以在适当的Windows编辑器下达到同样的效果。步骤如下:

  • 像在Windows下那样选择文本块。
  • 不要按tab键,而是让你的直觉消失,然后"复制文本块"(通常是ctrl+c(yuck))。
  • 然后,在不取消选择文本的情况下(如果需要,请按SHIFT),扩展所选内容的开头,并将其放置在希望新文本显示的位置。
  • 粘贴前面提到的文本(通常是ctrl+v(又是yuck))。
  • 结果:前一个文本块被"新的"文本块(当然,它本身)替换,但是xcode(或者其他关心的人)的"自动缩进"功能将自动将文本放置到我们在步骤3中选择的新位置。
  • 你脸上露出笑容。
  • 这有点棘手,但当你习惯了它,你会发现自己经常使用它。

    享受!!