Xcode的隐藏功能

时间:2020-03-06 14:50:55  来源:igfitidea点击:

随着大量新手涌入Xcode,我确信有很多Xcode技巧和窍门可以共享。

你是什​​么人

解决方案

? Command+"双击符号":跳转到符号的定义。

?选项+双击符号:在符号文档中查找文本。 (仅当我们安装了符号的文档集时才有效。)

收藏夹栏:

收藏栏就像在Safari中一样,用于存储收藏夹。我经常将它用作存储快捷方式(我们可以通过拖放操作将其存储到当前正在使用的文件中)的地方。通常,当我处理大型或者不熟悉的项目时,这会更有用。

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

  • 查看>布局>显示收藏夹栏

快速打开...

`Command ?` `Shift ?` `D`
  File > Open Quickly...

我是Open Quickly功能的忠实拥护者,在Xcode 3.1及更高版本中,该功能特别出色。当我们要打开项目或者框架中的文件或者符号定义时,只需按键盘快捷键,输入文件或者符号的名称,然后使用"向上箭头"和"向下箭头"选择正确的结果(如果需要),然后单击" Return?"以打开文件或者导航到符号定义。

在Xcode 4上:

`Command ?` `Shift ?` `o`

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

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

链接新框架

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

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

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

切换到标题/源文件

`Option ?` `Command ?` `Up Arrow ↑`
  View > Switch to Header/Source File

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

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

自动完成键盘快捷键

" Tab?"或者" Control?``//":选择下一个自动完成参数。

Shift?Tab?或者Shift?Control?/`:选择上一个自动完成参数。

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

放大编辑器

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

我们可以通过使用以下方法之一来执行此操作:

`Command ?` `Shift ?` `E`
  View > Zoom Editor In
  Drag the splitter (between the editor
  window and the file list above it)
  upwards.

当在一个方法上使用代码完成并且它具有多个参数时,请使用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支持可以通过"编辑"菜单末尾的"插入文本宏"菜单调用的文本宏。也可以使用Xcode的代码完成技术Code Sense来调用它们。

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

当在许多键盘上使用Code Sense时,请使用control+显示可用补全的列表,control+.插入最有可能的补全,以及control+/shift' +control+/`在占位符标记之间移动。按键都在主行正下方的键盘上,这对肌肉记忆很有帮助。

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

来回浏览打开的文件:
??

??

可能不言而喻,但是,如果要使用单词内导航,请确保在使用时更改"空间"(在"曝光和空间"首选项窗格中)的关键预设。

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

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

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

编辑:
Xcode 3.2的更新版本

编辑2:
Xcode 4的更新版本

Xcode中的类浏览器!通过按Shift + C到达。我们可以缩小范围以仅显示活动项目。只要我们只想浏览类层次结构,它就可以使视图更简洁。

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

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

ctrl``?``T

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

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

跳转至cmd-0的"项目"选项卡,跳转至cmd-shift-b的"构建"选项卡,以及跳转至cmd-shift-y的"调试"选项卡(与该操作的键盘命令相同,并添加了shift)。

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

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

因此,例如:

显示在方法和函数的下拉列表中,因此我们可以直接跳至该列表。

使用#pragma进行组织

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

#pragma mark Foo

我们可以使用:

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

#pragma mark -

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

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

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

Apple的API参考文档没有显示从超类继承的方法。有时候,尽管如此。能够查看某个类的全部功能,包括自己的自定义类,这很有用。我们可以使用"类浏览器"(从"项目"菜单中)来显示与当前项目相关的所有类的平面或者层次结构列表。浏览器窗口右侧的上部窗格显示了与浏览器中所选对象关联的方法列表。我们可以使用"配置选项"表选择"显示继承的成员"以显示继承的方法以及由选定类本身定义的方法。我们单击小书本符号以转到相应的文档。

