九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
【轉(zhuǎn)】聰明的iOS開發(fā)者的Xcode使用技巧

用Xcode的快捷方式快速打開你的文件

在開始使用Xcode之前就應(yīng)該強(qiáng)制記憶其快速打開(Open Quickly)的快捷方式。Mac OS X有一個(gè)功能叫做Spotlight搜索(空格),可以幫你找到文件和應(yīng)用程序(包括別的文件)??焖俅蜷_就是Xcode的Spotlight搜索。我經(jīng)常使用快速打開這個(gè)快捷方式,因?yàn)檫@是打開一個(gè)文件最簡單的方法,只要你知道文件的名字或文件中一個(gè)方法/公共變量的名稱??焖俅蜷_的優(yōu)點(diǎn)是它使用模糊匹配的邏輯。例如,如果我知道該文件的一些概要,我可以鍵入“概要”,它會給出任何包含“概要”這個(gè)詞匯名稱的文件。

技巧:用快速打開搜索一個(gè)方法或?qū)傩钥赡軙苈?,因?yàn)樗枰獙φ麄€(gè)項(xiàng)目進(jìn)行索引和搜索。你的工程越大這會變得越糟,所以搜索一個(gè)方法或者屬性時(shí),試一下這么搜:

1、使用 command+shift+O 搜索文件并打開。

2、使用 control+6 快捷方式打開跳轉(zhuǎn)菜單。

3、開始鍵入名稱,發(fā)現(xiàn)它時(shí)點(diǎn)擊進(jìn)入。

這會快得多,因?yàn)樗凰饕龁蝹€(gè)文件的公共符號而不是在整個(gè)工程中。

快捷方式:command+shift+O

用快捷鍵和代碼片段快速編碼

我們用了一種不太科學(xué)的方式進(jìn)行測試,用iPhone的秒表測試用鼠標(biāo)做五個(gè)常見的Xcode的事務(wù)所花費(fèi)的時(shí)間,我的編碼時(shí)間中大約有5%花在了Xcode的導(dǎo)航上。根據(jù)運(yùn)行情況,這個(gè)測試表明鍵盤的快捷鍵要快1.5到3倍。在這個(gè)基礎(chǔ)上保守估計(jì),在10000小時(shí)的職場生涯中,使用Xcode快捷鍵可以為你節(jié)省大約250小時(shí)的時(shí)間。

此外,還有一個(gè)學(xué)習(xí)快捷鍵的決定性價(jià)值。你學(xué)習(xí)的快捷鍵越多,你手指放在鍵盤上的時(shí)間越多,更有助于你專注于思路?,F(xiàn)在就試一試!開始專注鍵入一段代碼,用鼠標(biāo)選擇和刪除一個(gè)詞匯,然后繼續(xù)打字。關(guān)注思路是如何被打斷的?當(dāng)你在腦海中平衡一個(gè)復(fù)雜的編程問題時(shí),輕微的打擾就會中斷你的思路。點(diǎn)擊這里獲得完整版的Xcode鍵盤快捷鍵列表。

