Xcode的隐藏功能

sch*_*hwa 338 macos xcode cocoa objective-c

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

你的是什么?

epa*_*tel 343

切换到标题/源文件

  • Option ⌥ Command ⌘ Up Arrow ↑

  • 查看 > 切换到标题/源文件

.m.h文件之间切换.

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

  • 在触摸板上向上滑动三个手指是同一操作的另一个快捷方式. (71认同)
  • 它在Mac上称为"选项",而不是"alt".如果你想要花哨的符号,可以写成⌥⌘↑ (24认同)
  • @Brian你的权利......但它也在钥匙上说"alt" (22认同)
  • 这也是我最喜欢的.我经常使用它.当我们谈论cpp和h时也有效.不仅仅是m!:) (7认同)
  • 请注意,在Xcode 3.2中,您必须更改密钥绑定以将⌘⌥⇠/ restore恢复为switch-file.他们将默认值更改为在同一文件中的位置之间移动. (4认同)
  • 更好的是,打开标题,⌘⌥⇡在同一窗口中打开.m,然后⌘⌥⇠/⇢在它们之间切换. (2认同)
  • 它是XCode 4中的Ctrl + Cmd +.. (2认同)

sch*_*hwa 158

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

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

收藏栏:

收藏夹就像你在Safari中存储一样 - 很受欢迎.我经常使用它作为存储快捷方式的地方(你可以通过拖放来完成)到我现在使用的文件.通常,当我处理大型或不熟悉的项目时,这会更有用.

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

  • View> Layout>Show Favorites Bar

  • 喘气!显示收藏夹栏,你一生都在哪里! (11认同)
  • 收藏夹栏已在Xcode 4中用持久标签"替换". (4认同)

mma*_*alc 127

自动完成键盘快捷键

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

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

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

  • 请注意,新的XCode使用Tab在完成中的参数之间移动.它更流畅. (18认同)

nev*_*ing 119

关闭"撤消过去最后一点"警告

保存后尝试撤消时,您将收到以下提示:

"你将要撤消这个文件保存的最后一点.你想这样做吗?"

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

defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO
Run Code Online (Sandbox Code Playgroud)

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

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

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "Microsoft";}'
Run Code Online (Sandbox Code Playgroud)

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

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

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

  • Control ⌃ Option ⌥ Shift ⇧ + <组名的第一个字母>

如果您按住上面的三个键,则可以通过按组名称的第一个字母快速跳转到左侧(组和文件)页面中的组.例如,Control ⌃Option ⌥Shift ⇧T把你带到目标Control ⌃Option ⌥Shift ⇧S.再次按它,​​它会跳转到SCM.有时需要多次尝试才能工作(我不知道为什么).


在自动完成选项之间循环

  • Control ⌃ .

  • Shift ⇧ Control ⌃ .:在自动完成选项之间循环.

Control ⌃.一个单词自动接受自动完成菜单中的第一个选项后的(控制周期).尝试输入log然后Control ⌃. 你会得到一个很好的NSLog声明.再按一次可循环选择任何选项.要查看所有可变的选项,键入NSMu然后Control ⌃..


快速帮助

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

  • Option ⌥ + <双击符号>

  • 帮助>快速帮助

要从"快速帮助"窗口访问文档,请单击右上角的书籍图标.


请参阅文档以获取符号

  • Command ⌘ Option ⌥ + <双击符号>

带您直接阅读完整的文档.


进行不相邻的文本选择

  • Command ⌘ Control ⌃ + <在编辑器中双击>

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


使用Emacs键绑定来浏览代码

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

  • Command ⌘ Left Arrow或者带Command ⌘ Right Arrow你到一条线的开头和结尾.
  • Control ^ aControl ^ e做同样的事情
  • Control ^ n并将Control ^ p光标向上或向下移动一行.
  • Control ^ f并将Control ^ b光标向后或向前移动一个空格

按下Shift ⇧任意一个选择移动点之间的文本.将光标放在一行的中间,然后按Shift ⇧ Control ^ e,您可以选择行的末尾.