?-[和?-]用于缩进和缩进选定的文本。使清理源代码更加容易。

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

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

  • 选择文本时,请按住键以选择文本的非连续部分。
  • 单击符号名称下拉菜单中的"按住"选项可按名称而不是它们在文件中出现的顺序进行排序。

ctrl+alt++r清除日志

User Scripts菜单中包含很多好处,并且添加自己的菜单相对容易。例如,我添加了一个快捷方式并将其绑定到cmd-opt-,以便在我的代码中插入注释分隔符和" #pragma mark",以快速分解文件。

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

`

`

当我按cmd-opt--时,这些行将插入到我的代码中,并且光标已预先放置在位置以编辑pragma标记组件,该组件显示在符号弹出窗口中。

调试如何使用GDB

仍然是新手,我发现陷阱和识别故障是一个相当不错的选择
艰巨的工作。控制台,尽管它是一个强大的工具,通常
不会产生非常直观的结果,也不知道我们是什么
在调试器中查看可能同样困难
理解。在其中一些人的帮助下
在StackOverflow和关于的好文章
可以在以下位置找到调试信息
可可有了爱,它变得更加友好了。

在Xcode Tools Tips中可以找到一些技巧。

能够水平分割当前的编辑器窗口,这对于宽屏监视器可以并排查看源文件和头文件非常有用。有两种不同的执行方法,具体取决于我们所使用的Xcode版本。

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

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

双击方括号或者括号以获得匹配的括号。

在PyObjC中,我们可以对符号下拉菜单执行等效于#pragma mark的操作:

#MARK:Foo

#MARK:-

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

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

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

当通过双击平衡字符(括号,括号,方括号)与括号匹配结合使用时,此功能特别有用。

实用标记

#pragma mark === Initialization ===

例子:

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

快速打开

Shift + cmd + D
开始输入我们要打开的文件名。如果我们要寻找框架标头,则非常酷。他们也有很好的评论,有时还会提供文档的其他信息。

ESC键

例如,当文本光标位于不完整的方法名称上时,请按ESC。它会存储在那里可能存在的所有内容,并且我们可以快速完成非常大的方法名称。如果我们不记得确切的方法名称,那也很好。只需按ESC。

我认为这些是到目前为止我所知道的最好的。

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

观看有关"在Xcode中变得富有成效"的不错的截屏视频:在Xcode中变得富有成效

从技术上讲是Interface Builder的技巧,但它们是一本匹配的书,所以我不认为这不是题外话……

1." objc_exception_throw"上的断点

Shift +右键单击一个控件,我们会得到一个不错的对象层次结构选择列表。没有更多的点击,点击,点击,无奈!

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

我们应该在objc_exception_throw上始终有一个断点。

NSZombieEnabled = YES;
NSDeallocateZombies = NO;

使用以下代码:

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

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

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

在Interface Builder的Document Window中的一个对象上,使用Command +双击以跳到Xcode中的该类。这对于File's Owner非常方便。

5.在Interface Builder中选择重叠的项目

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

6. Interface Builder手势指南

在Interface Builder中,在一个对象上按Control + Shift +鼠标单击以查看鼠标下所有对象的菜单。

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

《 Interface Builder手势指南》。

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

当我们尝试在保存后撤消操作时,将出现以下提示:

defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO

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

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

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

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

  • 查找目录:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates / Application。
  • 使用我们喜欢的多文件搜索和替换工具将com.yourcompany更改为通常用于设备构建的任何值。打开整个目录后,我使用了BBEdit的多重查找和替换功能。我们应该替换所有info.plist文件中的值。我发现有8个文件需要更改。由于我忘记更改此字符串而导致构建失败的次数非常荒谬。

在"组和文件"窗格中快速跳转到一个组

`Control ?` `Option ?` `Shift ?` + <First letter of a Group name>

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

在自动补全选项之间循环

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

如果按住上面的三个键,则可以通过按组名称的第一个字母快速跳到左侧("组和文件")页面中的组。例如,"控制"→"选项"→" Shift"→" T"将我们带到目标,而""控制"→" Option"→" Shift"→" S"则带到源。再按一次,它会跳到SCM。有时需要几次尝试才能起作用(我不知道为什么)。

