Xcode 修改系统的代码块样式 Code Snippet
Xcode在編碼的時(shí)候,系統(tǒng)代碼塊給我們提供了很大的便利。然而,有時(shí)候,也給我們帶來很大的困擾。
例如,系統(tǒng)的 if 代碼塊,大括號(hào)是緊跟括號(hào)之后的。?
?
但是現(xiàn)在呢,公司的代碼規(guī)范是要求另起一行。?
那每次都得手動(dòng)去調(diào),的確是件很影響心情的事。
現(xiàn)在,就教大家怎么去修改系統(tǒng)的代碼塊樣式。
Xcode內(nèi)置代碼模板
Xcode的所有代碼模板是用一個(gè)plist格式xml文件描述的,這文件存儲(chǔ)在Xcode的安裝目錄:?
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/SystemCodeSnippets.codesnippets
注意:Xcode5.1之前是在這個(gè)目錄下?
/Applications/Xcode.app/Contents/PlugIns/IDECodeSnippetLibrary.ideplugin/Contents/Resources/??
SystemCodeSnippets.codesnippets
用任意文本編輯打開這個(gè)文件,如下顯示:?
這個(gè)文件是沒有權(quán)限去修改的。在這里就是所有的Xcode代碼塊的配置,包括常見的 if , if else , switch,dispatch等相關(guān)代碼塊。
每一個(gè) key 所對(duì)應(yīng)的意義也很好理解。下面教你如何去理解。在此之前,你應(yīng)該知道Xcode左下角有個(gè)花括號(hào)的頁(yè)簽,這里面存儲(chǔ)了很多代碼提示模板,就是以上所配置的。?
如果是自己拖拽進(jìn)去的會(huì)有 User 標(biāo)志。?
自定義代碼模塊
關(guān)于拖拽進(jìn)代碼塊的操作這里不作敘述,有不會(huì)的可以上網(wǎng)查查或者留言回復(fù)我再告之。
自己定義的代碼塊是在以下目錄下:?
~/Library/Developer/Xcode/UserData/CodeSnippets/
注意:只有自己定義過代碼塊,才會(huì)在UserData目錄下存在CodeSnippets文件夾,否則是不存在的。
你可以試試寫個(gè)randomColor(`self.view.backgroundColor = [UIColorcolorWithRed:arc4random()%255/256.0f green:arc4random()%255/256.0f blue:arc4random()%255/256.0f alpha:1.0f])的代碼塊,拖進(jìn)去,你會(huì)發(fā)現(xiàn)在CodeSnippets文件夾下多了這么一個(gè)文件。?
這兒的名字是可以更改的,后綴要寫成.codesnippet 。
所以我把它更改成如下名字,便于分辨。?
用任意文本編輯器打開,和Xcode左下角對(duì)比,很容易明白各個(gè)key所對(duì)應(yīng)的意思。?
?
這里要注意的是以下幾個(gè) key 。?
IDECodeSnippetIdentifier 是唯一標(biāo)識(shí)符,其中 if 模板的唯一標(biāo)記是D70E6D11-0297-4BAB-88AA-86D5D5CBBC5D,不能重名,重名即會(huì)覆蓋。?
這也是我們更改系統(tǒng)代碼塊樣式的核心思想!!!
IDECodeSnippetVersion 是版本號(hào),一般系統(tǒng)的都是1,我們自己定義的寫成2。保持默認(rèn)1也沒多大問題,只是Xcode有時(shí)會(huì)自動(dòng)用標(biāo)識(shí)符替換你的自定義命名,所以用2是比較合適的。
剩下的很重要的一步,如果是自定義的,一定要加以下這個(gè) key, IDECodeSnippetUserSnippet ,定義為 true 。如果是自定義的而沒有這個(gè)字段,Xcode是會(huì)崩潰的。?
現(xiàn)在用 if 代碼塊對(duì)比一下系統(tǒng)的和自定義的區(qū)別。
系統(tǒng)的是
自定義的是
看到這兒,到底如何去修改系統(tǒng)的代碼塊樣式呢???
1.前往文件夾?
~/Library/Developer/Xcode/UserData/CodeSnippets
2.創(chuàng)建 if.codesnippet 文件
3.復(fù)制以下模板:
4.找到系統(tǒng)的 if 代碼塊,粘貼 過來。
5.修改 IDECodeSnippetVersion 從1變成2。
6.增加 IDECodeSnippetUserSnippet 為 true。
7.保存,關(guān)閉。退出Xcode ,再打開,輸入 if ,看看此時(shí)的 if 樣式,大功告成!!!!
最后修改的 if 配置文件應(yīng)是如下:
總結(jié)
根據(jù) if 的配置邏輯,完全可以再修改 if-else,switch,dispatch_once,dispatch_after等樣式。
以下是我修改的一些:?
這個(gè)CodeSnippets文件夾是可以復(fù)制給他人,別人安裝在相同的目錄下,便也有了相同的功能。很適合一個(gè)團(tuán)隊(duì)的代碼規(guī)整。
總結(jié)
以上是生活随笔為你收集整理的Xcode 修改系统的代码块样式 Code Snippet的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Tomcat7、Java、WebSo
- 下一篇: 域与活动目录(下) windows se