AppCode

不一樣的IDE

AppCode是JetBrains用以替代的Xcode的一款產(chǎn)品,早在2012年,AppCode就嶄露頭角并被廣大開發(fā)者所喜愛。現(xiàn)在還沒有公開數(shù)據(jù)來對比AppCode和Xcode的下載量,不過我認(rèn)為脫離蘋果軟件來進(jìn)行iOS和Mac開發(fā)的人數(shù)肯定少之又少。AppCode大家看看就可以了。

我以前只親自碰過一次AppCode的試用版,后來由于Twitter上有太多推薦所以買進(jìn)了2.0版本的打折款。比較遺憾的是,AppCode看上去總是有JAVA的感覺而且有一股濃濃的陳舊氣味,我嘗試去習(xí)慣使用但是卻感覺各種不爽。

然而,AppCode正在日臻精進(jìn)而且社區(qū)里的粉絲團(tuán)也愈加龐大,所以到了2014年,我覺得我應(yīng)該趁每年的訂購許可到期前好好的使用一下這個(gè)玩意,結(jié)果出人意表的導(dǎo)致我把這個(gè)全新的IDE作為了OC編碼的專用工具。

對此我還是一個(gè)新手,在這里我想分享的是那些從使用一開始對我來說就不同尋常的事,可能會(huì)有些故作新奇,也許還能讓你想去嘗試一下這個(gè)出色的開發(fā)工具。

1.同一工程可以同時(shí)在AppCode和Xcode中打開

當(dāng)你開始上手AppCode的時(shí)候并沒有必要完全摒棄掉Xcode蘋果的IDE。我仍舊會(huì)在OS X的Home Space里面使用Xcode來進(jìn)行調(diào)試、類的創(chuàng)建和配置工程,同時(shí)在第二個(gè)全屏Space里用AppCode打開相同的項(xiàng)目并簡單的用它來寫Objective-C代碼,修改一些已存在的類,或者有時(shí)候會(huì)用來向Git倉庫里面提交項(xiàng)目。

2.可以完全自定AppCode的外觀來消除JAVA味

像我就相當(dāng)可怕的在AppCode里面復(fù)制了Xcode的外觀,并設(shè)置為默認(rèn)主題。而其實(shí)你還可以做一些更改以便于減少使用時(shí)的干擾,比如我就改變了編輯器里的字體,然后添加了行號,移除了代碼的折疊圖標(biāo),并隱藏了100個(gè)字符的邊列限制,還取消了當(dāng)前行的黃色高亮。

另外,在第一次加載運(yùn)行之后,你可以關(guān)掉所有的通用窗口,這樣編輯器看上去就感覺跟TextMate一樣了。當(dāng)使用一段時(shí)間之后,你會(huì)發(fā)現(xiàn)哪些實(shí)用和必要的窗口其實(shí)就在編輯器右側(cè)而你已經(jīng)明白它們在那個(gè)位置了,這時(shí)候?qū)δ銇碚f,界面上的這些窗口變?yōu)殡[形而不會(huì)再分散你的注意力了。

3.在OC代碼里重命名變量和方法會(huì)很詭異

Xcode在代碼重構(gòu)上表現(xiàn)不俗,尤其是在你按下Control+Command+E來重命名本地變量或者本地文件方法的時(shí)候。但是每當(dāng)你使用Rename在全局范圍內(nèi)改變類名的時(shí)候,你會(huì)覺得崩潰的,總是瞻前顧后而且要在所有的一切按部就班的結(jié)束了之后才松一口氣,然后在項(xiàng)目里雙擊每一個(gè)更改,還要默默祝福Xcode不要出任何差錯(cuò)。

相比Xcode,在AppCode上的重命名過程會(huì)舒服得多。我的意思是,當(dāng)你摁下Shift+F6,然后鍵入新名,敲擊回車,隨后立即繼續(xù)寫新代碼。大多數(shù)時(shí)候你不會(huì)有擔(dān)心出錯(cuò)的顧慮,原因成大程度上是因?yàn)槟悴粫?huì)看到有關(guān)反復(fù)詢問你是否確定重構(gòu)代碼的對話框。

4.代碼復(fù)用的"moving"命令使得重構(gòu)更為輕松

代碼復(fù)用總是能提高代碼效率,而代碼復(fù)用也總是需要再三考量。不過在AppCode里面,在類的內(nèi)部甚至是類間復(fù)用代碼會(huì)非常簡單,而且你也無需等到代碼完成后才來考慮這些小的重構(gòu)。

對于選中的代碼,會(huì)顯示一個(gè)關(guān)于代碼優(yōu)化命令的小菜單。舉個(gè)例子,如果你把光標(biāo)放在方法聲明的地方待上幾秒,就可能會(huì)浮出一個(gè)小小的提示框提示你應(yīng)該將該方法聲明為private.

還可以選中一些方法并將其移動(dòng)進(jìn)新類中,這些類會(huì)使得代碼運(yùn)行的耦合更為簡便快捷。你也可以將這些選中的代碼提取到新方法中,或者函數(shù)和塊。所有這些操作都是在相當(dāng)簡單直觀的接口里實(shí)現(xiàn)的。