按下Option ⌥将允许您使用键盘导航单词.Option ⌥ Control ^ f跳到当前单词的末尾.Option ⌥ Control ^ b跳到当前单词的开头.您还可以使用Option ⌥左右箭头键一次移动一个单词.

  • Control ^ Left Arrow并将Control ^ Right Arrow光标移动到单词的驼峰部分之间.

尝试一下NSMutableArray.您可以NSArray将光标快速更改为NS,Shift ⇧ Control ^ Right Arrow然后按下Delete.

  • Control-Command-double-click是必要的,因为Xcode使用Command双击除了不连续的单词选择之外的其他东西.在大多数Cocoa应用程序中,您可以单独使用Command修饰符进行不连续的选择. (4认同)

Eva*_*ase 99

快速打开......

  • Command ⌘ Shift ⇧ D

  • 文件 > 快速打开...

我是Open Quickly功能的忠实粉丝,在Xcode 3.1及更高版本中尤为出色.当您想要打开项目或框架中的文件或符号定义时,只需点击键盘快捷键,键入文件或符号的一些名称,使用Up Arrow ↑Down Arrow ↓选择正确的结果(如果需要),然后点击Return ↩打开文件或导航到符号定义.

在Xcode 4上:

  • Command ⌘ Shift ⇧ o

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

另外,直到两分钟前(当schwa在评论中指出)我不了解Xcode的一点是,如果在调用Open Quickly时编辑器的文本插入符号内,则该字将用作快速搜索术语.

  • 在Mac上,"光标"表示您的鼠标位置; 闪烁的垂直条是"插入点". (9认同)
  • 又名你的光标. (3认同)
  • @Flubba:Caret当然是*用于*,我根本没有争议; 它不是Mac上常见的以用户或开发人员为中心的术语.如果您使用Google for"caret site:developer.apple.com",您只需在TrueType文档和最近编写的单个iPad文档中找到匹配. (3认同)

小智 78

使用#pragma进行组织

您可以使用:

#pragma mark Foo
Run Code Online (Sandbox Code Playgroud)

...作为组织源文件中方法的一种方法.通过弹出菜单浏览符号时,无论放入什么内容Foo,列表中都会显示粗体.

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

#pragma mark -
Run Code Online (Sandbox Code Playgroud)

它非常有用,尤其适用于将委托方法或其他方法组分组在一起.

  • 键入#p通常会触发代码完成'#pragma mark <LABEL>'以快速添加标签部分. (9认同)
  • Xcode 4还支持"#pragma mark - Foo",它同时添加标记AND分隔符. (7认同)

Jon*_*ess 77

1.关于"objc_exception_throw"的断点

你应该总是有一个断点objc_exception_throw.

2.使用"Zombie"变量调试保留/释放问题

使用以下代码:

NSZombieEnabled = YES;
NSDeallocateZombies = NO;
Run Code Online (Sandbox Code Playgroud)

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

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

Command ⌘+ Double-click在Interface Builder的文档窗口中的一个对象上跳转到Xcode中的该类.这对File的所有者来说非常方便.

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

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

5.在Interface Builder中选择重叠项

Control ⌃ Shift ⇧+ Click在Interface Builder中的对象上查看鼠标下所有对象的菜单.

6. Interface Builder手势指南

Interface Builder手势指南.

  • 很棒的答案!我给出了(3)和(4)的两个赞成票,我以前不知道. (3认同)