快速帮助

`Control ?` `Command ?` `?` (While your cursor is in the symbol to look up)
  `Option ?` + <Double-click a symbol>
  Help > Quick Help

单词后的" Control?"。(Control-Period)会自动接受自动补全菜单中的第一选择。尝试输入" log",然后输入" Control"。。我们会得到一个不错的" NSLog"语句。再按一次可循环选择所有选项。要查看所有可变的选项,请输入" NSMu",然后输入" Control?"。

请参阅文档中的符号

`Command ?` `Option ?` + <Double-click a symbol>

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

进行非相邻的文本选择

`Command ?` `Control ?` + <Double-click in the editor>

直接带我们到完整的文档。

使用Emacs按键绑定浏览代码

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

`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

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

按下Shift +任意一个,即可在移动点之间选择文本。将光标放在一行的中间,然后按Shift + Control ^ e键,我们可以选择到该行的末尾。

  • "控制^""向左箭头"和"控制^``向右箭头"将光标移动到单词的驼峰包围的部分之间。

按" Option?"将使我们可以使用键盘浏览单词。 Option?Control ^f`跳到当前单词的末尾。 `Option?`Control ^b`跳到当前单词的开头。我们也可以将" Option?"与左右箭头键一起使用,一次只能移动一个单词。

尝试使用NSMutableArray。我们可以通过将光标置于NS之后,将其快速更改为NSArray,然后依次按Shift键,控制Ctrl键,向右箭头,然后按Delete键。

> 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

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

如果我们具有支持多点触控功能的Mac,请使用MultiClutch映射一些由鼠标手势描述的击键。

我用三指来回移动文件历史记录(cmd-alt-。),然后捏住以在.h和.m之间切换。

?`正确格式化(重新插入)代码

编辑:显然,重新缩进功能("编辑">"格式">"重新缩进")没有默认的快捷方式。我想我很久以前就分配了一个(在"首选项">"键绑定"中),甚至都不记得了。抱歉误导我们。

使用AppKiDo浏览文档。

使用^ T交换前两个字母

使用Accessorizer在Xcode中执行一堆平凡的重复性任务。

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

fi`` ^ T

...变成:

如果

...这是我常见的错别字。

免重新编译调试日志

如果光照混乱了,如果椭圆没有被光照或者其他任何东西,只需执行?-A?-X?-V,它将全部选中,剪切并粘贴,所有的光照都会得到纠正。那么就按住吧?然后按A再按X再按V。

TODO评论

cdespinosa对堆栈溢出问题的答案如何使用NSLog(iPhone模拟器的@Inside)进行调试?提供了一种通过日志调试技术的方法,该方法不需要重新编译源代码。这是一个了不起的技巧,它使代码免于调试麻烦,具有快速的周转时间,并且如果我早些时候知道它,将使我免于无数的头痛。

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

给注释加上" TODO:"前缀将使它显示在功能"快捷方式"下拉菜单中,例如:

  • Cmd-R:生成并运行
  • Cmd-Y:构建和调试
  • Cmd-Shift-Enter:停止运行项目
  • Cmd-Shift-K:清理构建

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

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

Ctrl-左/ Ctrl-右可导航变量或者方法名称中的单词。没有这个就无法生存。

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

建立成功/失败的声音;从学期开始:

与Xcode操作的键绑定

我可以将Emacs用作编辑器,将Xcode用作构建器/调试器,这是事实……两全其美,以我的拙见。

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

这本身就是一个节省时间的功能。只需查找我们喜欢的操作并添加/编辑键盘快捷键即可!

我确实觉得很方便的一组默认设置是CMD +"和CMD +',用于添加/删除垂直分割。按住这些的选项,现在水平分割相同。但是,如果这些手势对我们不起作用,我们可以随时改变他们。

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

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

说不清 。 。 。

