338

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

你的是什么?

4

89 回答 89

343

切换到头文件/源文件

  • Option ⌥</kbd> Command ⌘</kbd> Up Arrow ↑</kbd>

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

.m在和.h文件之间切换。

  • 在 Xcode 4 中,这是ctrl Command ⌘</kbd> Up Arrow ↑</kbd>
于 2008-09-28T21:15:38.367 回答
158

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

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

收藏栏:

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

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

  • View> Layout>Show Favorites Bar
于 2008-09-28T17:29:41.110 回答
127

自动完成键盘快捷键

Tab ⇥</kbd> OR Control ⌃</kbd> /: Select the next auto-completion argument.

Shift ⇧</kbd> Tab ⇥</kbd> OR Shift ⇧</kbd> Control ⌃</kbd> /: Select the previous auto-completion argument.

Escape ⎋</kbd>: Shows the auto completion pop-up list.

于 2008-09-28T21:34:41.177 回答
119

关闭“撤消最后一点”警告

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

“您将要撤消此文件保存的最后一点。您要这样做吗?”

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

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 个要更改的文件。由于我忘记更改此字符串而导致构建失败的次数是荒谬的。

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

  • Control ⌃</kbd> Option ⌥</kbd> Shift ⇧</kbd> + <First letter of a Group name>