小智 75

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

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

  • 我使用Spaces(CTRL-2转到Space#2),所以我重新映射了键绑定.它可以在"Pop Symbols PopUp"项中的"Text Key Bindings"下找到. (19认同)
  • 在XCode4中它是^ 6.它被称为显示文档项. (5认同)
  • 在XCode5中,我认为它是CTRL + 6 (2认同)

mma*_*alc 74

缩放编辑器

如果窗口同时显示详细信息和编辑器视图,则可以缩放编辑器以将编辑器视图展开到窗口的完整高度.(这很容易找到,但很多人似乎忽略了它.)

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

  • Command ⌘ Shift ⇧ E

  • 查看 > 缩放编辑器输入

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

  • 我花了很多时间来了解如何隐藏树 - Command-Option-Shift-E.啊,甜蜜的解脱.我永远感激MacMacDev Glasgow小组让我知道这一点. (18认同)

Hag*_*lin 67

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

编辑: Xcode 3.2的更新版本

编辑2: Xcode 4的更新版本


小智 52

没有太多的键盘快捷键,但源中的TODO注释显示在编辑器顶部的方法/功能下拉列表中.

例如:

// TODO: Some task that needs to be done.
Run Code Online (Sandbox Code Playgroud)

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

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

  • 适用于// FIXME:也是. (13认同)
  • 在Xcode 3中,TODO注释可以放在代码中的任何位置,它们将出现在函数弹出窗口中.出于某种原因,在Xcode 4中,TODO注释必须在任何函数/方法体之外才能出现.这是一个错误. (5认同)
  • 我刚刚尝试了// MARK:它与#pragma mark具有完全相同的效果.您甚至可以使用// MARK:用破折号来获取分隔符. (4认同)

Mic*_*hel 51

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

  • 或者只是选择它并点击控制-I(如tab但不是真的). (14认同)

小智 43

将窗口拆分为垂直分割而不是水平分割时保持选项.

  • 30英寸显示器非常好.谢谢! (4认同)

Jul*_*ang 42

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


Nik*_*uhe 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
Run Code Online (Sandbox Code Playgroud)


Mat*_*ard 31

"Ctrl +向左/向右箭头"进行文字内文字导航.我使用此功能将光标从变量中的"camel hump"跳到下一个.

  • 只要你禁用Spaces就很棒了:\ (10认同)
  • @jbrennan我有一个分配给^ +⌥+⇧+⌘编辑空间:要设置空间到^ +⌥+⇧+⌘,选择"要空间之间切换:"和"要直接切换到一个空间:"弹出式窗口,按住Control,Option,Shift和Command键. (2认同)

Chr*_*son 30

Xcode支持可以通过" 编辑"菜单末尾的" 插入文本宏"菜单调用的文本宏.它们也可以使用Xcode的代码完成技术Code Sense调用.

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


rob*_*bor 30

右键单击函数中的变量,然后单击"在范围内编辑全部".自从我发现它以来,它已经使用了很多.

ctrl T

  • 您可以在想要编辑的单词上使用Ctrl-Command-T访问它.比讨厌的菜单快得多! (7认同)
  • 默认快捷方式在Xcode 4中更改为Ctrl + Command + E,并且可以在键绑定首选项中更改. (3认同)

Dew*_*sen 28

您可以让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.

  • 请注意,如果您这样做,您的Info.plist将始终必须编辑为文本; 你将无法在漂亮的属性列表编辑器中编辑它,使其使用正确的键和值类型. (16认同)

Joe*_*Joe 27

调试 - 如何使用GDB

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


Vla*_*rov 26

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

  • Chris,'alt'标签适用于切换器.老派的Mac家伙知道它是选项.像上帝的意图. (19认同)
  • 白色的Apple键盘确实在选项键上写了alt. (7认同)
  • 关键是Mac上的"选项"(⌥),而不是"alt". (5认同)

bli*_*app 25

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

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


iwi*_*ill 22

使用触控板:

  • 向上滑动三个手指 - 在标题和源文件之间切换,这比Cmd+ Opt+ 更容易Up;
  • 向下滑动三根手指 - 选择一个类或方法时在声明和定义之间切换,目前发现这两种类型;
  • 向左滑动三根手指 - 向后(Cmd+ Opt+ Left);
  • 向右滑动三根手指 - 前进(Cmd+ Opt+ Right);

用Xcode 3.2.5测试.


Sch*_*der 21

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


Sen*_*ful 19

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

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

有一些方法可以使用它:输入函数的名称后,或者在键入函数名称之前.

方法1:在函数名之后

myObject testMethod]

......变成:

[myObject testMethod]
Run Code Online (Sandbox Code Playgroud)

...插入后的插入符号].

方法2:在函数名之前

myObject]

......变成:

[myObject ]
Run Code Online (Sandbox Code Playgroud)

...插入的插入符号].

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


