本章節由CocoaChina翻譯組成員星夜暮晨(博客)翻譯自Xcode Overview:Write Code in the Source Editor,CocoaChina校對,敬請勘誤。
您將大部分開發時間花在了編寫、編輯以及調試代碼上。Xcode源碼編輯器的語法修正、代碼補全以及靜態代碼分析等特性可以幫您快速准確地鍵入代碼。而諸如分拆窗口、快捷鍵、syntax-aware字體以及文本顏色等自定義特性則允許你根據項目需求配置源碼編輯器。
要查看和編輯源碼文件,請在工程導航器中選中文件,文件的內容則會展示在工作區窗口的編輯區域。
鍵入時修正錯誤
當你在源碼編輯器中進行輸入時,Xcode會對文本進行掃描。當你出現語法錯誤時,Xcode會以紅色下劃線或者插入符號標記。點擊錯誤之處,Xcode則會展示對問題的描述信息。
通常,Fix-it可自動修復錯誤。選中推薦的修復方案,按下Return鍵接受修復。在上方的屏幕截圖中,Fix-it建議在文本字符串之前插入“@”字符。更多信息,請查看 Catching Mistakes with Fix-it.
在您的文件中使用代碼片段
您可以使用代碼片段快速鍵入源碼文本。您可以從Code Snippet Library中直接將代碼片段拖放至源碼文件中。想要訪問Code Snippet Library,請在工作區窗口的實用工具區點擊Code Snippet標識按鈕()。Code Snippet Library提供了有用的標准的代碼片段,比如屏幕上展示的switch語句代碼片段。想要將自己的代碼片段添加至代碼片段庫中,並添加快捷鍵,請查看Source Editor Help.
通過模板來創建源文件
使用文件模板來添加文件到您的項目中是最省心的辦法。要訪問文件模板庫,請單擊工作區窗口的實用工具區的文件模板按鈕(),並將這些模板拖曳到項目導航器中來創建源文件。
還可以選擇 File > New File 或者使用 Command + N 的快捷鍵來創建源文件。Xcode 將打開一個 New File 對話框,您可以從中選擇合適的模板來創建文件。選擇完模板後單擊 Next 按鈕,給文件命名後就可以將其添加到項目中了。
進行靜態代碼分析
您可以在運行應用前使用靜態分析器查找代碼中的bug。靜態分析器可在數秒內嘗試上千種可能的代碼路徑,然後報告可能隱藏得很深的錯誤,或者是幾乎不可能被復制的 bug。靜態分析器同樣還將確定出您代碼中沒有遵守 API 推薦使用方式的區域,比如Foundation、UIKit 以及AppKit 等API的語言風格。
要執行靜態代碼分析的話,請選擇 Product > Analyze。Xcode 的靜態分析器將解析程序的源代碼,並確定這些問題類型:
邏輯錯誤,如訪問未初始化的變量和取消對空指針引用。
內存管理錯誤,如分配內存洩露
死存儲(未使用的變量)錯誤
由不遵循項目正在使用的框架和庫所需的策略所引發的 API 用法錯誤。
靜態分析器將在問題導航欄中報告錯誤,您可以在項目導航欄中單擊問題導航欄按鈕()來激活這個視圖。在問題導航欄中選擇一個分析器消息,以在源碼編輯器中顯示相關的代碼。在源碼編輯器中點擊相應的消息,然後使用源碼編輯器上方的分析結果欄中的彈出菜單來研究錯誤路徑和原因。接著編輯代碼以修復錯誤。
欲了解更多,請參閱 Xcode Help 中的Performing Static Code Analysis
使用代碼補全功能加快輸入
當您開始鍵入某個符號名符號時,Xcode 會提供內聯建議以補全其名稱。單擊建議欄中的某項來選中它,或者使用向上或向下鍵來更改選中的建議。按下 Return 鍵接受該建議。
當一個方法或者函數含有參數或者引用時,代碼完成功能將用占位符來替代每個參數。要在這些占位符中跳轉,請選擇 Navigate > Jump to Next Placeholder(或者 Navigate > Jump to Previous Placeholder)。另外,使用 Tab 鍵可以跳轉到下一個占位符,Shift + Tab 鍵跳轉到上一個占位符。
欲了解更多詳細信息,請參閱Entering Text with Code Completion]
拆分編輯器窗口來顯示相關內容
拆分編輯器窗口以便能夠查看一個文件的多個視圖,亦或者是能一次查看多個相關文件。例如,您可以同時查看某個實現文件以及其對應的頭文件。要拆分代碼編輯器,可點擊工作區工具欄上的輔助編輯器按鈕()來打開輔助編輯器窗口。您可以選擇垂直拆分還是水平拆分。
如果要改變拆分的方向的話,選擇 View > Assistant Editor,然後選擇其中一項菜單設置。在上面兩個截圖中,我們關閉了導航欄和工具欄以最大程度地顯示代碼編輯器區域。
當打開輔助編輯器窗口時,您可以將其設置為兩種模式:手動或跟蹤。在手動模式下,您通過跳轉欄選擇要顯示的文件。即使您改變了主編輯器的內容,輔助編輯器中的內容也不會改變。
在跟蹤模式下,您可以從彈出菜單中選擇一種標准。這個標准含有一些內含組,比如說副本、父類、子類以及同級類。一旦您選中了一個標准,那麼 Xcode 將會在子菜單中列出相應的文件。當您改變了主編輯器中的文件時,Xcode就會基於選中的標准來更新輔助編輯器。
要更改模式,請選擇輔助彈出菜單中的某一項。(輔助彈出菜單是輔助編輯器跳轉欄中前進和後退按鈕右邊的第一個項目)
您可以通過點擊輔助編輯器窗格右上方的添加按鈕()來進一步分割輔助編輯器窗格。一旁的關閉按鈕()則將其關閉。
快速打開文件
選擇 File > Open Quickly 來查找一個定義特殊符號的文件,也可以選擇一個名稱含有特定字符的文件。Open Quickly 搜索欄不區分大小寫,並且搜索范圍僅限於當前項目和已激活的軟件開發包(SDK)。您可以在搜索結果列表中雙擊文件來打開它們。
要打開輔助編輯器窗格中的文件,請在雙擊時按住 Option 鍵。要在一個單獨的窗口中打開文件,請按下Option + shift 鍵。要查看能讓您指定應在何處打開文件的對話框,請按住 Option + shift 鍵並單擊。
使用手勢和快捷鍵
使用手勢和快捷鍵可以簡化並增強您對源代碼編輯器的使用。除了在 OS X 系統上常見的 Multi-Touch 手勢,下列這些手勢在源代碼編輯器中尤為適用:
兩指輕按可以打開編輯器的上下文菜單(還可以通過Control-click或使用鼠標左鍵單擊顯示)
兩指向上或向下輕掃垂直滾動,以及左右水平滾動。
三指輕掃導航欄可以在編輯器中打開任何文件。向左輕掃顯示前一個文件,向右輕掃顯示後一個文件。
鍵盤序列提供了很多在 Xcode 中常見的菜單命令快捷鍵。例如,按住 Shift + Command + O 鍵可以從 File 菜單中調用 Open Quickly 命令,按住 Shift + Command + D 鍵可以從 Navigate 菜單中調用 Jump 命令。還有一些在編輯操作中的快捷鍵。例如,Control + K 可以刪除從插入點到行尾的所有字符。
快捷鍵通過鍵值綁定來建立,您可以選擇 Xcode > Preferences 然後選擇 Key Bindings 來查看和修改快捷鍵。
在代碼中自動全局更改數據
Xcode 提供了幾種方法來適用於多行文本修改。您可以同時修改某一范圍內出現的所有相同的符號名稱,比如說局部變量或者參數名。將插入符放在您想要編輯的符號上,當三角形符號出現時,單擊它來顯示出菜單,然後選擇 Edit All in Scope。接下來編輯該符號。當您輸入新的內容後,該符號的所有實例都將同時改變。
通過選擇 Find > Find and Replace 來更改一個文件中的文本字符串實例。
您可以通過選擇項目中的 Find > Find and Replace 項來改變項目或者工作區中的文本字符串實例。這個命令將顯示查找導航器。您可以自定義其操作--例如限制搜索范圍,或者按大小寫來匹配字符串。查找導航器提供了一個預覽,允許您替換字符串的所有實例或者接受還是拒絕某一單獨替換。
您可以在搜索區使用通配符字符串模式。要進入該模式的某個部分,單擊查找檢索區左側的小三角形,然後選擇 Insert Pattern 。從模式彈出菜單中選擇一項。Xcode 將在查找到的字符串中的當前光標位置插入該通配符。
您可以重構您的代碼以改善其結構、增強易讀性和可維護性而不改變其行為。重構操作(也稱為變換)被應用到您在代碼編輯器中選擇的某個代碼片段或符號上。您可以重命名符號、提取代碼並放到方法中、創建父類、移動項目到父類或子類,以及在整個項目文件范圍內封裝變量。
在選擇完需要重構的代碼片段或符號後,選擇 Edit > Refactor,然後選擇合適的重構命令。預覽面板將顯示應用重構時代碼會出現的變化。在預覽對話框的左窗格中取消某個文件可以將其從重構操作中移除。您可以在預覽中直接編輯您的源代碼。所有的修改操作將在預覽中顯示,並且其會包含在重構操作中。
顯示符號的定義
將鼠標指針放到一個符號上,然後按住 Command 鍵並單擊來顯示這個符號的定義。源代碼編輯器將導航到該符號的定義中,並將其高亮顯示。如果該定義位於單獨的文件中,那麼代碼編輯器將會顯示這個文件(亦或者將鼠標指針放到符號上,然後選擇 Navigate > Jump to Definition)。
將鼠標指針放到一個符號上,然後按住 Command + Option 鍵並單擊,就可以在輔助編輯器窗格中顯示其定義,如截圖中所示的APALoadFramesFromAtlas函數。這個方法可以讓您在查看符號定義時保持該符號一直在視圖中。
使用代碼折疊來檢查代碼
您可以通過隱藏源代碼的其他部分,來讓自己更容易將注意力集中在源代碼的特定函數或方法上。選擇 Editor > Code Folding > Fold Methods & Functions。定位到您想要折疊的方法上,然後雙擊它的省略按鈕來折疊該方法。下面的截圖顯示了configureConnectedGameControllers方法的折疊。
將鼠標指針移動到編輯器左邊緣上,它將會在焦點框中顯示一個焦點范圍帶——比如說截圖中的for聲明。范圍外的代碼將會用陰影覆蓋。
欲了解更多詳細信息,請參閱Folding and Unfolding Source Code
自動配對花括號、圓括號以及方括號
Xcode 幫助您自動配對分隔符,比如:
將鼠標指針放在源代碼編輯器左邊緣的焦點范圍帶上。Xcode 高亮顯示該位置的括號范圍,如前面的屏幕截圖所示。
鍵入一個左括號,Xcode 將會在鍵入換行符之後插入右括號。
鍵入一個右括號或者其他分隔符,Xcode 將簡要強調其對應的分隔符。
使用向右箭頭鍵將插入點移動到結束分隔符後面,Xcode會暫時高量強調其對應的分隔符。
選擇 Editor > Structure > Balance Delimiter。Xcode 將選擇插入點附近的文本,其中包括最近的一組封閉分隔符。
雙擊任意一個分隔符。Xcode 將選中由分隔符以及其對應分隔符所封閉的全部文本。
欲了解更多詳細信息,請參閱Matching Pairs of Braces, Parentheses, and Brackets
選擇字體和文本顏色
Xcode 基於編程語言來分析代碼,並為每個標記或字符串分配一個句法標簽。例如,項目中的每一個注釋、關鍵字以及類名都將被定義。Xcode 為每個句法標簽類型分配一種顏色和字體以讓代碼易於閱讀。您可以通過選擇 Xcode > Preferences 然後選擇 Fonts & Colors 項來選擇多種字體和顏色。例如,Presentation 主題增加了字體大小以讓屏幕上的項目文本更易閱讀。您可以創建自定義的字體和顏色主題。
自定義編輯和縮進選項
您可以更改源代碼編輯和縮進設置,以適應您的喜好。選擇 Xcode > Preferences,然後選擇 Text Editing 來修改如下配置:
在源代碼編輯器邊列顯示行數
在您輸入後自動插入右括號
當您輸入代碼時顯示代碼補全建議
使用空格或制表符縮進
虛換行(soft-wrap)線
執行語法感知縮進
查找某個符號的相關文檔
您可以通過將插入點放到符號上來查看其參考文檔,比如說方法或屬性。在檢查器窗格工具欄中選擇 Quick Help 按鈕()。如果檢查器窗格沒有打開,那麼可在主工具欄中單擊該按鈕來以在工作區配置按鈕集中顯示該導航。符號的 Quick Help 項出現在工具區。
文檔信息包括針對該符號的完整參考文檔鏈接、聲明該符號的頭文件、相關的編程指南、以及相關的示例代碼。(按住 Option 單擊該符號,以查看彈出窗口中的信息概要,即聲明、符號的描述信息、其所有返回值、其可用的 SDK版本、頭文件以及相關參考文檔的鏈接)。
單擊 Quick Help 中的鏈接,Xcode 將會打開一個單獨的 Xcode 文檔查看器窗口。Xcode 的文檔查看起提供了訪問信息的快捷步驟,而無需將您的注意力從正在編輯的文件中離開。
除了詳細的框架API參考外,文檔查看器還包括蘋果工程師提供的完整編程指南、教程、示例代碼以及視頻演示。在類引用中單擊靠近查看器頂部的“More related items(更多相關項)”來跳轉到與您的任務相關的另一個文件中。
使用工具欄上的搜索欄來查找關於 API 或者編程概念的額外信息。
要在一個消息中內含一個指向該文檔的鏈接,單擊分享按鈕(),然後選擇電子郵件鏈接或信息。您可以在 Safari 中以 HTML 或 PDF 格式打開。對於示例代碼項目來說,單擊窗口頂部的 Open Project 來下載該項目然後在 Xcode 中打開。
使用源碼編輯器獲得幫助
可以在 Xcode 中直接顯示步進說明,以幫助執行常見的源碼編輯器任務。在源碼編輯器的任意位置按住Control單擊,便可以在一個列表中查看一系列常用指令。選擇 Show All Hlep Topics 以查看所有關於源代碼編輯器的幫助文章。選擇某一項任務,然後幫助文章將會出現在 Xcode 的文檔查看器窗口中。
您可以在Xcode中使用快捷菜單獲得Xcode幫助文章。在主界面任何地方按下Control鍵並單擊鼠標,則可以看到適用於該區域的幫助文章列表。