Xcode的隐藏特性

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

你的呢?

240632 次浏览

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

⌥选项 + Double-Click on a symbol:在符号的文档中查找文本。(只有当你安装了他们符号的Doc Set时才有效。)

收藏夹栏:

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

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

  • __abc0 > __abc1 > __abc2

迅速打开……

  • 命令⌘ 转变⇧ D

  • < p > 文件祝辞迅速打开……

我是开很快特性的忠实粉丝,它在Xcode 3.1及以后的版本中特别好。当你想在你的项目或框架中打开一个文件或符号定义时,只需点击键盘快捷键,键入文件或符号名称的位,使用上箭头↑下箭头↓选择正确的结果(如果需要),然后点击返回↩打开文件或导航到符号定义。

在Xcode 4上:

  • __abc0 __abc1 __abc2

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

此外,直到两分钟前(当中元音在评论中指出它时)我才知道Xcode的一些事情是,如果编辑器的文本插入符号在开很快被调用时位于一个单词内,该单词将被用作开很快搜索词。

链接一个新的框架

(在Groups and Files窗格中,打开Targets披露三角形以显示与项目相关的目标。)

  1. 在Groups and Files窗格中,双击当前项目目标以显示target Info面板。
  2. 在Info面板中,选择General选项卡。下方窗格显示当前链接的框架。
  3. 通过按面板左下角的+按钮,并从出现的工作表中显示的列表中选择,添加一个新框架。(重要的是,表格中的列表只显示了与目标相关的框架…)

(这在两年前是不可用的,但是值得指出的是,比起在文件系统中找到框架并将其拖放到项目中,它可以节省大量的时间……)

切换到头文件/源文件

  • 选择⌥ 命令⌘ 上箭头↑

  • < p > 视图祝辞切换到头文件/源文件

.m.h文件之间切换。

  • 在Xcode 4中,这是ctrl 命令⌘ 上箭头↑

自动完成键盘快捷键

选项卡⇥ OR 控制⌃ /:选择下一个自动补全参数。

转变⇧ 选项卡⇥ OR 转变⇧ 控制⌃ /:选择前面的自动补全参数。

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

放大编辑器

如果你的窗口同时显示细节视图和编辑器视图,你可以放大编辑器将编辑器视图展开到窗口的全部高度。(这一点很容易发现,但很多人似乎忽略了它。)

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

  • 命令⌘ 转变⇧ E

  • < p > 视图祝辞放大编辑器

  • 拖动分割器(在编辑器之间) 窗口和上面的文件列表) 向上。< / p >

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

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

<key>CFBundleShortVersionString</key>
#ifdef DEBUG
<string>1.0 (debug)</string>
#else
<string>1.0</string>
#endif

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

Cmd-/自动插入“//”进行注释。从技术上讲,敲击键盘的次数相同,但感觉更快……

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

Xcode支持文本宏,可以通过编辑菜单末尾的插入文本宏菜单调用。它们也可以使用Code Sense (Xcode的代码补全技术)来调用。

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

当在多个键盘上使用Code Sense时,使用控制 + 显示可用的补全列表,控制 + 插入最有可能的补全,控制 + / &转变 + 控制 + /在占位符令牌之间移动。所有的键都在键盘的主行下面,这对肌肉记忆有好处。

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

在打开的文件中来回导航 ⌥⌘← < br > ⌥⌘→ < / p >

可能不需要多说,但如果你想使用字内导航,确保你改变了空格的预设键(在Expose &空格首选项窗格),如果您使用它。

我切换空格使用Ctrl-Option左/右。

编辑:要将空格设置为Ctrl-Option左/右,选择“在空格之间切换:”弹出并按住Option键。第一项将从Ctrl方向键更改为Ctrl- option方向键。

获取Colin Wheeler的完整Xcode键盘快捷键列表(可用为PDF或PNG)。把它打印出来,放在显眼的地方(我把它贴在屏幕旁边的墙上)。

< p >编辑: Xcode 3.2的更新版本 < / p > < p >编辑2: Xcode 4的更新版本 < / p >

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

右键单击任何单词并选择“在API参考中查找所选文本”以搜索该单词的API。如果您需要查找类的可用属性和/或方法,这是非常有用的。而不是前往Apple.com或谷歌,你会得到一个弹出窗口,你正在寻找什么(或什么是找到的)。

右键单击函数中的变量,然后单击edit all in scope。自从我发现了这个,我就一直在用它。

__abc0 __abc1 __abc2

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

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

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

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

例如:

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

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

大多数Java ide在滚动条中为这些任务标记显示一个标记,这样更好,但这也可以工作。

