随着大量的Xcode新手的涌入,我相信会有很多Xcode的技巧和技巧可以分享。
你的呢?
随着大量的Xcode新手的涌入,我相信会有很多Xcode的技巧和技巧可以分享。
你的呢?
当前回答
要默认在弹出式菜单中显示当前的自动完成选项(无需先按ESC),请键入
defaults write com.apple.Xcode XCCodeSenseAutoSuggestionStyle List
然后重新启动Xcode。
其他回答
⌘'来正确格式化(重新缩进)您的代码
编辑:显然重缩进功能(编辑>格式>重缩进)没有默认的快捷方式。我想我很久以前就分配了一个(在Preferences > Key bindings中),甚至不记得了。抱歉误导你了。
我刚刚发现了如何改变文本宏中使用的缩进行为:
例如,如果你和我一样,不喜欢这个:
if (cond) {
code;
}
但我更喜欢这样:
if (cond)
{
code;
}
然后你可以通过在终端中设置以下默认值来全局(所有语言)更改此设置:
defaults write com.apple.Xcode XCCodeSenseFormattingOptions -dict-add BlockSeparator "\n"
这个问题已经困扰我很多年了,我希望其他人也会感兴趣。
这个特性的文档可以在Xcode用户默认参考中找到
重命名多个项目共享的文件:
打开所有项目。 重命名一个项目中的文件。 Xcode自动调整所有打开的项目,以反映文件的新名称。
链接一个新的框架
(在Groups and Files窗格中,打开Targets披露三角形以显示与项目相关的目标。)
在Groups and Files窗格中,双击当前项目目标以显示target Info面板。 在Info面板中,选择General选项卡。下方窗格显示当前链接的框架。 通过按面板左下角的+按钮,并从出现的工作表中显示的列表中选择,添加一个新框架。(重要的是,表格中的列表只显示了与目标相关的框架…)
(这在两年前是不可用的,但是值得指出的是,比起在文件系统中找到框架并将其拖放到项目中,它可以节省大量的时间……)
我已经为NSObject, UIView和UIViewController创建了自己的文件模板,所以当我创建新类时,这些文件都设置了私有部分,并在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项目模板。