對于哪些想要Xcode更詳細(xì)UI導(dǎo)航快捷鍵列表的開發(fā)者,可參考以下Xcode界面截圖。這些快捷鍵涉及到Xcode窗口的不同部分。我標(biāo)記的屏幕區(qū)域如下:導(dǎo)航(藍(lán)色),編輯器(紅色)、調(diào)試(綠色)、實(shí)用工具(黃色),工具欄(紫色)。

  • command+0: 展示/隱藏導(dǎo)航區(qū)域

  • command+1 到command+n選擇不同的導(dǎo)航器

  • command+option+J過濾導(dǎo)航結(jié)果

  • command+shift+Y顯示/隱藏調(diào)試區(qū)

  • command+option+0: :顯示/隱藏實(shí)用工具區(qū)

  • command+option+command+option+n: 切換實(shí)用工具區(qū)選項(xiàng)卡

  • control+6:方法的跳轉(zhuǎn)菜單

  • control+1: 魔法菜單(打開試試)

  • control+command+Up 和 control+command+Down: 對應(yīng)文件導(dǎo)航

  • control+command+E: 范圍內(nèi)重命名符號(注意:不支持屬性)

  • control+command+Left 和 control+command+Right: 查看歷史文件

  • control+command+J: 查看符號來源

  • option+Selection: 垂直選擇

  • option修飾符: 在輔助編輯器執(zhí)行快捷鍵

  • command+shift+command+shift[: 移動到下一個(gè)/上一個(gè)的標(biāo)簽

  • command+option+command+option+[: 將某行代碼向上和向下移動

  • command+R: 運(yùn)行應(yīng)用程序

  • command+B: 構(gòu)建應(yīng)用程序

  • control+.: 停止運(yùn)行中的應(yīng)用程序

  • control+i: 格式化代碼(高亮代碼)

Xcode的代碼片段是另外一種加快編程的途徑。我反復(fù)用代碼片段為一小塊代碼分配一個(gè)代號。輸入(非常短)代碼的名稱,我可以把相應(yīng)的代碼塊添加到項(xiàng)目中。根據(jù)工作類型的代碼,Xcode代碼片段可以有效提高工作效率。

看看這些GitHub鏈接,開始你自己的代碼片段收集:

使用Xcode的輔助編輯器

輔助編輯器是Xcode中最有用的工具。最初幾個(gè)月我都沒有發(fā)現(xiàn)它,直到用這個(gè)神奇的按鈕打開了我即將編輯的文件。它不是100%的準(zhǔn)確,但是菜單系統(tǒng)的設(shè)計(jì)是超級直觀的,所以你基本上總能找到相關(guān)的文件。

輔助編輯器將文本編輯器分為兩個(gè)窗格,并根據(jù)你在第一個(gè)窗格中正在編輯的文件明智地在第二個(gè)窗格中展示有用的功能。例如如果你在storyboard中,它將會展示與當(dāng)前正在編輯的視圖相關(guān)的視圖控制器代碼;如果你處于一個(gè)Objective-C實(shí)現(xiàn)文件中,輔助編輯器將會展示文件的頭文件。你也可以調(diào)整輔助編輯器來展示基于普通過濾器的文件或者手動導(dǎo)航到某個(gè)文件。

話說我看到一個(gè)類,并試圖查看如何使用它。這是輔助編輯器很擅長的任務(wù)。輔助編輯默認(rèn)選擇實(shí)現(xiàn)文件,因?yàn)槲覀冋幱陬^文件中,所以我調(diào)整過濾器以展示包括左側(cè)文件在內(nèi)的文件。我很快找到了該類的用法并思考如何使用它。過去我通常是在整個(gè)項(xiàng)目中進(jìn)行搜索,但是輔助編輯器在這方面速度更快,并可以同時(shí)在一個(gè)屏幕中顯示兩個(gè)環(huán)境。點(diǎn)擊這里查看操作

技巧:在Xcode中處理UI文件的一項(xiàng)常見操作是設(shè)置IBOutlets。你可以用很多方法來做到這一點(diǎn),但是我最喜歡用輔助編輯器將視圖向右拖拽到代碼文件中。點(diǎn)擊查看如何實(shí)現(xiàn)。

快捷鍵:

  • 和:顯示/隱藏標(biāo)準(zhǔn)編輯器和輔助編輯器

  • as modifier.例如使用模糊的文件搜索,然后按下,選擇一個(gè)文件將在輔助編輯器中打開它,而不是主編輯器。

使用、編輯斷點(diǎn)以及為其添加不同的Action

Xcode的斷點(diǎn)對有經(jīng)驗(yàn)的使用者來說是個(gè)強(qiáng)大的功能。在開發(fā)者的職場生涯中,調(diào)試工作是困難的,并且花費(fèi)的時(shí)間要比寫代碼更多。對于使用其他IDE的開發(fā)者來說,Xcode提供了一些可能被人忽略的強(qiáng)大的調(diào)試的工具。

首先,打開異常/錯(cuò)誤斷點(diǎn)。每當(dāng)拋出錯(cuò)誤或異常時(shí),調(diào)試器都要打一個(gè)斷點(diǎn)。很多時(shí)候應(yīng)用程序遇到錯(cuò)誤或異常會導(dǎo)致程序的崩潰,并且我們會被令人厭惡的代碼所糾纏。開啟斷點(diǎn)的時(shí)調(diào)試器將會在應(yīng)用程序的邏輯棧上暫停,這對于診斷問題非常有用。點(diǎn)擊這里查看添加斷點(diǎn)操作

然后,你可以通過編輯斷點(diǎn)來更高級地使用它。我做過大量的結(jié)對編程,發(fā)現(xiàn)編輯斷點(diǎn)可以激發(fā)開發(fā)者的思維。許多人都知道他的功能但不實(shí)用,我很幸運(yùn)在我的Xcode生涯早期有一個(gè)聰明的開發(fā)者教我關(guān)于編輯斷點(diǎn)的使用。

技巧:編輯斷點(diǎn)添加一個(gè)操作。這些action可以是Debugger Command,也可以是Log Message。比如說,我想知道在應(yīng)用程序的生命周期中何時(shí)加載這個(gè)視圖。我可以在Xcode擊中斷點(diǎn)時(shí)播放聲音且調(diào)試器不會中斷應(yīng)用程序(通過“Automatically continue after evaluating actions”復(fù)選框),而不是添加一個(gè)會擾亂我工作流程的傳統(tǒng)斷點(diǎn)?,F(xiàn)在我可以繼續(xù)愉快地測試,并在加載視圖控制器時(shí)聽到歡快的嗶嗶聲。這是一個(gè)快速給你展示如何設(shè)置它的示例。

使用Version Editor和Show Related Items更好地審查代碼

遇到不合適的或者難易理解的代碼時(shí),我通常會先使用Blame模式。Blame模式可以查出原作者以及編寫該代碼的原因(如果作者寫的話)。如果作者沒有寫明編寫該代碼的原因,我會跟他們聯(lián)系并親自問明原因。

同樣的,Compare模式(對比模式)可以精準(zhǔn)指出此前上傳的代碼哪些地方發(fā)生了變化。對比模式可以提示我是否遺留了一些測試代碼或者空的注釋,然后修正和審核代碼。對比模式在追蹤bug方面也非常有用。

如何才能準(zhǔn)確地使用版本編輯器的Blame和Compare模式呢?比如我正在跟蹤某個(gè)問題的原因,我發(fā)現(xiàn)不知何故將臨時(shí)證書添加到了代碼中,所以我使用Blame模式查找臨時(shí)證書添加的時(shí)間添加的原因,結(jié)果告訴我去年為了修復(fù)某個(gè)崩潰問題添加了臨時(shí)證書。現(xiàn)在我知道去年添加了臨時(shí)證書,不過我認(rèn)為這可能不是導(dǎo)致問題的原因。那么還有其他什么發(fā)生了改變嗎?為了找到答案,我使用Compare模式找到了問題的源頭,可以通過一個(gè)方案來解決該問題。

另一個(gè)可以充分使用的功能是審核代碼時(shí)使用的Xcode的Show Related Items功能,我稱之為“魔法菜單”,雖然它非常有用,但在使用Xcode的第一年,我?guī)缀鯖]有發(fā)現(xiàn)它的存在。這個(gè)按鈕隱藏的非常深,并且看起來也不是可點(diǎn)擊的,但是它包含了Callers和Callees這樣強(qiáng)大的功能,展示代碼在什么地方以及被誰調(diào)用過。這個(gè)功能可幫助我弄清楚哪里會被改變以及如何改變一大塊代碼,而又不破壞別的地方。