如果按住上面的三个键,您可以通过按组名称的第一个字母快速跳转到左侧(组和文件)页面中的组。例如,Control ⌃</kbd>Option ⌥</kbd>Shift ⇧</kbd>T takes you to Targets and Control ⌃</kbd>Option ⌥</kbd>Shift ⇧</kbd>S to Source. Press it again and it jumps to SCM. Sometimes it takes several tries for this to work (I don't know why).


在自动完成选项之间循环

  • Control ⌃</kbd> .

  • Shift ⇧</kbd> Control ⌃</kbd> .: Cycles backwards between autocompletion choices.

Control ⌃</kbd>. (Control-Period) after a word automatically accepts the first choice from the autocompletion menu. Try typing log then Control ⌃</kbd>. and you'll get a nice NSLog statement. Press it again to cycle through any choices. To see all the mutable choices, type NSMu then Control ⌃</kbd>..


快速帮助

  • Control ⌃</kbd> Command ⌘</kbd> ? (While your cursor is in the symbol to look up)

  • Option ⌥</kbd> + <Double-click a symbol>

  • 帮助 > 快速帮助

要从“快速帮助”窗口访问文档,请单击右上角的书本图标。


有关符号,请参阅文档

  • Command ⌘</kbd> Option ⌥</kbd> + <Double-click a symbol>

将您直接带到完整的文档。


进行不相邻的文本选择

  • Command ⌘</kbd> Control ⌃</kbd> + <Double-click in the editor>

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


使用 Emacs 键绑定浏览您的代码

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

  • Command ⌘</kbd> Left Arrow or Command ⌘</kbd> Right Arrow Takes you to the beginning and end of a line.
  • Control ^ aControl ^ e同样的事情
  • Control ^ n并将Control ^ p光标向上或向下移动一行。
  • Control ^ f并将Control ^ b光标向后或向前移动一格

紧迫Shift ⇧</kbd> with any of these selects the text between move points. Put the cursor in the middle of a line and press Shift ⇧</kbd> Control ^ e and you can select to the end of the line.

紧迫Option ⌥</kbd> will let you navigate words with the keyboard. Option ⌥</kbd> Control ^ f skips to the end of the current word. Option ⌥</kbd> Control ^ b skips to the beginning of the current word. You can also use Option ⌥</kbd> with the left and right arrow keys to move one-word-at-a-time.

  • Control ^ Left ArrowControl ^ Right Arrow在单词的驼峰式部分之间移动光标。

试试看NSMutableArray。您可以NSArray通过将光标放在 之后NS快速将其更改为Shift ⇧</kbd> Control ^ Right Arrow then Delete.

于 2009-06-02T07:52:22.007 回答
99

赶紧开...

  • Command ⌘</kbd> Shift ⇧</kbd> D

  • 文件>快速打开...

我是Open Quickly功能的忠实拥护者,该功能在 Xcode 3.1 及更高版本中特别有用。当您要打开项目或框架中的文件或符号定义时,只需点击键盘快捷键,键入文件或符号的名称,使用Up Arrow ↑</kbd> and Down Arrow ↓</kbd> to pick to the right result (if need be), and then hit Return ↩</kbd> to open the file or navigate to the symbol definition.

在 Xcode 4 上:

  • Command ⌘</kbd> Shift ⇧</kbd> o

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

另外,直到两分钟前我才知道 Xcode(当schwa在评论中指出它时)是,如果在调用Open Quickly时编辑器的文本插入符号位于单词内,则该单词将用作打开快速搜索词。

于 2008-09-28T17:49:09.237 回答
78

使用#pragma 进行组织

您可以使用:

#pragma mark Foo

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

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

#pragma mark -

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

于 2008-10-19T00:18:04.057 回答
77

1. “objc_exception_throw”上的断点

您应该始终objc_exception_throw.

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

使用以下代码:

NSZombieEnabled = YES;
NSDeallocateZombies = NO;

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

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

Command ⌘</kbd> + Double-click on an object in Interface Builder's Document Window to jump to that class in Xcode. This is very handy with File's Owner.

4.重用Interface Builder中的自定义对象

将自定义对象拖回 Interface Builder 的库以供以后重用。

5.在Interface Builder中选择重叠项

Control ⌃</kbd> Shift ⇧</kbd> + Click on an object in Interface Builder to see a menu of all of the objects under the mouse.

6.界面生成器手势指南

界面生成器手势指南

于 2009-06-01T09:39:09.667 回答
75

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

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

于 2008-11-19T22:15:18.253 回答
74

放大编辑器

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

您可以使用以下方法之一来执行此操作:

  • Command ⌘</kbd> Shift ⇧</kbd> E

  • 视图>放大编辑器

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

于 2008-09-28T21:42:01.487 回答
67

获取Colin Wheeler 的完整 Xcode 键盘快捷键列表(以 PDF 或 PNG 格式提供)。将其打印并保存在可见的地方(我将它放在屏幕旁边的墙上)。

编辑: Xcode 3.2 的更新版本

编辑 2: Xcode 4 的更新版本

于 2008-10-02T10:57:09.710 回答
52

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

例如:

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

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

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

于 2008-10-14T04:33:59.443 回答
51

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

于 2008-11-08T22:31:28.327 回答
43

拆分窗口时按住 Option 以垂直拆分而不是水平拆分。

于 2009-03-31T15:21:22.730 回答
42

双击方括号或小括号,即可获得括号和小括号的匹配。

于 2009-01-15T20:25:34.120 回答
36

从命令行控制 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
于 2009-06-07T16:52:25.447 回答
31

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

于 2008-10-01T14:41:07.887 回答
30

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

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

于 2008-10-01T07:56:03.040 回答
30

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

ctrl ⌘</kbd> T

于 2008-10-13T05:44:06.197 回答
28

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

        <key>CFBundleShortVersionString</key>
    #ifdef 调试
        <string>1.0(调试)</string>
    #别的
        <string>1.0</string>
    #万一

有关详细信息,请参阅http://developer.apple.com/technotes/tn2007/tn2175.html

于 2008-09-30T18:25:53.110 回答
27

调试——如何使用 GDB

作为新手,我发现捕获和识别故障是一项相当艰巨的工作。控制台,尽管它是一个强大的工具,但通常不会产生非常直观的结果,并且知道您在调试器中查看的内容同样难以理解。在 Stack Overflow 上的一些人的帮助下,以及可在 Cocoa With Love上找到的关于调试的好文章,它变得更加友好。

于 2008-12-13T09:34:30.517 回答
26

Navigate among open files back and forth:
⌥⌘←
⌥⌘→

于 2008-10-01T16:30:27.513 回答
25

从技术上讲,这是一个 Interface Builder 提示,但它们是一对书本,所以我不认为这是题外话......

Shift + 右键单击​​您的一个控件,您将获得一个不错的对象层次结构选择列表。没有更多的点击,点击,点击,沮丧!

于 2009-05-16T07:57:12.497 回答
22

使用触控板:

  • 三指向上滑动 - 在头文件和源文件之间切换,比Cmd+ Opt+更容易Up
  • 向下滑动三指 - 选择类或方法时在声明和定义之间切换,目前找到这两种;
  • 向左滑动三指 - 返回(Cmd+ Opt+ Left);
  • 向右滑动三指 - 前进(Cmd+ Opt+ Right);

使用 Xcode 3.2.5 测试。

于 2011-01-05T03:38:28.830 回答
21

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

于 2008-10-09T22:22:23.170 回答
19

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

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

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

方法一:函数名后

myObject testMethod]

