翻译:http://www.bobmccune.com/2012/03/04/creating-custom-xcode-4-file-templates/
其实说是翻译有些牵强。我想实现的东西很简单:每次新创建类文件的时候都会自带一些函数,如:
@end
我希望是:
}
@end
还有:
@interface ViewController ()
@end
@implementation ViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
- (void)viewDidUnload{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
@end
我希望是
@interface ViewController()
@end
@implementation ViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
- (void)viewDidUnload{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
@end
简单说来就是:
我希望.h文件里:两边儿的东西是挨着的;然后帮我加个{},应该是分两行的,{在文件尾。
我希望.m文件里:缩近的tab是两个空格;然后帮我加个{},应该是分两行的,{在文件尾。
就这个小需求就找了挺久,找不到,不过今天还是无意间让我给翻到了上面的英文。那篇文章很中规中距,是讲怎样自定义属于自己的模板,类似你要用js或者php开发,要新加一个板块儿那种。而我的需求要简单的多,就是改一下默认的配置。ok,开工:
首先说明模板文件位置
mac的模板文件在:
ios的模拟文件在:
(其实这个要看实际情况,因为如果默认安装的话会是安装在/Applications下,但是像我这种不守规矩的,就把xcode.app搁到宿主目录下的application文件夹里了)
找到模板文件以后就是修改了。
原谅不建议大家这个目录修改现在的文件,强烈要求大家把这个路径下的文件拷贝到
如果路径不存在就创建。
我开始没认真看,然后照做了,然后就发现我新建议文件的时候,模板都是两份儿,名字都一下。后来想想也对,人家是为了自定义自己用的模板,而我是为了修改系统模板怎么吧?我觉得不改路径,在原始目录里操作,当然了,作为了一个好习惯把File Templates复制一份儿备份。
ok,接下来就是体力活了,你要一个一个的文件夹进去,然后分别修改.h和.m文件,然后一个一个接着找下去,而我呢,属于“工欲善其事,必先利其器”的那种,这么多文件哪受的了啊?想想这么多文件用脚本改也不合适,万一遇到不一样的就死了,还是手工操作,但是是怎么操作呢?
Finder->Go to the folder输入:
然后在搜索框里输入:filebasename
是不是都乖乖的集合了?
然后就是分批来,先整.h的
把所有的.h文件全选,右键,然后用xcode打开
然后就是一个一个改喽
.h改起来还算好改,要改的东西少,一遍是删除:两边儿空格,一遍是粘帖{}。要说的一点就是,我xcode设置成了自动保存,所以可以少按一遍command+s,改完以后直接关闭就全保存了。
完后就是如法儿泡制.m文件了。
改{}好改,直接command+e到文件尾,然后command+k下一行的{自动合到这一行了。tab改成两个的话更简单,因为我xcode里的设置就是tab是两个空格,这时候只要在文件里command+a全选,然后command+剪切,然后command+粘贴就要以了。xcode会自动帮你2个空格缩近。
就这样就好了,xcode甚至不用重启就可以直接用新创建的模板了。
如果你和我一样,喜欢两个空格缩近,{这个东东在行尾的话,你可直接下载下面的附件了。不然,就照着上边儿方法儿改一遍呗
File Templates
发表评论
-
如何使用AV Foundation从摄像头将视频帧捕获为图像
2012-11-15 17:21 7385如果译错,感谢指出。 英文原文地址:https://d ... -
iOS单元测试
2012-11-05 11:37 869转自:http://www.cnblogs.com/ke ... -
Core Data数据持久化的使用
2012-10-30 21:31 1006CoreData 是ios中用来对数据做持久化的一个框架 ... -
ASIHTTPRequest缓存策略的设置
2012-10-30 17:23 3829ASIHTTPRequest 是一款强大的网络请求框架,该框架 ... -
【无限互联】适配iOS6和iPhone5屏幕
2012-10-23 18:05 24271. iOS6的mo模拟器比较大,通过comman ... -
【无限互联】mac下配置svn服务器
2012-10-22 13:30 729在mac下配置svn服务器其实很简单,只需要简单的几句命令就可 ... -
【无限互联】iOS开发之多线程开发
2012-10-10 17:41 1204本节要点: 1.多线程的概念 2.掌握iOS中多线程 ... -
【无限互联】iOS开发block用法之UIAlertView控件的修改
2012-10-10 17:06 2619原始的UIAlertView的需要通过委托方法来实现按钮 ... -
Objective-C新特性
2012-09-05 14:38 661基于Xcode4.4(不完全独有)。1. 成员方法无需前置声明 ... -
iphone-NSDate日期处理
2012-08-31 16:25 1025NSDate存储的是世界标准时(UTC),输出时需要 ... -
iphone开发资源汇总
2012-08-31 16:16 1564如何用Facebook graphic api上传视 ... -
iOS-如何让xcode自动检查内存泄露
2012-08-31 16:05 1055在project-setting中找到 “Run Static ... -
UIScrollView的属性总结
2012-02-08 15:58 4386在滚动过程当中,其实是在修改原点坐标 当手指触摸后, scr ... -
iPhone开发之 ARC是什么
2012-01-17 16:58 1331相关链接:http://blog.csdn ... -
画图时 自己做的一小笔记
2012-01-07 21:02 9230 CGContextRef context = UIGra ... -
让Xcode 4.2生成的app支持旧版iOS设备(armv6)
2012-01-07 00:46 1283这几天遇到一个非常奇怪的问题,基于Xcode 4.2开发的ap ... -
5个开源库的JSON解析速度测试
2011-12-03 23:15 1410iOS5新增了JSON解析的API ... -
获取iOS设备当前ip地址
2011-11-17 23:16 1338第一种方法是用系统api的方式获取,如下 #include & ... -
Quartz 2D编程指南(2) - 图形上下文(Graphics Contexts)
2011-11-12 00:08 1396一个Graphics Context表示一 ... -
Quartz 2D编程指南(1) - 概览
2011-11-11 23:57 1652Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Ma ...
相关推荐
XCode自定义模板(支持Swift,OC) 我这边默认基础BaseViewController类 要在项目中存在这个BaseViewController类,也可以自己修改基础其他类。
详细介绍了xcode自定义模板的规则,方法,及关键字的含义
说明:自定义模板的作用就是平时我们的某些常用的需要用封装或者工具类不太好使用的时候,我们可以用自定义模板的方式把代码预定写好,然后创建模板代码就已经写好了,直接运行就看到效果。
NULL 博文链接:https://zani.iteye.com/blog/1126545
Xcode自定义模版中的Demo,包含工程模版自定义和文件模版自定义。
Xcode Empty Application模板
Xcode增加空模板
Xcode添加空工程模板(内含步骤 模板)安装步骤非常详细
这是一个ane在xcode上面的模板,安装方法很简单,终端运行install_templates.sh完成就ok了 详细看我博客
这是一个自定义类型的开关,能随意进行风格变化。不需要任何改动,直接可复用。
一个自定义的键盘View,可以用来输入表情。表情和文字的映射关系在plist,有中英文两套关系。删除可以按表情为单位删除,支持TextView和TextField,表情数量可以自己添加,自己建立映射关系。
每当Xcode升级之后,都会导致原有的Xcode插件不能使用,这是因为每个插件的Info.plist中记录了该插件兼容Xcode版本的DVTPlugInCompatibilityUUID,而每个版本的Xcode的DVTPlugInCompatibilityUUID都是不同的。...
xcode 添加空模板 方便开发 有需要的下载.zip
自定义IOS 进度条,根据自己的需求改变进度条的颜色,大小,很容易融合项目
AddJackTemplates - xcode定制文件模板,UIView绑定xib一键生成,统一头文件标题样式
iOS开发的空模板,对于初学者,可以从建立空模板开始,不要刚开始就用可视化编程
主要给大家介绍了关于iOS Xcode自定义代码块及迁移的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用iOS Xcode具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
从零开始学习OpenGL ES系列教程XCode4的工程模板,Empty OpenGL ES Application,路径/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application/
用 Swift 3中编写的VIPER Architecture的Xcode模板