xcode4的自动完成功能(Code sense or Code Snippet)

所谓自动完成功能就是自动完成喽。真是废话,哈哈!自动完成包括两种含义吧,一种是输入字母的时候可以动态弹出一个列表,然后通过选择,提高输入效率,这种好像叫代码提示(Code sense?);另一种就是输入几个字母的时候一回车,呼的一下出来一串儿东西(Code Snippet?),当然了,肯定不会乱出,都是你事先定义好的。记的这个功能在vim里叫作map,而我写php的时候最常用的一个map就是通过ctrl+d输入var_dump。
ok,还是说咱的xcode吧。君不见,当你输入for的时候会自动弹出下面的东东:

是不是觉得很神奇,好吧,你可能都已经习惯了,都懒的想为嘛会这样了。其实在xcode里,这是个叫作“Code Snippet”(代码片段)的东东。系统中已经有了一个“Code Snippet Library”,秘密都在那里。

上面的一堆库里,个人觉得有用的就两个,一个是inlineblock,回车以后会自动输入block的格式:

  <#Return Type#>(^<#Block Name#>)(<#Parameter Types#>) = ^(<#Parameters#>) {
    <#Code#>
  };


block狂人自然不要错过。另一个就是forin了。

  for (<#type *object#> in <#collection#>) {
    <#statements#>
  }


会自动输入类似php里的foreach语法,好吧,我承认,我原来一直都是用for然后回车,然后再自已修改里面的循环条件,囧一个~
到这里,我希望你对这个玩意儿已经感兴趣了,如果是的话,那咱继续,下面是怎么定义自已的语法。举个啥例子呢,如果你关心本博客的话,你肯定记得上一篇博客《关于查看自已写的方法的“描述”(AppleDoc)》里面有提到注释的格式,你不会真想把格式背下来吧?还是交给xcode来完成吧。设置方法很简单,在xcode里随便打开一个文件,输入

/**
 <#description#>
 @param <#parameter#>
 @returns <#retval#>
 @exception <#throws#>
 */

然后全选,然后鼠标在选中区域

左键按住不动,让选中的文本处于可拖动状态,然后拖向“Code Snippet Library”正常的话会如下图:

图上解释的基本清楚了,用法很简单了,当你以后输入doc的时候会自动提示的:

基本就是这个样子喽,最后说一下Xcode的版本,我的版本是xcode4.5.2,不过个人觉得的上面的功能在xcode4以后应该都是可以用的,如果你用的版本没有这样的功能,那么还等什么,升级撒,功欲善其事,必先利其器嘛。

2012.12.13 补充:
自定义的代码片段存放在:

~/Library/Developer/Xcode/UserData/CodeSnippets xcode

感谢半块烧饼提醒。


相关博文

    分享到:

About rainbird

IOS攻城狮
This entry was posted in IOS开发, Mac开发, object-c, xCode and tagged , , , , , , , , , , , , . Bookmark the permalink.

2 Responses to xcode4的自动完成功能(Code sense or Code Snippet)

  1. shaobing says:

    as for how to delete a custom code snippet in Xcode???
    just select a custom code snippet in Xcode , and press “delete” key on keyboard to delete it.

发表评论