...变成:

[myObject testMethod]

...插入符号位于].

方法二:在函数名前

myObject]

...变成:

[myObject ]

...插入符号位于.]

后者 (2) 的优点是代码完成将过滤对象的方法。而对于前者 (1),如果您尝试在 之后立即调用代码完成myObject,它将不会被过滤。(2) 的另一个优点是它的行为更像其他使用点表示法的编程语言。您只需键入对象的名称即可,]而不是.访问方法。

于 2010-03-22T21:37:13.633 回答
17

选择一个文本块并输入 cmd-/ 将其注释掉。再做一次以删除评论字符。

这在通过双击平衡字符(括号、大括号、方括号)与大括号匹配结合使用时特别有用。

于 2009-04-10T18:26:50.893 回答
16

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

- ta

然后我点击 ESC 查看我的超类中所有以“ta”开头的方法,例如

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

这在采用协议时也有效。

于 2010-08-18T04:07:32.490 回答
14

Command ⌘</kbd> alt ⌥</kbd> shift T : reveal the current edited file in the project tree.

于 2010-10-07T12:13:23.813 回答
14

ctrl+ alt+⌘</kbd> + r to clear the log

于 2008-12-03T01:42:31.843 回答
13

将 Code Sense 与许多键盘一起使用时,使用control+,显示可用补全列表,使用control+.插入最有可能的补全,使用control+ /& shift+ control+/在占位符标记之间移动。按键都在主行下方的键盘上,这对肌肉记忆有好处。

于 2008-10-01T07:59:39.740 回答
13

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

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

于 2008-10-22T18:21:47.303 回答
12

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

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

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

于 2008-10-01T18:18:54.040 回答
10

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

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

于 2008-10-01T06:58:54.550 回答
10

打印完整的 Xcode 键盘快捷键列表并将其放在显示器旁边。

于 2009-03-20T05:52:25.387 回答
10

语用标记

例子:

#pragma mark === Initialization ===

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

快速打开

Shift + cmd + D 开始输入您要打开的文件名。如果您寻找框架标头,那就太酷了。他们也有很好的评论,有时会给文档附加信息。

ESC键

例如,当您的文本光标位于不完整的方法名称上时,请按 ESC。它将购买所有可能适合其中的东西,并且您可以快速完成非常大的方法名称。如果您不记得确切的方法名称,这也很好。只需按 ESC。

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

(从 Stack Overflow 用户删除的问题中迁移,谢谢。)

于 2009-05-11T08:05:23.527 回答
9

用于^T交换前两个字母

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

fi^T

...变成:

if

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

于 2009-08-09T04:36:12.420 回答
9

无需重新编译的调试日志