使用#pragma进行组织

你可以使用:

#pragma mark Foo

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

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

#pragma mark -

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

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

苹果的API参考文档没有显示从超类继承的方法。有时,虽然。能够看到类可用的全部功能是很有用的——包括您自己的自定义类。您可以使用Class Browser(从Project菜单中)来显示与当前项目相关的所有类的平面或分层列表。浏览器窗口右手边的上窗格显示了与浏览器中所选对象关联的方法列表。您可以使用Configure Options表选择“Show Inherited Members”来显示继承的方法以及由所选类本身定义的方法。您可以单击小的图书符号转到相应的文档。

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

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

这是非常有用的,因为有了这个快捷键,你可以完全使用键盘浏览文件。当你到达列表时,开始输入字符,列表就会选择你要找的符号。

ctrl + alt + + r清除日志

  1. 在选择文本时按住选项可选择文本的不连续部分。
  2. 按住选项,同时单击符号名称下拉菜单,按名称排序,而不是按它们在文件中出现的顺序。

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

< p > <代码> < >之前 # !/bin/sh Echo -n "//================....================ #pragma mark” < / pre > < /代码> < / p >

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

调试-如何使用GDB

作为新手,我发现捕捉和识别错误相当困难 艰巨的工作。控制台,尽管它是一个强大的工具,通常 不会产生非常直观的结果,不知道你是什么 在调试器中查看也同样困难 理解。在他们的帮助下 Stack Overflow和关于的好文章 可以在 爱的可可它变得更友好一点

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

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

在Xcode 3.0中,它位于首选项、键绑定、文本键绑定列表底部。

在Xcode 2.5中,它位于首选项、键绑定、菜单键绑定、视图菜单下。

双击方括号或圆括号,可获得括号与圆括号匹配。

PyObjC中,你可以对符号下拉列表执行与#pragma mark相同的操作:

#MARK: Foo

而且

#MARK: -

打印完整的Xcode键盘快捷方式列表并把它放在显示器旁边。

在拆分窗口时按住“选项”以垂直而不是水平拆分窗口。

选择一个文本块并输入cmd-/将其注释掉。再次执行此操作以删除注释字符。

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

编译指示标志

例子:

#pragma mark === Initialization ===

将这一行写在所有初始化方法之上,将在编辑器上方的下拉菜单中生成一个漂亮的标题。

开很快

Shift + cmd + D 开始输入你想打开的文件名。如果你在寻找框架头文件,这很酷。它们也有很好的注释,有时是文档的附加信息

ESC

例如,当文本光标指向一个不完整的方法名时,按ESC键。它将搜索所有可能适合的内容,并且您可以快速完成非常大的方法名。如果您不能准确地记住一个方法的名称,这也很好。只需按ESC键。

我认为这些是我迄今为止知道的最好的。

(由Stack Overflow用户< a href = " https://stackoverflow.com/users/62553 " > < / >表示感谢从已删除的问题迁移。)

查看一个关于“在Xcode中变得高效”的精彩截屏:becoming-productive-in-xcode

从技术上讲,这是一个界面构建技巧,但它们是书籍匹配的一对,所以我不认为这是离题了……

Shift +右键单击其中一个控件,你会得到一个很好的对象层次结构选择列表。没有更多的点击,点击,点击,沮丧!

1. "objc_exception_throw"的断点

你应该总是有一个objc_exception_throw上的断点

2. 调试“僵尸”变量的保留/释放问题

使用以下代码:

NSZombieEnabled = YES;
NSDeallocateZombies = NO;

... 调试保留和释放问题。有关更多信息,请参阅苹果的调试应用程序文档的“查找内存泄漏”部分。

3.从Interface Builder跳转到Xcode中的类

命令⌘ + Double-click在接口生成器的文档窗口的对象上跳转到Xcode中的该类。这对于文件的所有者来说非常方便。

4. 在接口生成器中重用自定义对象

将自定义对象拖回接口生成器的库以供以后重用。

5. 在“接口生成器”中选择重叠项

在Interface Builder中的对象上调用控制⌃ 转变⇧ + Click来查看鼠标下所有对象的菜单。

6. 界面构建器手势指南

界面构建器手势指南

关闭“撤销超过最后一点”警告

当你在保存后尝试撤销时,你会得到以下提示:

"You are about to undo past the last . 点此文件已保存。你 想这么做吗?" < / p >

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

defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO

修改模板文件中的公司名称

粘贴到终端应用程序:

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

