毫無疑問,Delphi是高度可視化的。這是使用Delphi進行編程的最大好處之一。當然,任何一個有用的程序中都有大量手工編寫的代碼。當讀者開始編寫應用程序的UI部分后,可能會多花些事件來學習Delphi Code Editor。Code Editor有些特性,當大家知道后,一定會喜歡的。
我們將從四個方面進行介紹:
- 基本的編輯器操作(Basic Editor Operations)
- 專用編輯器特性(Specialized editor features)
- Code Editor快捷菜單(The Code Editor context menu)
- 修改編輯器選項(Changing the editor options)
Note
Delphi Code Editor允許用戶從多種鍵盤映射配置:Default, IDE Classic, BRIEF,Epsilon,Visual Studio, Visual Basic等中選擇一種。如下圖,從【Tools | Editor Options…】中的“Key Mappings”中設置。我們默認選擇“Default”映射。
編輯器基本操作
對於基本的輸入、刪除文本、用鼠標加亮顯示文本,剪貼、復制、粘貼等等,此處不再介紹了。
Delphi Code Editor是一個典型的代碼編輯器,其外部特征是語法加亮顯示,這使得關鍵字、字符串、數值常量和注釋的識別一目了然。如下圖:
Code Editor是一個多頁面窗口,可同時打開多個編輯器窗口。每個窗口由位於編輯器窗口頂部的一個標簽(Tab)代表,標簽上顯示文件名。要切換到某個源文件,可點擊與要查看的文件相對應的標簽。如果標簽太多一次顯示不下,會出現滾動按鈕,因而可使用滾動按鈕來顯示全部標簽。
位於Code Editor底部的狀態欄顯示狀態信息,當前行號和光標在當前行的位置顯示在狀態欄的左邊。如果自上次保存文件后又修改了文件,則狀態欄中部會顯示Modified。狀態欄右部顯示當前模式,要么是Insert,要么是Overwrite。如果文件是只讀文件,則狀態欄右部會顯示“Read Only”。
編輯器窗口的左邊緣有一個灰色條,叫做溝槽,它用於顯示開發過程中不同階段的圖標。例如上圖中,當設置一個調試器斷點時,溝槽中會顯示一個紅點;當設置一個書簽時,代表該書簽的圖標會出現在溝槽中。
Note
如果在選擇文本或放置光標是,偶然點擊了一下溝槽,該行就會設置上一個斷點,再點擊溝槽即可清除斷點。
1、打開和保存文件(Opening and Saving Files)
在Code Editor中打開和保存文件沒有任何神秘之處。但要指出的是,打開工程與打開源文件是有區別的。
當從主菜單選擇【File | Open Project…】菜單項時,系統會提示輸入要打開的工程文件名;當從主菜單選擇【File | Open】菜單項時,可打開單個的Delphi源文件或窗體文件。實際上,可以打開任何類型的文本文件。
Note
如果打開一個包含窗體的單元文件,Delphi會在Code Editor中打開源文件,並在Form Designer中打開窗體。
也可以一次打開多個文件。在Open對話框中選擇要打開的多個文件,然后點擊OK就可以將所選文件都打開;所選的每個文件都將被裝入,並在編輯器窗口頂部為每個打開的文件放置一個標簽。
Tip
也可以用鼠標拖放來打開文件。例如,在Windows資源管理器中選擇一個或多個文件,把它們拖放到Code Editor中,則它們就會在Code Editor中打開。
要保存文件,可從主菜單選擇【File | Save】或【File | Save As】菜單項,也可以從鍵盤敲擊Ctrl + S來實現。若文件以前從未保存過,則會彈出“Save As”對話框,此時可以輸入文件名。
2、加亮顯示正文(Highlighting Text)
盡管加亮顯示時基本的操作,但是還是要介紹幾條基本加亮顯示記錄,以便大家在Code Editor中方便使用。
要加亮顯示一小塊文本,可以鼠標從要加亮顯示的正文中選擇即可,選擇后,可根據需要剪切、復制和粘貼所選正文。如下,選擇了“Application.Hint”:
要加亮顯示大塊的代碼,可先在要加亮顯示的快開始處點擊鼠標,然后按住鍵盤的Shift鍵,同時在塊的結束位置再點擊一下鼠標。如下選擇“FormCreate”過程:
還可以加亮顯示如下的塊代碼,操作方法是【Shift + Alt + 方向鍵】或者按住Alt鍵拖動鼠標選擇,效果如下:
另一個有用的特性是快速選擇字,要選擇關鍵字、函數名或變量名,只需要用鼠標雙擊該字,然后就可以對加亮的字進行任意的編輯操作了。如下圖,雙擊選擇了“OnHint”字:
Tip
要用鼠標選取一行代碼,可在該行開頭單擊鼠標,然后拖動鼠標到下一行的起點。
如果用鍵盤來選取一行代碼,先按下Home鍵把光標移動到行的開頭,然后用【Shift + 向下箭頭】加亮顯示該行。
鍵盤上有許多的快捷鍵用於加亮顯示正文以及做其他的編輯工作。鍵盤快捷鍵的完整列表可查閱Delphi聯機幫助。
Tip
有時需要縮排整塊代碼;有時又需要為整塊代碼撤銷縮排。要縮排代碼塊,可先加亮顯示要縮排的行,然后在鍵盤上按下【Ctrl + Shift + I】;要撤銷縮排,從鍵盤上按下【Ctrl + Shift + U】。
Code Editor支持拖放編輯,要移動一段代碼,先加亮顯示它,然后把鼠標光標移到加亮顯示的正文上並拖動鼠標,當光標到達要放置代碼的位置時釋放鼠標按鍵,這段代碼就被移動到了新位置。復制代碼與移動代碼的操作差不多,只是在放下代碼前按住Ctrl鍵盤。
3、Undo撤銷(Undo)
Code Editor的Undo撤銷層數實際上沒有限制(缺省是32767)。通常,只能撤銷最近一次保存文件后的命令;通過修改編輯器的選項,能夠做到,在保存文件后還能撤銷保存文件之前的命令。
總而言之,要記住一條簡單規則:Undo是你的朋友。
4、查找和替換(Find and Replace)
Find和Replace在編程中使用十分頻繁。可以用Find查找代碼中的一小段代碼或某個變量;可以用Replace來改變一個變量名或一個方法名。Find和Replace的用法不勝枚舉。
Delphi Find Text和Replace Text對話框實現了比較標准的查找替換操作。要調出Find Text對話框,可以從主菜單選擇【Search | Find】菜單項或按下【Ctrl + F】,如下圖:
在“Text to find”字段中輸入要查找的文本,點擊OK鍵盤即可開始查找。如找到要查找的文本,文本會加亮顯示。
Note
用Find Text對話框加亮顯示的正文與用鼠標加亮顯示的正文是不一樣的。查找找到的正文是以黑色加亮顯示的,而用鼠標選定的文本是以藍色加亮顯示的。如下圖:
查找操作加亮顯示的正文不是用於編輯,而是看起來更加方便。
從主菜單上選擇【Search | Replace】菜單項或按下【Ctrl + R】來調出“Replace Text”對話框,如下圖:
Delphi的“Replace Text”對話框和“File Text”對話框選項大同小異。
當要查找的正文不是一個字或變量的一部分時,使用“Whole words only”選項。例如,要用MyForm替換Form,由於其他的變量名(如TForm)可能在其中,因此要用整字查找替換。
當選中“Regular expressions”后,就可以在“Text to find”中使用特殊字符和通配符。關於“Regular Expressions”的完整說明,請查看Delphi聯機幫助。
在替換正文時,選中“Prompt on replace”是最安全的。此時執行“Replace All”操作,編輯器會加亮顯示每個查找到的字,並提示是否要替換它。做“Replace All”操作時容易搞錯,所以要多加小心,還是要記住“Undo是你的朋友”。
5、文件中查找(Find in Files)
“Find in Files”是一個強有力的工具,用於查找多個文件中的正文。經常使用“Find in Files”到VCL源代碼中去查找某個方法、變量或類。這是一個既方便又實用的工具,大家要努力學會使用這個工具。
要使用“Find in Files”,可從主菜單中選擇【Search | Find in Files】菜單項,也可從鍵盤按【Ctrl + F】顯示出“Find Text”對話框並點擊“Find in Files”標簽。如下圖:
“Find in Files”使用的查找選項與普通的“Find”操作使用的選項相同。另外可選擇的就是“Where”選項,是從一個工程全部文件中查找,還是從打開的文件中查找,還是從某個目錄下(包括子目錄)全部文件中查找。
當啟動“Find in Files”時,在屏幕的右下角會有一個標題為“Searching”的小窗口。該窗口顯示“Find in Files”操作的狀態,其中包括當前正在查找的文件和匹配的次數。關閉Searching窗口即可取消查找。
所有的匹配情況都會顯示在Code Editor的消息窗口中。如下:
消息窗口中顯示查找到的正文所在文件的文件名、所在行的行號,所在行的內容(其中要查找的正文會以粗體顯示)。要查看包含匹配文本的文件,雙擊消息窗中一行,Delphi會打開當前行所在文件,並定位到包含查找內容的行。
在指定“file mask”時,所有的通配符都是適用的。例如,要搜索一個目錄下所有的文本文件,可在“file mask”中輸入“c:\mywork\*.txt”。
“Find in Files”是必不可少的工具,可經常使用它。學會使用“Find in Files”可節省很多時間。
6、獲取幫助(Getting Help)
Code Editor的最有用的特性之一就是在其中集成了Delphi幫助系統。將編輯器光標移到一個關鍵字、一個VCL屬性或方法上,按下F1鍵,如果Delphi幫助文件中包含光標所在位置的正文的幫助信息的話,Windows Help就顯示相應的幫助內容;若不存在,則顯示一個出錯信息。
當忘記了如何使用Delphi、Object Pascal或VCL的某一方面內容時,這一特性就更為有用。只要敲擊F1,就能獲取幫助。
以上講解均在Delphi7環境下進行。