通過擴(kuò)展為Xcode添加功能

擴(kuò)展可以為Xcode添加新的或者其本身缺失的功能。不過擴(kuò)展系統(tǒng)不像其他IDE那樣健壯,也不為大多人所知。雖然擴(kuò)展有很多很酷的地方,但也依然存在問題。大部分IDE都有內(nèi)置的擴(kuò)展庫,但Xcode甚至沒有文檔說明他們的擴(kuò)展API。你可以通過以下比較有用的插件為Xcode添加新功能。

  • Alcatraz:一個(gè)開源的Xcode包管理器,可以讓你更便捷地發(fā)現(xiàn)、安裝以及管理插件、模板和配色方案。只需要簡單地點(diǎn)擊或者勾選,不需要手工復(fù)制和粘貼。 

  • FuzzyAutocompletePlugin:一個(gè)適用于Xcode 5以上版本的插件,通過添加模糊匹配來提高Xcode代碼自動補(bǔ)全功能。雖然你可以通過Xcode的command+shift+O快捷鍵進(jìn)行文件和符號名稱的模糊搜索,但Xcode默認(rèn)從首字母進(jìn)行模糊匹配。而使用FuzzyAutocompletePlugin,開發(fā)者無需遵循從頭匹配的原則,只要記得方法里某個(gè)關(guān)鍵字即可進(jìn)行匹配,很好地提高了工作效率。

  • VVDocumenter:很多時(shí)候,為了快速開發(fā),很多的技術(shù)文檔都是能省則省,這個(gè)時(shí)候注釋就變得異常重要,再配合Doxygen這種注釋自動生成文檔的,就完美了。但是每次都要手動輸入規(guī)范化的注釋,著實(shí)也麻煩,但有了VVDocumenter,只需要在要寫文檔的代碼上面連打三個(gè)斜杠,就能自動提取參數(shù)等生成規(guī)范的Javadoc格式文檔注釋。 

  • Uncrustify:允許你指定一個(gè)編碼風(fēng)格,然后格式化保存代碼,無需為了匹配你的代碼風(fēng)格而不斷調(diào)整代碼。你可以檢查保存的格式配置和任何擴(kuò)展它們的代碼。(現(xiàn)在只適用于Objective-C)

  • Color Themes: Xcode自帶一些默認(rèn)的配色主題,但如果不夠,可通過Alcatraz安裝其他主題。

  • AdjustFontSize:增大或減小Xcode編輯器的字體。

  • DerivedData Exterminator:為Xcode增加一個(gè)清除全部緩存的按鈕。這在調(diào)試工程時(shí)是很有用的。

  • ObjectGraph-Xcode:根據(jù)項(xiàng)目中類之間的依賴關(guān)系生成有向圖。

  • OMColorSense:展示文本編輯器中UIColor或NSColor的預(yù)覽效果。通過它可以創(chuàng)建或編輯可視化的顏色。

  • OMQuickHelp:不用Xcode的文檔查看器,而是用Dash應(yīng)用檢閱文檔。

  • SCXCodeSwitchExpander:當(dāng)在Objective-C中使用switch語句時(shí),很容易忘記檢查所有用例而產(chǎn)生bug。這個(gè)插件可以自動生成switch語句代碼,并安全處理所有用例。功能包括:插入所有可能的switch cases;保留已經(jīng)使用的條件,僅插入缺失的條件;當(dāng)使用內(nèi)置的Xcode片段時(shí)僅保留默認(rèn)條件;適用于變量、屬性以及方法參數(shù)等;適用于嵌套switch語句;快速穩(wěn)定,且不會明顯影響Xcode的性能。

