Delphi编辑器
在表面上,对IDE的第7个版本来说Delphi的编辑器看来似乎没有改变许多。 然而,在幕后,它是一个全新的工具。 除了用它来处理Object Pascal 语言(或者Delphi语言,Borland现在喜欢如此称呼它)的文件之外,你现在能使用它来处理其它用于Delphi开发(诸如SQL,xml,HTML,和XSL文件)的文件,还有其它语言(包括C ++和C# )的文件。 XML和HTML编辑在Delphi 6中已经可用了,但是在这一版本中有重大变化。 例如,当编辑一个HTML文件时,你有对于句法突出显示与代码完成的支持。
用在每一文件上的编辑器设置(包括像标签Tab这样的键的行为)依赖于所打开的文件的扩展名。 你能在新的编辑器属性对话框Editor PRoperties dialog box的新的Source Options page页中配置这些设置,如在图表 1.4中显示。这一特性已被扩展而且更开放,因此你能通过提供一个为了基于XML的文件格式的DTD或者写一个自定义向导为其它编程语言提供句法的突出显示。 编辑器的另一个特性,代码模板(code templates),现在是语言特性(你预定义的Delphi模板在HTML或者C#中将没什么感觉)。???
图表1.4:Delphi IDE所支持的多种语言能够与编辑器属性对话框(Editor Properties dialog box)的Source Options page页中的各种各样的扩展名相关联。
注释
C#是微软在其.NET架构中引入的新语言。Borland 被期待着在其自己.NET环境中支持C#,当前的编码名为伽利略。
仅仅考虑Delphi语言,被包括IDE里面的编辑在最近的版本中未改变许多。 然而,它有许多Delphi程序员所不了解并且不被使用的一些特性,因此我认为这值得对它进行一个简要考查。
Delphi编辑器允许你同时处理若干个文件,使用一个“notebook with tabs”隐喻(metaphor)。 你能从编辑器的一页的跳到相邻的一页,通过按下Ctrl+Tab 快捷键组合(或者是按下Ctrl+Shift+Tab快捷键组合向相反的方向移动)。 你能拖放(drag-and-drop )编辑器上部标有单元名称的标签来改变它们的排序,这样在任何给定的时间你能使用单一的Ctrl+Tab在你工作的单元之间移动。编辑器的快捷菜单也有一个Pages命令,在一个子菜单 (当许多单元被装载时这是一个非常方便的特性)中列出所有可供使用的页。
你也能打开多个编辑器窗口,每一窗口都拥有多个标签。 这样做是看见彼此傍靠的两个单元的源代码的唯一的方式。( (实际上,当我需要比较两个Delphi单元时,我总是使用 Beyond Compare—www.scootersoftware.com—一个最好的成本低廉的用于比照的用Delphi 编写的实用程序。)
几个选项影响编辑器,如你在图表 1.4中的编辑器属性对话框(Editor Properties dialog box)中所见。 然而,你不得不转向环境选项对话框(Environment Options dialog box )(见 图表 1.2)的Preferences page来页设置编辑器的AutoSave 特性。这一选项强迫编辑器在你运行程序时保存所有的源程序文件,以防止程序在调试器中崩溃时(这样的情况极少发生)的数据丢失。
Delphi的编辑器提供了许多命令,包括一些始于其WordStaremulation ancestry (早期的Turbo Pascal编译器的)。 我将不讨论各种编辑器的设置,因为它们非常直观而且在联机帮助中有描述。 然而,注意:只有你查找shortcuts索引项目时,描述键盘快捷键的帮助的页面作为一个整体说来是容易理解的。
技巧
要记住的一个技巧是使用Cut 和Paste命令不是移动源代码的唯一的方式。 你也能选择并且拖曳词汇,表达式,或者整个代码行。 此外,你能通过在拖曳时按下Ctrl键复制文本,不是移动它。
代码浏览器
代码探索者窗口,这在编辑的边上一般地被减少,列出所有类型,变量,和日常事务在一个单元定义,加上其它出现使用中的声明的单元。 对于复杂的若干类型,诸如类别,代码探索者能列出详尽的信息,包括领域,财产,和方法的一张列表。 一旦你开始在编辑中键入,所有信息被更新。
你能使用代码探索者来在编辑中驾驶。 如果你加倍单击代码探索者中的输入之一,编辑跳跃到相应的宣告。 你也能在代码探索者中直接修改变量,财产,和方法名称。 然而,如如果当你从事于你的类别时,你想要一个视觉的工具使用,你将看见,,ModelMaker提供许多更多特性。
虽然在你已使用Delphi几分钟之后,所有这一切功能是明显的,但是代码探索者的一些特性不是如此直觉的。 你有信息布局的充足控制。 同时,你能减少通常在这窗口中通过定制代码探索者(使树崩溃能帮助你更迅速制定你的选择)显示的树的深度。 你能通过使用相应的页的环境选择构成代码探索者,作为被领进来数字1.5的。