更改所有模板中的"com.yourcompanyname":

  1. 找到目录:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
  2. 使用您最喜欢的多文件搜索和替换工具将com.yourcompany更改为您通常用于为设备构建的任何值。我在打开整个目录后使用了BBEdit的多查找和替换功能。你应该替换所有info.plist文件中的值。我找到了8个文件要修改。 因为我忘记更改这个字符串而导致构建失败的次数是荒谬的

快速跳转到“组和文件”窗格中的“组”

  • 控制⌃ 选择⌥ 转变⇧ + <集团名称首字母>

如果您按住上面的三个键,您可以通过按下组名的第一个字母快速跳转到左侧的组(组和文件)页面。例如,控制⌃选择⌥转变⇧T将你带到目标控制⌃选择⌥转变⇧年代。再按一次,它就跳转到SCM。有时需要多次尝试才能奏效(我不知道为什么)。


在自动补全选项之间循环

  • 控制⌃ . .

  • Shift Control⌃ :在自动补全选项之间向后循环。

控制⌃ (Control-Period)在单词后自动接受自动补全菜单中的第一个选项。试着输入log,然后输入控制⌃,你会得到一个漂亮的NSLog语句。再按一次以循环选择。要查看所有可变选项,输入NSMu,然后输入控制⌃


快速的帮助

  • Control⌃ Command⌘ ?(当你的光标在符号上查找时)

  • 选项 + <双击符号>

  • Help >快速帮助

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


有关符号,请参阅文档

  • 双击一个符号>

你可以直接看到完整的文档。


选择非相邻的文本

  • 在编辑器中双击>

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


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

这个技巧适用于Mac上的所有Cocoa应用程序(TextEdit, Mail等),可能是最有用的东西之一。

  • 命令⌘ 左箭头键 or 命令⌘ 右箭头将你带到一行的开始和结束。
  • 控制^ 一个控制^ e做同样的事情
  • 控制^ n控制^ p将光标向上或向下移动一行。
  • 控制^ f控制^ b将光标向前或向后移动一个空格

转变⇧选择移动点之间的文本。把光标放在一行中间,按转变⇧ 控制^ e,你可以选择到行尾。

选择⌥将让你用键盘导航单词。选择⌥ 控制^ f跳到当前单词的末尾。选择⌥ 控制^ b跳到当前单词的开头。你也可以使用选择⌥和左右方向键来一次移动一个单词。

  • 控制^ 左箭头键控制^ 右箭头在单词的驼峰大小写部分之间移动光标。

NSMutableArray试试。你可以通过将光标放在NS之后,按转变⇧ 控制^ 右箭头然后按删除来快速将其更改为NSArray

通过命令行控制Xcode的文本编辑器:xed

> 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

如果你有一个多点触控的Mac -使用MultiClutch来映射一些由鼠标手势描述的击键。

我用三个手指向前和向后在文件历史中前进和后退(cmd-alt-.),并捏在.h.m之间切换。

⌘'来正确格式化(重新缩进)您的代码

编辑:显然重缩进功能(编辑>格式>重缩进)没有默认的快捷方式。我想我很久以前就分配了一个(在Preferences > Key bindings中),甚至不记得了。抱歉误导你了。

使用AppKiDo浏览文档。

在Xcode中使用装饰来完成一堆单调、重复的任务。

使用^ T来交换前两个字母

这适用于所有Cocoa应用程序,但我尤其喜欢在编码时使用它。使用^ T (Control-T)来交换插入符旁边的两个字母,或者当插入符在末尾时,交换插入符前面的两个字母。例如:

fi^ T

... 就变成:

if

... 这是我经常犯的错别字。

如果高亮显示搞砸了,如果你的变量没有高亮显示或其他任何东西,只需执行⌘-A⌘-X⌘-V,这将全部选中,剪切和粘贴,所有高亮显示将被纠正。所以只要按住⌘,然后按A X V。

我发现使用快捷方式来构建/清理和运行你的项目真的节省了我一些时间:

  • Cmd-R: Build &运行
  • Cmd-Y: Build &调试
  • Cmd-Shift-Enter:停止运行项目
  • Cmd-Shift-K:清洁构建

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

按左/按右键导航变量或方法名中的单词。没有这个我活不下去。

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

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

事实上,我可以使用Emacs作为我的编辑器,Xcode作为我的构建器/调试器……在我看来,这是两全其美。

Xcode动作的键绑定

我也喜欢“重新缩进”。,则没有默认的快捷方式,但您可以从键绑定首选项窗格文本键绑定选项卡中添加一个。

这本身就能节省时间。只需查找您最喜欢的操作和添加/编辑键盘快捷键!