5.代碼審查工具使得代碼更為簡潔

JetBrains的IDE會(huì)實(shí)時(shí)分析代碼并且會(huì)高亮那些不必要#import代碼、沒有使用到的public方法、沒有運(yùn)行到的代碼段落以及一些在你的OC和C/C++代碼里可以省略的部分。

因?yàn)槭褂玫氖窍嗤腖LVM/Clang編譯器,在Xcode里面也有這樣的代碼分析,不過所有的警告信息只會(huì)在編譯完成之后才會(huì)出現(xiàn)。相較而言你會(huì)覺得AppCode就友好得多。

其實(shí)我打算貼一張推特的截圖來說明下AppCode暗諷過蘋果的“Goto Fail”漏洞,不過我想你們都知道了。

6.你可以使用高級模板來提高編碼效率

類委托的新協(xié)議,以及#pragma mark,dispatch_async還有其他一些代碼在Xcode中大有用處,不過它們在AppCode里面的實(shí)現(xiàn)顯得更加聰明更為直觀。

這里有許多原生或是用戶創(chuàng)建的代碼,設(shè)計(jì)非常巧妙,我想你一定會(huì)喜歡,而且如果你使用得越多,你越會(huì)享受使用它。

7.AppCode補(bǔ)全方法的方式多種多樣

在Xcode中想要重寫一個(gè)方法的時(shí)候,需要在行首寫上-tabl然后在長長的列表里選擇想要重寫的方法名。在AppCode里面你只要使用Implement命令,然后選擇兩到三個(gè)方法之后點(diǎn)擊Continue。啊哈,然后你就有三到四個(gè)已經(jīng)預(yù)置好的新方法了。

順帶提一下,你可以寫一個(gè)不存在的類,然后使用Create Method命令,緊接著就會(huì)要你確認(rèn)在類里實(shí)現(xiàn)的新方法需要傳參。在用Xcode的時(shí)候,是不是經(jīng)常性會(huì)忘記這個(gè)問題呢。

總之,JetBrains很明顯的想要實(shí)現(xiàn)那些在Xcode中都沒有實(shí)現(xiàn)的特性,就算這些特性無足輕重。有時(shí)候,這些關(guān)于構(gòu)建項(xiàng)目的設(shè)計(jì)會(huì)似乎有些糟糕而且一點(diǎn)都沒有蘋果的風(fēng)格,不過如果你將AppCode當(dāng)做是對Xcode的補(bǔ)完,那會(huì)相當(dāng)愜意。

8.CocoaPods的集成和Podfile語法高亮

沒說的,AppCode支持在Podfile中顯示語法高亮。當(dāng)本地的CocoaPods gem包有必要升級到最新版本時(shí)候會(huì)有一個(gè)提示,并且有直接升級(Update)的按鍵,這里提供了原始的交互界面替代了命令行操作,這個(gè)簡易的GUI也使得開發(fā)者能夠感受到在充分支配子模塊。

9.極佳的并列布局宜于版本控制

我很喜歡Xcode中提交代碼時(shí)候的簡約風(fēng)格,但是這并不利于在經(jīng)過大量修改后縱觀全部代碼。AppCode的界面雖然說不上盡善盡美,但是像三欄并列的布局對于版本控制會(huì)相當(dāng)有幫助。

結(jié)論:我的好奇心。

我是無意中看到AppCode的,只是隨便看看。

AppCodeJetBrains用以替代的Xcode的一款產(chǎn)品,你可以只認(rèn)為它是眾多用來提高Cocoa編碼的效率的工具之一。但是Xcode依然是iOS開發(fā)者的首選IDE。

到官方網(wǎng)頁去下一個(gè)免費(fèi)版本用一用,忍住各種不適,大概一個(gè)星期之后你就不會(huì)感到后悔了。

PS:AppCode還有不少問題,不過開發(fā)團(tuán)隊(duì)相當(dāng)萌,我的意思是他們總是能很迅速的修復(fù)Bug并實(shí)現(xiàn)新功能。

下載地址:https://www.jetbrains.com/objc

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. AppCode是咋么回事? 跨時(shí)代的iPhone石破天驚的火了之后, 其開發(fā)環(huán)境XCode也火了. 雖然XC...
    windgo閱讀 11,973評論 1 8
  • Appcode 使用之SVN Appcode的使用方法在這里不作過多介紹,具體可以參照help里相關(guān)信息,這里只是...
    JeffWei閱讀 2,091評論 4 49
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,996評論 25 709
  • 做iOS開發(fā)現(xiàn)在主要用AppCode,但Xcode也不能不用,比如處理Xib,定位bug用Xcode還是必須的。這...
    千若逸閱讀 509評論 0 0
  • 夕陽的光輝籠罩細(xì)紗,陣陣和風(fēng)帶著花香向你撲來,送給你一分愜意初夏的晚風(fēng),帶著棗花和月季花的幽香,飄進(jìn)這間簡樸而舒適...
    萌xin閱讀 194評論 0 1

友情鏈接更多精彩內(nèi)容