Fra*_*rba 17

选择一个文本块并键入cmd- /以将其注释掉.再次删除注释字符.

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


nic*_*mro 16

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

- ta
Run Code Online (Sandbox Code Playgroud)

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

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)

这在采用协议时也有效.


Nic*_*unt 14

ctrl+ alt+ + r清除日志


Vde*_*edT 14

Command ⌘ alt ⌥ shift T :显示项目树中当前编辑的文件.


Chr*_*son 13

当使用代码预见许多键盘,使用control+ ,以显示可用的补全列表,control+ .插入最有可能完成,而control+ /&shift+ control+ /到占位符标记之间移动.键盘位于主排右下方的键盘上,这对肌肉记忆有好处.

  • 而不是使用control-逗号作为可用完成列表,您也可以使用esc. (2认同)

mma*_*alc 13

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

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


Jab*_*air 12

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

我将Spaces切换为使用Ctrl-Option左/右.

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


Ken*_*ner 10

Cmd- /为评论自动插入"//".技术上按键次数相同,但感觉更快......

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

  • 您实际上可以选择一个文本块来切换与CMD的评论/ (7认同)
  • 感觉更快,因为它是,因为你不能用另一只手按压另一只手,因此时间加倍了:) (3认同)

Nik*_*huk 10

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


Jef*_*ood 10

pragma mark

例:

#pragma mark === Initialization ===
Run Code Online (Sandbox Code Playgroud)

在所有初始化方法上面写这一行将在编辑器上方的下拉菜单中生成一个很好的标题.

快速打开

Shift + cmd + D开始输入您要打开的文件名.如果你寻找框架标题非常酷.他们也有很好的评论,有时还有其他信息给文档.

退出

例如,如果文本光标位于未完整的方法名称上,请按ESC.它将购买可能适合的所有内容,并且您可以快速完成非常大的方法名称.如果你不记得确切的方法名称也很好.按ESC键.

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

(通过Stack Overflow用户从已删除的问题迁移谢谢.)

  • "#pragma mark - "将在符号菜单中创建一个分隔符,而不是使用===作为已发布的.. (6认同)

Joh*_*ool 9

使用^T交换前两个字母

这适用于所有Cocoa应用程序,但我喜欢它,特别是在编码时.使用^T(Control-T)交换插入符号附近的两个字母,或者当插入符号末尾时,插入符号前面的两个字母.例如:

fi^T

......变成:

if

...这是我犯的常见错字.


fbr*_*eto 9

重新编译调试日志记录

cdespinosa对Stack Overflow问题的回答如何使用NSLog进行调试(@"iPhone模拟器内部")?给出了一种调试通过日志技术的方法,该方法不需要重新编译源代码.一个惊人的技巧,让代码免于调试,快速转换,如果我早些时候知道它,就会省去无数令人头疼的问题.

TODO评论

添加注释TODO:将使其显示在功能"快捷方式"下拉菜单中,la:

int* p(0); // TODO: initialize me!
Run Code Online (Sandbox Code Playgroud)


kdb*_*las 8

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


Dan*_*Dan 8

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

#MARK: Foo

#MARK: -


Tho*_*mas 8