我发现一个很方便的默认设置是CMD+"和CMD+'来添加/删除垂直分割。按住这些选项,现在你有相同的水平。但如果这些手势不适合你,你可以随时改变它们。

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

很难解释……

  • 要“设置下一个语句”,只需将红色指令指针拖到下一行执行。(源)

一个。它会构建和分析,这意味着Xcode会警告你可能的泄漏。

Alt-Left,右转到这一行的末尾/开头。加上CTRL-Left &右移到下一个大写字母或换行字。这两个帮我省了不少时间

我不太喜欢xcode中内置的代码格式化/reindent功能,所以我发现使用uncrustify作为代码格式化器非常有用。它可以用作用户脚本:http://hackertoys.com/2008/09/18/adding-a-code-beautifier-script-to-xcode/

使用自动将[插入正确的位置

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

有几种方法可以使用它:要么在输入函数名之后,要么在输入函数名之前。

方法一:在函数名后面

myObject testMethod

... 就变成:

[myObject testMethod]

... 插入符号位于]之后。

方法二:在函数名前面

myObject

... 就变成:

[myObject ]

... 插入符号位于右之前]

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

使用xcodebuild命令行在共享构建机器上进行干净的构建:

cd project_directory
xcodebuild -configuration Release -alltargets clean
xcodebuild -configuration Release -alltargets

在Xcode的Groups and Files窗格中选择Group,然后Edit > Sort by > Name。

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

来源: Xcode中的文件排序

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

突然之间,这个窗口就有用了!

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

  • 在地址本中为自己添加一个联系人
  • 将联系人中的公司字段编辑为您的公司名称
  • 现在选择您的联系人,然后转到菜单,选择卡片->使这是我的卡片
  • 您的联系人卡片现在应该在地址簿粗体确认这一点。

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

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

示例(命名为'test'的NSObject派生类将像这样开始):

//=====================================================
// 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:设计你自己的Xcode项目模板

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

Xcode Formatting Options .

至于“开很快”功能——它很棒,但我总是错过用于浏览项目和文件(符号,方法等)的TextMate软件的cmd-shift-t

这就是为什么我发布了一个Xcode插件来提供这个功能。它被称为代码的飞行员,你可能想看看它:http://macoscope.net/en/mac/codepilot/

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

<filename>:<linenumber>: error | warn | note : <message>\n

它与gcc用来显示错误的格式相同。filename:linenumber部分可以省略。根据模式(错误,警告,注意),Xcode将显示你的消息与红色或黄色徽章。

如果你包含一个绝对文件路径和行号(如果错误发生在一个文件中),双击构建日志中的错误让Xcode打开文件并跳转到行,即使它不是项目的一部分。非常方便。

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

Cmd + Ctrl + 向上 / 下来折叠或解压缩你的所有函数。

若要默认在弹出式菜单中显示当前的自动补全选项(无需先按ESC),请键入

defaults write com.apple.Xcode XCCodeSenseAutoSuggestionStyle List

然后重新启动Xcode。

选择一个文本块并使用

Command + '/'

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

能够快速查看可以从超类中重写的所有方法。例如,当扩展UITableViewController时,我只需要输入我的实现:

- ta

然后我按ESC键,看到我的超类中所有以“ta”开头的方法,比如

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

这也适用于采用协议。

Xcode代码格式化…当你想要编写代码时,它是你需要的东西之一吗

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

一个好方法是…使用Uncrustify。它在 Xcode中的代码格式中解释。

命令⌘ alt⌥ 转变 T:在项目树中显示当前编辑的文件。

对我来说,它总是:命令⌘ + 0:

在你调试或运行之后,如果你退出iPhone模拟器或调试应用,你会留下调试器窗口。

当你使用“单窗口布局”时,回到编辑器必须点击工具栏,这很烦人(加上你以后需要“删除细节窗格”)。

上面的快捷方式可以做到这一点,并为你留下准备编写代码

我最喜欢的是这些常用的编辑器快捷方式:

  • + 0将你从调试模式返回到编辑器。
  • + Shift + R带你从调试模式到编辑器视图(项目模式)
  • + Shift + E“最大化”编辑器(这是非常有用的,当你有构建结果等显示在你的编辑器上面,你只是想让你的源代码编辑器更高)
  • Ctrl + 2显示当前代码的大纲
  • + 返回运行应用程序
  • < kbd >⌘< / kbd > + < kbd >转变< / kbd > + < kbd >返回< / kbd >结束应用程序

按下“⌘D”激活“Open this quick”,它会使用所选文本导航到“Open quick”的第一个结果。如果所选文本的格式为<filename:lineNumber>,(带或不带<>)“快速打开此文件”将带您到文件加行号。