?``?``A。它将进行构建和分析,这意味着Xcode将警告我们可能的泄漏。

Alt-Left和Right转到行尾/行首。连同CTRL-Left&Right一起移至下一个大写字母或者分词符。这两个为我节省了很多时间

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

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

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

方法1:在函数名称之后

有多种使用方法:输入函数名称后,或者输入函数名称前。

myObject testMethod``]

[myObject testMethod]

...变成:

方法2:在函数名称之前

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

myObject``]

[myObject ]

...变成:

...插入符号位于]的正前方。

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

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

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

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

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

信誉:Xcode中的文件排序。

键入方法时,请按ESC键以查看代码完成选项(无疑以前已经提到过)。我已经知道了这一点,但是今天我发现,如果我们按代码完成窗口右下角的按钮(它将是" A"或者" Pi"),则可以在字母排序和似乎是按类层次结构排序。

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

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

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

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

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

//=====================================================
// 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

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

有大量资源可用于此目的,例如Cocoa dev:设计自己的Xcode项目模板。

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

Xcode格式化选项

至于"快速打开"功能,它很棒,但是我一直想念TextMate的cmd-shift-t浏览项目和文件(符号,方法等)。

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

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

&lt;文件名>:&lt;行号>:错误|警告注意:&lt;message> \ n

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

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

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

Cmd+Ctrl+up/down折叠所有功能或者取消折叠它们。

defaults write com.apple.Xcode XCCodeSenseAutoSuggestionStyle List

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

在终端中,然后重新启动Xcode。

Command + '/'

选择一块文字并使用

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

- ta

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

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

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

在采用协议时也可以使用。

Xcode代码格式化...是我们制作代码时需要做的事情之一
可读性强,外观不错。

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

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

Command?alt?shift``T:在项目树中显示当前编辑的文件。

对我而言,它一直是:Command?+0

调试或者运行任何内容后,如果退出iPhone Simulator或者调试应用程序,则显示调试器窗口。

当我们使用"单窗口版式"时,必须在工具栏中单击,这很烦人(并且我们以后需要删除详细信息窗格),才能返回到编辑器。

上面的快捷方式可以完成操作,使我们可以编写代码。

  • ?+ 0将我们从调试模式返回到编辑器。
  • ?? + Shift + R将我们从调试模式切换到编辑器视图(项目模式)
  • ?+Shift+E`"最大化"编辑器(当在编辑器上方显示生成结果等,并且我们只想使源代码编辑器更高时,这非常有用)
  • Ctrl + 2显示当前代码的轮廓
  • +Return运行应用程序
  • ?? + Shift + Return结束应用程序

我的收藏夹必须是这些常规编辑器快捷方式:

按??? D激活"快速打开此文件",使用选定的文本将我们导航到"快速打开"的第一个结果。如果所选文本的格式为&lt;filename:lineNumber>,(带或者不带<>)"快速打开此文件"将带我们到文件加行号。

我们可以将其与以下提示结合使用:

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

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

在DLog()输出中,双击" <"字符以选择&lt;filename:lineNumber>,然后按??? D将打开日志在源代码中的行。

还有一个...。十六进制颜色选择器...
它将十六进制选项卡添加到界面生成器的颜色面板中...因此,现在我们可以使用
直接从Interface Builder获取十六进制颜色。

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

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

如果我们使用的不是正确的版本控制系统,"快照">"文件">"制作快照"提供了一种保存项目修订的快速方法。尝试进行可能会造成破坏性大变化的好方法。

代码完成

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

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

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

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

这也适用于Python代码,但是如果在一行中使用空格,则会将其丢弃。要修复此问题,请安装Google的Xcode插件,然后在其安装的首选项中激活"保存时纠正空白"。每次保存文件时,这都会清除尾随空白,因此,如果突出显示高亮显示,则只需保存文件即可,它将再次起作用。 (并且看到,这实际上是两个提示,因为插件中的此功能很有用,因为它可以单独使用)。

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

段落数量不匹配