⌘`正确格式化(重新注册)您的代码

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


geo*_*war 8

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

defaults write com.apple.Xcode PBXBuildSuccessSound ~/Library/Sounds/metal\ stamp.wav
defaults write com.apple.Xcode PBXBuildFailureSound ~/Library/Sounds/Elephant
Run Code Online (Sandbox Code Playgroud)


Mar*_*ini 8

对我而言,它始终是:Command ?+ 0:

在您调试或运行之后,如果您退出iPhone模拟器或调试应用程序,您将离开调试器窗口.

当您使用"单窗口布局"时,返回编辑器必须在工具栏中单击完成,这很烦人(此后您需要"删除详细信息窗格").

上面的快捷方式可以让您准备好进行编码.


Mik*_*ers 7

  1. 在选择文本时按住选项以选择不连续的文本部分.
  2. 按住选项,同时单击符号名称下拉按名称排序,而不是按文件中显示的顺序排序.


Mar*_*ark 7

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

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

在Xcode 2.5中,它位于Preferences,Key Bindings,Menu Key Bindings,View菜单下.


tma*_*sen 7

A.它将构建和分析,这意味着Xcode将警告您可能的泄漏.


Joh*_*ast 7

Cmd+ Ctrl+ up/ down折叠你的所有功能或解压缩它们.


kth*_*rat 7

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

替代文字

  • +1虽然[Developer Color Picker](http://www.panic.com/~wade/picker/)更好,因为它还包括用各种声明复制颜色的选项(CSS,`NSColor`,`UIColor `等) (5认同)

asm*_*rer 7

突出显示代码块(焦点遵循选择)

从视图 - >代码折叠 - >焦点跟随选择或激活"焦点跟随选择" ControlOptionf.

这也适用于Python代码,但是一行中的前导空格会将其抛弃.要解决此问题,请安装Google的Xcode插件并在其安装的首选项中激活"保存时更正空白".这将在每次保存文件时清除尾随空格,因此如果突出显示搞砸了,您只需保存文件即可再次运行.(并且看,这实际上是一个中的两个提示,因为插件中的这个功能对于自己来说很有用).

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

一些随机的Python代码.

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


mon*_*odi 7

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

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

if (cond) {
  code;
}
Run Code Online (Sandbox Code Playgroud)

但更喜欢这个:

if (cond)
{
  code;
}
Run Code Online (Sandbox Code Playgroud)

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

defaults write com.apple.Xcode XCCodeSenseFormattingOptions -dict-add BlockSeparator "\n"
Run Code Online (Sandbox Code Playgroud)

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

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


kth*_*rat 7

在此输入图像描述

  1. 在Debugger上打开调试窗口启动更改图像中显示的调试首选项.

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


cra*_*nes 6

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


Ben*_*ieb 6

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

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

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

  • "#pragma mark - "将在函数下拉列表中放入分隔符行. (3认同)

Dmi*_*nko 6

查看一个关于"在Xcode中提高工作效率"的精彩截屏视频:在xcode中变得高效


Tim*_*imM 6

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

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


Jam*_*ore 6

使用AppKiDo浏览文档.

在Xcode中使用Accessorizer处理一堆平凡的重复性任务.


Dan*_*ger 6

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

  • 在地址簿中为自己添加联系人
  • 在您的联系人中编辑公司名称的公司字段
  • 现在选择您的联系人,然后转到菜单并选择卡 - >制作此我的卡
  • 您的联系卡现在应该在地址簿中加粗以确认这一点.

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


Ole*_*ann 6

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

defaults write com.apple.Xcode XCCodeSenseAutoSuggestionStyle List
Run Code Online (Sandbox Code Playgroud)

在终端并重新启动Xcode.


kth*_*rat 6

Xcode代码格式化......是您希望使代码可读且外观良好时所需要的东西之一.

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

一个好方法是..使用Uncrustify.它在Xcode中的代码格式中进行了解释.


mma*_*alc 5

链接新框架

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

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

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


Joh*_*her 5

Ctrl-左/ Ctrl-右以导航变量或方法名称中的单词.没有这个就活不下去.


Old*_*her 5

对Xcode操作的键绑定

我也崇拜"重新缩进".如果没有默认快捷方式,则可以从" 密钥绑定"首选项窗格的" 文本密钥绑定"选项卡中添加一个.

这本身就是一个节省时间的方法.只需查找您喜欢的操作并添加/编辑键盘快捷键即可!

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


kub*_*ubi 5

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

突然这个窗口很有用!


kod*_*odz 5

至于" 快速打开 "功能 - 它很棒,但我总是错过TextMate的cmd-shift-t来浏览项目和文件(符号,方法等).

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


Nik*_*uhe 5

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

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

它与gcc用于显示错误的格式相同.文件名:linenumber部分可以省略.根据模式(错误,警告,注释),Xcode将以红色或黄色徽章显示您的消息.

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


hum*_*ect 5

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


gnu*_*chu 5

选择一个文本块并使用

Command + '/' 
Run Code Online (Sandbox Code Playgroud)

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