你可以结合下面的建议:

你可以使用这个宏写包含日志条目的文件名和行号的日志:(确保在你的目标调试配置中使用的C标志上定义-DDEBUG=1)

#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()输出中,双击“<”字符选择<filename:lineNumber>,然后按下“⇧⌘D”将打开源代码中日志所在的行。

再来一个....十六进制选色器…… 它添加的十六进制标签到你的界面建设者的颜色面板…现在你可以用

. {/p> .

alt text

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

  1. 打开所有项目。
  2. 重命名一个项目中的文件。
  3. Xcode自动调整所有打开的项目,以反映文件的新名称。

快照,File>Make Snapshot,如果您没有使用适当的版本控制系统,提供了一种快速保存项目修订的方法。这是一种尝试巨大的、潜在的破坏性变化的好方法。

Cmd + (波浪号-在按钮上看起来很奇怪…)

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

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

从视图->代码折叠->焦点跟随选择或控制选项f激活“焦点跟随选择”。

这也适用于Python代码,但是在一行中引入空格会使它失效。为了解决这个问题,安装谷歌的Xcode插件并在它安装的首选项中激活“正确的保存空白”。这将在每次保存文件时清除尾随的空白,因此如果高亮显示出错,您只需保存文件,它就会再次工作。(看,这实际上是两个提示在一起,因为插件的这个特性本身很有用)。

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

一些随机的Python代码。

这对于代码的高嵌套部分非常有帮助,可以跟踪内容在哪里。另外,注意左边,就在行号的右边,这些部分也是有颜色的。这是代码折叠条。如果你把鼠标滑下,它会高亮鼠标下方的部分。这些彩色条都可以折叠,换句话说,代码中高亮显示的部分正是可以折叠的部分。

触控板:

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

用Xcode 3.2.5测试。

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

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

if (cond) {
code;
}

但我更喜欢这样:

if (cond)
{
code;
}

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

defaults write com.apple.Xcode XCCodeSenseFormattingOptions -dict-add BlockSeparator "\n"

这个问题已经困扰我很多年了,我希望其他人也会感兴趣。

此特性的文档可以在Xcode用户默认参考 . xml文件中找到

  1. Cmd+Option+O在单独的窗口中打开文件。
  2. 可以配置制表符总是缩进。我经常使用它来缩进整个文件。
  3. Ctrl+箭头键在驼峰大小写单词之间移动。如果你有OneTwo,你可以用Ctrl+右箭头从One移动到Two。
  4. 你可以使用emacs绑定,甚至有杀环!当我需要复制两个不同的文本时,我使用Ctrl+w和Cmd+C。
  5. 在文档浏览器中,你可以限制你的搜索到一个特定的库,例如,只有iOS 4.2库。这有助于我专注于只在特定iOS/Mac版本的SDK上可用的API。
  6. Cmd+Shift+A来构建和分析。

enter image description here

  1. 在调试器启动时打开调试窗口 修改图像中显示的调试参数..

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

我刚从Windows世界来到Xcode(就像其他许多人一样),我遇到的第一个怪招就是尝试用TAB键“缩进选定的文本块”。

通常,当使用Windows编辑器时,您选择一个文本块,无论何时按TAB(或shift TAB)键,所选的文本都会右/左跳转。然后,一旦确定了文本的新位置,就停止按TAB键。

好吧,在Xcode中,这是完全不同的,因为当你按TAB键时,整块文本消失了,留给你一张愚蠢的脸,内心有些愤怒……

但后来,出于偶然或直觉,有一天我发现了一些变通方法,可以达到你在正确的窗口编辑器下可能得到的相同效果。 步骤如下:

  1. 像在Windows下一样选择文本块。
  2. 不要按TAB键,抛开你的直觉,“复制文本块”(通常是CTRL+C(讨厌))。
  3. 然后,在不取消选择文本的情况下(如果需要按SHIFT键),扩展所选内容的开头,并将其放在您希望新文本出现的位置上。
  4. 粘贴之前提到的文本(通常是CTRL+V(又讨厌了))。
  5. 结果:之前的文本块被“新的”文本块(当然,它本身)所取代,但是Xcode的“自动缩进”功能(或者其他人,谁在乎)将自动将文本放在我们在步骤3中选择的新位置上。
  6. 一个大大的微笑出现在你的脸上。

这有点棘手,但当你习惯了,你会发现自己经常使用它。

享受! !

显示打开符号的选择器

⌘+“+”` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `

显示

enter image description here

您可以选择在以下方式打开符号:

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