cdespinosa对 Stack Overflow 问题的回答How do I debug with NSLog(@“Inside of the iPhone Simulator”)?提供了一种不需要重新编译源代码的调试通过日志记录技术的方法。一个惊人的技巧,它可以让代码免于调试杂乱无章,快速周转,如果我早点知道它会为我省去无数麻烦。

待办事项评论

在评论前加上前缀TODO:会导致它出现在功能“快捷方式”下拉菜单中,例如:

int* p(0); // TODO: initialize me!
于 2009-09-04T05:52:13.770 回答
8

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

于 2008-10-10T06:28:37.760 回答
8

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

#MARK: Foo

#MARK: -

于 2009-01-28T22:12:48.540 回答
8

⌘` 正确格式化(重新缩进)你的代码

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

于 2009-07-07T03:37:08.477 回答
8

对我来说一直是:Command ⌘</kbd> + 0:

在您调试或运行或任何操作之后,如果您退出 iPhone 模拟器或调试应用程序,您将留下调试器窗口。

当您使用“单窗口布局”时,必须通过单击工具栏中的单击来返回编辑器,这很烦人(而且您稍后需要“删除详细信息窗格”)。

上面的快捷方式做到了,让您准备好编写代码

于 2010-10-22T16:54:16.877 回答
8

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

defaults write com.apple.Xcode PBXBuildSuccessSound ~/Library/Sounds/metal\ stamp.wav
defaults write com.apple.Xcode PBXBuildFailureSound ~/Library/Sounds/Elephant
于 2009-10-22T21:39:01.623 回答
7

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

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

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

于 2009-01-07T15:26:57.400 回答
7

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

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

if (cond) {
  code;
}

但更喜欢这个:

if (cond)
{
  code;
}

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

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

这多年来一直困扰着我,我希望它对其他人也有一些兴趣。

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

于 2011-01-25T22:42:59.673 回答
7
  1. 选择文本时按住选项以选择不连续的文本部分。
  2. 按住选项同时单击符号名称下拉菜单以按名称而不是它们在文件中出现的顺序排序。
于 2008-12-11T11:13:34.400 回答
7

Cmd++ /折叠所有函数或取消折叠它们Ctrlupdown

于 2010-06-23T10:59:16.520 回答
7

还有一个.. Hex Color Picker ...它将十六进制选项卡添加到界面构建器的颜色面板中...所以现在您可以直接从界面构建器中使用十六进制颜色..

替代文字

于 2010-11-11T21:52:19.190 回答
7

⇧</kbd>⌘</kbd>A. It will build and analyze, meaning that Xcode will warn you about possible leaks.

于 2010-02-08T08:07:22.443 回答
7

在此处输入图像描述

  1. 在调试器启动时打开调试窗口更改镜像中显示的调试首选项..

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

于 2011-02-09T22:21:25.960 回答
7

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

从 View -> Code Folding -> Focus Follows Selection 或 激活“焦点跟随选择” ControlOptionf

这也适用于 Python 代码,但一行中的前导空格会将其丢弃。要修复它,请安装Google 的 Xcode 插件并在它安装的首选项中激活“保存时更正空白”。这将在您每次保存文件时清除尾随空格,因此如果突出显示搞砸了,您可以保存文件,它会再次工作。(看,这实际上是两个提示合二为一,因为插件的这个功能单独使用很有用)。

这是我刚刚编写的一些随机 Python 代码的示例。我正在使用 Midnight Xcode 语法着色主题。

一些随机的 Python 代码。

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

于 2010-12-28T06:50:58.040 回答
6

If you have a multi-touch capable Mac - use MultiClutch to map some of the keystrokes described by mouse gestures.

I use three finger forward and back to go forward and back in file history (cmd-alt-.), and pinch to switch between .h and .m.

于 2009-06-10T16:38:59.227 回答
6

The User Scripts menu has a lot of goodies in it, and it's relatively easy to add your own. For example, I added a shortcut and bound it to cmd-opt-- to insert a comment divider and a #pragma mark in my code to quickly break up a file.

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

When I hit cmd-opt--, these lines are inserted into my code and the cursor is pre-positioned to edit the pragma mark component, which shows up in the symbol popup.

于 2008-12-11T11:39:22.210 回答
6

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

于 2008-09-29T17:15:34.023 回答
6

A different way to set the your company name in a project template is to:

  • Add a contact for yourself in Address Book
  • Edit Company field in your contact to your Company name
  • Now select your contact then go to menu and select Card -> Make This My Card
  • Your contact card should now be bold in address book to confirm this.

This should now add your company name to all your project templates as well as providing other applications with more autofill information!

于 2010-04-25T15:04:41.157 回答
6

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

于 2009-05-13T17:35:39.830 回答
6

使用AppKiDo浏览文档。

Accessorizer用于 Xcode 中的一堆平凡、重复的任务。

于 2009-07-16T15:58:43.987 回答
6

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

defaults write com.apple.Xcode XCCodeSenseAutoSuggestionStyle List

在终端中并重新启动 Xcode。

于 2010-08-11T09:14:59.417 回答
6

Xcode 代码格式化...当您想让您的代码具有可读性和美观性时,您需要做的事情之一。

您可以自己进行代码格式化或使用脚本节省一些时间。

一种好方法是..使用Uncrustify。它在 Xcode 中的代码格式化中进行了说明。

于 2010-09-16T15:33:41.490 回答
5

至于“快速打开”功能 - 很棒,但我一直错过TextMate用于浏览项目和文件(符号、方法等)的 cmd-shift-t 。

这就是为什么我发布了一个Xcode 插件来提供它。它被称为Code Pilot,您可能想看看它: http: //macoscope.net/en/mac/codepilot/

于 2010-05-10T20:32:23.423 回答
5

链接新框架

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

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

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

于 2008-09-28T21:07:10.743 回答
5

Xcode 动作的键绑定

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

这完全可以节省时间。只需查找您最喜欢的操作并添加/编辑键盘快捷键!

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

于 2009-12-06T19:24:47.723 回答
5

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

于 2009-10-12T09:08:45.087 回答
5

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

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

于 2010-04-24T15:26:15.007 回答
5

选择一个文本块并使用

Command + '/' 

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

于 2010-08-11T09:22:11.073 回答
5

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

于 2010-06-10T19:41:26.423 回答
5

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

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

它与 gcc 用于显示错误的格式相同。filename:linenumber 部分可以省略。根据模式(错误、警告、注释),Xcode 将用红色或黄色标记显示您的消息。

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

于 2010-05-17T17:34:01.097 回答
4

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

于 2008-12-18T12:45:33.557 回答
4

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

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

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

于 2008-10-14T04:13:20.357 回答
4

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

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

//=====================================================
// 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 your own Xcode project templates

于 2010-04-26T12:33:55.080 回答
4

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

Xcode 格式化选项

于 2010-04-27T23:39:43.260 回答
4

通过选择 Group,然后选择 Edit > Sort By > Name,对 Xcode 的 Groups and Files 窗格中 Groups 的内容进行排序。

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

信用:在 Xcode 中对文件进行排序

于 2010-04-02T21:58:19.367 回答
4

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

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

于 2010-12-21T07:03:43.517 回答
3

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

  • ⌘</kbd> + 0从调试模式返回您的编辑器。
  • ⌘</kbd> + Shift + R带您从调试模式到编辑器视图(项目模式)
  • ⌘</kbd> + Shift + E“最大化”编辑器(当您在编辑器上方显示构建结果等时,这非常有用,并且您只想让源代码编辑器更高)
  • Ctrl+2显示当前代码的大纲
  • ⌘</kbd> + Return运行应用程序
  • ⌘</kbd> + Shift + Return结束申请
于 2010-10-23T06:12:33.747 回答
3

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

cd project_directory
xcodebuild -configuration Release -alltargets clean
xcodebuild -configuration Release -alltargets
于 2010-03-23T12:19:04.597 回答
3
  • 要“设置下一条语句”,只需将红色指令指针拖到下一行即可执行。(资源)
于 2010-01-19T18:59:54.330 回答
3

如果突出显示混乱,如果您的 ivars 没有突出显示或其他任何内容,只需执行 ⌘-A ⌘-X ⌘-V,它将全选、剪切和粘贴,所有突出显示都将被纠正。所以只需按住 ⌘ 并按 A,然后按 X,然后按 V。

于 2009-08-17T17:43:26.820 回答
3

Alt-Left & Right 转到行尾/开始。这与 CTRL-Left & Right 一起移动到下一个大写字母或分词。这两个为我节省了很多时间

于 2010-02-09T00:58:53.323 回答
3

按 ⌥⇧⌘D 激活“快速打开”,它使用所选文本将您导航到“快速打开”的第一个结果。如果所选文本的格式为<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 将打开源代码中日志所在的行。

于 2010-11-10T15:07:42.187 回答
3

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

于 2010-03-04T22:05:25.820 回答
2

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

很难解释 。. .

于 2009-12-27T06:34:57.943 回答
2

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

于 2009-10-02T18:26:04.667 回答
2

Show chooser for open symbol

⌘ + ⌥ + ⇧ + click over a symbol

Shows

enter image description here

You can choose open the symbol in:

  • the current tab
  • in an existing tab
  • in a new one (with the + in the upper right corner)
  • in a vertical split (with the + in the right) or
  • in a new window (with the + in the left).
于 2011-10-05T13:13:48.373 回答
2

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

于 2009-10-22T21:45:04.343 回答
2

如果您没有使用适当的版本控制系统,快照,文件>制作快照提供了一种快速保存项目修订版的方法。试验大型的、可能具有破坏性的变化的好方法。

于 2010-12-06T06:32:22.750 回答
2

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

  • Cmd-R:构建并运行
  • Cmd-Y:构建和调试
  • Cmd-Shift-Enter:停止运行项目
  • Cmd-Shift-K:清理构建
于 2009-09-24T05:51:14.830 回答
2

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

  1. 打开所有项目。
  2. 在一个项目中重命名文件。
  3. Xcode 会自动调整所有打开的项目以反映文件的新名称。
于 2010-12-04T18:17:08.490 回答
1

代码完成

于 2010-12-10T13:53:45.783 回答
1
  1. Cmd+Option+O 在单独的窗口中打开文件。
  2. 可以将 Tab 配置为始终缩进。我经常用它来缩进整个文件。
  3. Ctrl+箭头键在驼峰式单词之间移动。如果您有 OneTwo,您可以使用 Ctrl+右箭头从一移动到二。
  4. 您可以使用 emacs 绑定,甚至还有 kill ring!当我需要复制两段不同的文本时,我会同时使用 Ctrl+w 和 Cmd+C。
  5. 在文档浏览器中,您可以将搜索限制在特定的库中,例如,仅 iOS 4.2 库。这有助于我专注于仅在特定 iOS/Mac 版本的 SDK 上可用的 API。
  6. Cmd+Shift+A 构建和分析。
于 2011-01-26T07:32:20.877 回答
-3

我是从 Windows 世界(和许多其他人一样)进入 Xcode 的,我遇到的第一个怪癖之一是尝试使用 TAB 键“缩进选定的文本块”。

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

OK,在 Xcode 中,这完全不同,因为当你按下 TAB 时,整个文本块消失了,留下你一脸傻笑,内心有些愤怒……

但后来,偶然或直觉之类的,有一天我发现了一种解决方法,可以达到在适当的 Windows 编辑器下可能获得的相同效果。步骤应该是这些:

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

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

享受!!

于 2011-02-11T08:45:40.077 回答