通過Interface Builder大幅度提高你的效率

Xcode有一個(gè)叫做Interface Builder的用于搭建用戶界面的可視化工具。它不要求使用Interface Builder來創(chuàng)建UI,但可以使調(diào)整UI這項(xiàng)的乏味任務(wù)變得更簡單。Interface Builder的大部分操作都在Xcode的實(shí)用工具區(qū),所以知道如何以及何時(shí)使用相關(guān)部件是很有用的,可使用快捷鍵command+option+0()來打開實(shí)用工具區(qū),就能看到6個(gè)非標(biāo)簽性質(zhì)的按鈕,每一個(gè)都有不同的重要性,對于Xcode初學(xué)者來說找到自己需要的按鈕會有點(diǎn)困惑。按照從左到右的順序,這6個(gè)按鈕分別是:文件檢查器(File Inspector)、快速幫助(Quick Help)、識別檢查器(Identity Inspector)、屬性檢查器(Attributes Inspector)、規(guī)格檢查器(Size Inspector)和連接檢查器(Connections Inspector)。

  • 文件檢查器(File Inspector):這個(gè)特性非常很少使用??磦€(gè)人愛好,你可以點(diǎn)擊打開或關(guān)閉自動布局和配置本地化。

  • 快速幫助(Quick Help):這個(gè)特性很少使用,可鏈接到你所選中項(xiàng)目的相關(guān)文檔。

  • 識別檢查器(Identity Inspector):一個(gè)很有用的功能,身份檢查器用于訪問和設(shè)置自定義視圖類。

  • 屬性檢查器(Attributes Inspector):我使用它最多??梢耘渲盟x項(xiàng)目的屬性,例如標(biāo)簽文本、背景顏色以及alpha值等。

  • 尺寸檢查器(Size Inspector):另一個(gè)有用的功能,可協(xié)助你查看和編輯自動布局約束。

  • 連接檢查器(Connections Inspector):此功能的使用頻率取決于你IBOutlet的工作流程,可用來連接和查看IBOutlets。

總結(jié)

你無需使用以上列出的所有技能才能成為Xcode行家。每個(gè)人都有自己獨(dú)特的Xcode使用技巧,也沒有兩個(gè)人所列的技巧完全一致,關(guān)鍵要弄清楚哪個(gè)快捷鍵和技巧最適合你的開發(fā)工作,希望以上內(nèi)容可以幫你回顧下自己的Xcode使用經(jīng)驗(yàn),并找出其他方法讓自己成為更有效率、更熟練的開發(fā)人員。

推薦閱讀:CocoaChina專題:iOS進(jìn)階開發(fā),從Xcode開始

 


 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Xcode使用教程
Xcode使用教程詳細(xì)講解
Xcode常用快捷方式
Xcode 快捷鍵大全
圖文解釋XCode常用快捷鍵的使用
Xcode常用快捷鍵及代碼格式刷(縮進(jìn))方法
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服