Delphi Code Editor有幾個特性在編寫大規模代碼時很是有用。下面分別進行介紹:編程
使用代碼模板可把任意預約義代碼(或正文)插入到單元文件中。當在Code Editor中編輯代碼時,按下鍵盤的【Ctrl + J】,就可以使用代碼模板;此時會彈出一個列表框,其中列出了可供選擇的模板。從列表中選取一個模板,按下Enter鍵,與所選模板相對應的正文就會被插入到單元文件中。以下圖:瀏覽器
能夠經過「Environment Options」對話框的「Code Insight」頁面來增長新模板或編輯現有模板;固然,也能夠用文本編輯器打開代碼模板文件,編輯其中的代碼模板。代碼模板文件爲DELPHI32.DCI,位於Delphi安裝目錄下Bin目錄中。編輯器
可自由修改代碼模板。例如,能夠這樣修改表明for語句的代碼模板:函數
1
2
3
4
|
for I := 0 to Pred(|) do
begin
end;
|
注意上面的管道符(|)。代碼模板入中中的管道是一個位置標識符,它決定正文插入代碼中光標所在位置。工具
Tipspa
若是對代碼模板文件進行了大修改,必定要對修改過的代碼模板文件進行備份,以備之後使用。由於當更新或從新安裝Delphi時,Delphi安裝程序會覆蓋掉修改過的DELPHI32.DCI文件。3d
代碼模板不只僅只用於代碼。例以下面的代碼:code
1
2
3
4
5
|
{****************************************************}
{* Filename and Version *}
{* Copyright(C) pchmonster 2012 *}
{* All rights reserved. *}
{****************************************************}
|
這段註釋版權信息基本是不變化的,所以可將它作成一個模板,以便在新建立的單元中快速將此版權信息添加進去。能夠把平常編程中常用的正文作成代碼模板。orm
Code Editor的代碼參數特性實現一個提示窗(Tooltip),給用戶提示VCL方法或API函數所需的參數信息。有好幾百個VCL方法和Windows API函數,要記住每一個函數的參數是十分困難的。當用戶鍵入一個方法名時,代碼參數特性爲用戶顯示該方法的參數,從而節省用戶的事件。好比說調用SetBounds方法,當鍵入左括號後,彈出提示窗,以下圖:blog
提示窗中列出了每一個參數,立刻要鍵入的參數以粗體顯示,鍵入一個參數後,其後的參數又以粗體顯示,直至輸入完全部參數。待鍵入全部參數後,代碼參數提示窗就會消失。可在「Environment Options」對話框的「Code Insight」頁面設置代碼參數選項。
加入一個類變量名和點操做符(.),Code Editor就會顯示一個列表框,其中列出該類的全部屬性和方法。好比說,有一個Memo組件,鍵入:
1
|
Memo.
|
並稍停頓一下,就會彈出以下的列表框:
接下來,可用兩種方法來選擇表中的項。
若不想使用Code Completion列表框,按下鍵盤的ESC鍵,列表框就會消失。
Code Completion提供屬性和方法列表供用戶選擇,從而節省用戶事件,同時能夠避免屬性名、方法名的拼寫錯誤及大小寫錯誤。能夠選定所要的屬性或方法,按下Enter鍵,Delphi就會將它插入到代碼中。
把鼠標光標移到源代碼中的任意標識符上,就會彈出一個提示框,例如,在任意標準工程中接口段,將光標定位到「TForm1 = Class(TForm)」上,會彈出以下的窗口:
這一行顯示了TForm類聲明,並告訴用戶TForm是在Forms.pas單元的704行聲明的。
該工具提示會告訴用戶有關程序中任一變量的信息,當用戶忘記了一個變量的類型時,使用這個功能會特別方便。
在interface接口段中鍵入一方法或屬性的聲明後,並按下【Ctrl + Shift + C】,Delphi就會把必須的代碼加到implementation實現段中,從而完成這個類。下面經過簡單的聯繫來熟悉這個特性:
(1)啓動一個空工程。
(2)切換到Code Editor中,找到interface接口段中的窗體類聲明。
(3)在該窗體類聲明中的public段中鍵入如下代碼:
(4)按下【Ctrl + Shift + C】組合鍵,Delphi自動將Test和GetSomething方法的代碼添加到implementation段中了,並將光標定位到第一個方法中。以下圖:
Class Completion適用於屬性聲明和方法。鍵入一個屬性聲明,按下【Ctrl + Shift + C】鍵,Delphi就會自動完成該屬性的聲明。它還能爲屬性添加一個write方法。如今理解這個write方法有點困難,在之後的講解中能編寫本身的組件後,就會明白的。
Class Completion特性在編寫組件時,可節省許多時間,使用一段時間後,就會以爲再也離不開它了。
它使用戶可以從implementation段中一個方法快速移動到interface段中該方法聲明處;反過來也能夠。仍是作個練習來講明它把。
(1)找到上面的練習,咱們修改過窗體的類聲明,添加了GetSomething和Test方法過程;
(2)點擊包含Test過程的聲明的行;
(3)而後按下【Ctrl + Shift + 向下箭頭】組合鍵,Code Editor就會跳到implementation段中的Test過程代碼處;
(4)按下【Ctrl + Shift + 向上箭頭】組合鍵,Code Editor又會跳到interface段中Test過程的聲明處;
使用模塊導航,能方便的在implementation段和interface段之間快速移動。
Tip
用上箭頭或下箭頭可有可無,使用其中任一個按鈕均可在interface段和implementation段之間來回切換。
模塊瀏覽是另外一種模塊導航工具。在Code Editor中,按住【Ctrl】鍵,把鼠標光標置於一個標識符名上,該標識符就會以藍色加亮顯示並加上下劃線;點擊這個標識符,Delphi會告之該標識符聲明在源代碼中的位置。
模塊瀏覽類相似模塊導航特性。可是除此以外,模塊瀏覽還有其餘做用。用模塊瀏覽既可點擊VCL標識符,也可點擊本身的標識符。下面舉例子說明。
1)建立一個新應用程序,在其窗體上放置一個Button組件和一個Memo組件。
2)從主菜單上選擇【Project | Options】。點擊「Project Options」對話框中的「Directories/Conditionals」標籤。在「Search Path」字段中輸入如下內容:
1
|
$(DELPHI)\Source\Vcl;$(DELPHI)\Source\Rtl\Win
|
點擊OK關閉「Project Options」對話框。
3)雙擊窗體上的Button1按鈕,爲其添加OnClick事件處理程序以下:
TMemo的Clear方法清除Memo內容,你們是否是很想知道Clear方法的VCL源代碼是啥摸樣?請繼續往下看。
4)按住鍵盤上Ctrl鍵,並點擊Clear。以下圖:
5)稍等片刻後,Code Editor顯示出VCL stdCtrls單元,光標停在TCustomEdit.Clear方法上(這個Clear方法定義在TCustomEdit類中,該類是TMemo的祖先類之一)。Clear方法就是下面的這個樣子:
是否是頗有趣?只有一行代碼。但SetWindowText來自何方呢?請繼續看下一步。
6)按住Ctrl鍵,點擊SetWindowText。
幾秒鐘後,Windows單元被打開,光標在下面的行上,以下圖:
上面划着紅線的一行告訴咱們,SetWindowText是一個Windows函數,它包含在USER32動態連接庫中。
7)請看Code Editor窗口的右上角有back和next兩個瀏覽按鈕。點擊back按鈕,Code Editor切換到前一個瀏覽點(StdCtrls中的Clear方法)。
8)點擊next按鈕,Code Editor顯示SetWindowText在Windows單元入口。
9)點擊緊靠Back按鈕的下拉箭頭,瀏覽器記載表中會出現源代碼單元。點擊其中一個單元可將Code Editor切換到這個單元。
模塊瀏覽器是一個強有力的工具,不只能導航用戶本身的代碼,還能導航VCL源代碼及用戶安裝的第三方組件庫的源代碼。記住:經過閱讀VCL源代碼可學到不少東西,不要懼怕瀏覽源代碼。
可在代碼中設置書籤來臨時標記在源代碼中的位置。例如,常常要臨時離開正工做着的一段代碼去查看之前編寫的代碼或從另外一個位置複製代碼;在當前代碼位置設上一個書籤,而後離開去作其餘事情,只需一次點擊就能回到這個代碼段。同一時間最多可設置10個書籤。
要離開某個位置設置書籤,按【Ctrl + Shift + 書籤號】。例如,要設置0號書籤(第一個書籤),把編輯器光標移到要作標記的位置,按下【Ctrl + Shift + 0】或【Ctrl + K + 0】。設置好書籤後,Code Editor的溝槽中會顯示一個圖標來指示書籤所在行,該圖標顯示書籤號。以下圖:
要回到書籤處,按【Ctrl + 書籤號】就能夠了,例如【Ctrl + 1】返回到1號書籤處。也能夠在Code Editor的右鍵菜單中設置書籤和返回書籤。要清除一個書籤,可將編輯器光標定位到書籤所在行,再次按下【Ctrl + Shift + 書籤號】就能夠清除。
Note
能夠爲Code Editor中打開的每一個文件設置書籤。例如,能夠在一個源代碼中設置1#書籤,在另外一個源文件中也設置1#書籤。這意味着書籤不能跨源文件查找。若是在Unit1.pas中設置1#書籤,則在Unit2.pas中按【Ctrl + 1】是不能返回到Unit1.pas中1#書籤所在位置。
書籤都是臨時性的,當關閉源文件並從新打開時,原來設置的書籤就不存在了。還要注意,設置和刪除書籤必須用主鍵盤上的數字鍵,數字小鍵盤上的數字鍵不起做用。
可以使用增量查找選項來快速查找短字符序列。從主菜單【Search | Incremental Search】菜單項或者按【Ctrl + E】來啓動增量查找。要理解增量查找如何工做,最好的方式仍是作一個練習,請按下面的步驟操做:
1)用「Object Repository」建立一個新文本文件;
2)輸入如下正文:
1
2
3
4
|
Learning to write Windows
Programs a bit at a time
is not so bad. Isn't it
time you go back to work?
|
3)移動光標到該文件頭【Ctrl + Home】;
4)按【Ctrl + E】啓動增量查找,要查找「back」。注意此時Code Editor狀態欄顯示「Searching for:」;
5)從鍵盤輸入一個b。字bit中的字母b被加亮顯示,但這不是要查找的。
6)從鍵盤輸入一個a。此次加亮顯示的是bad中的ba,仍不是要查找的。
7)從鍵盤輸入一個c。字back中的bac加亮顯示,
此時鍵入k,Code Editor狀態欄顯示「Searching for:back」,且back被加亮顯示。這樣就找到了要查找的內容。
8)按鍵盤上的【Esc】鍵,中止增量搜索。
這就是與此有關的所有內容。當要查找的正文比較短時,使用增量查找是很方便的。
Tip
在執行增量查找期間,若輸入了錯誤的字符,可用Backspace鍵將錯誤輸入到查找串中的字符刪除。
Code Editor還有一個特性,它可幫助用戶查找與當前光標所指的方括號或圓括號想配對的方括號或圓括號。要查找配對方括號,可將光標移至一方括號處,按下鍵盤上的【Alt + [】,光標就會跳動到與這個方括號想配對的方括號處。
再按下【Alt + [】又會跳回到開始位置。查找圓括號與方括號使用相同的擊鍵。有時可能迷失在圓括號和方括號的迷宮裏,但如今應該能找到走出迷宮的路了。