Delphi Code Editor有几个特性在编写大规模代码时非常有用。下面分别进行介绍:

原地址:http://www.cnblogs.com/pchmonster/category/343330.html

1、Code Templates(代码模板)

使用代码模板可把任意预定义代码(或正文)插入到单元文件中。当在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;

注意上面的管道符(|)。代码模板入中中的管道是一个位置标识符,它决定正文插入代码中光标所在位置。

Tip

如果对代码模板文件进行了大修改,一定要对修改过的代码模板文件进行备份,以备以后使用。因为当更新或重新安装Delphi时,Delphi安装程序会覆盖掉修改过的DELPHI32.DCI文件。

代码模板不仅仅只用于代码。例如下面的代码:

1
2
3
4
5
{****************************************************}
{*               Filename and Version               *}
{*         Copyright(C) pchmonster 2012        *}
{*               All rights reserved.               *}
{****************************************************}

这段注释版权信息基本是不变化的,因此可将它做成一个模板,以便在新创建的单元中快速将此版权信息添加进去。可以把日常编程中经常使用的正文做成代码模板。

2、Code Parameters(代码参数)

Code Editor的代码参数特性实现一个提示窗(Tooltip),给用户提示VCL方法或API函数所需的参数信息。有好几百个VCL方法和Windows API函数,要记住每个函数的参数是十分困难的。当用户键入一个方法名时,代码参数特性为用户显示该方法的参数,从而节省用户的事件。比如说调用SetBounds方法,当键入左括号后,弹出提示窗,如下图:

提示窗中列出了每个参数,马上要键入的参数以粗体显示,键入一个参数后,其后的参数又以粗体显示,直至输入完所有参数。待键入所有参数后,代码参数提示窗就会消失。可在“Environment Options”对话框的“Code Insight”页面设置代码参数选项。

3、Code Completion(代码完成)

加入一个类变量名和点操作符(.),Code Editor就会显示一个列表框,其中列出该类的所有属性和方法。比如说,有一个Memo组件,键入:

1
Memo.

并稍停顿一下,就会弹出如下的列表框:

接下来,可用两种方法来选择表中的项。

  • 方法一、用鼠标或键盘指定列表框中的一个属性或方法,按Enter键,则指定的属性和方法会被插入到代码中。
  • 方法二、键入要插入代码中的属性或方法的头几个字母,Delphi在列表框中查找与之匹配的属性或方法,并加亮显示最匹配输入字母的项,若这个项就是所要的属性或方法,按下Enter键盘即可插入到代码中。

若不想使用Code Completion列表框,按下键盘的ESC键,列表框就会消失。

Code Completion提供属性和方法列表供用户选择,从而节省用户事件,同时可以避免属性名、方法名的拼写错误及大小写错误。可以选定所要的属性或方法,按下Enter键,Delphi就会将它插入到代码中。

4、Tooltip Symbol Insight(工具提示)

把鼠标光标移到源代码中的任意标识符上,就会弹出一个提示框,例如,在任意标准工程中接口段,将光标定位到“TForm1 = Class(TForm)”上,会弹出如下的窗口:

这一行显示了TForm类声明,并告诉用户TForm是在Forms.pas单元的704行声明的。

该工具提示会告诉用户有关程序中任一变量的信息,当用户忘记了一个变量的类型时,使用这个功能会特别方便。

5、Class Completion(类完成)

在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特性在编写组件时,可节省许多时间,使用一段时间后,就会觉得再也离不开它了。

6、Module Navigation(模块导航)

它使用户能够从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段之间来回切换。

7、Module Browsing(模块浏览)

模块浏览是另一种模块导航工具。在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源代码可学到很多东西,不要害怕浏览源代码。

8、Using Bookmarks(使用书签)

可在代码中设置书签来临时标记在源代码中的位置。例如,经常要临时离开正工作着的一段代码去查看以前编写的代码或从另一个位置复制代码;在当前代码位置设上一个书签,然后离开去做其他事情,只需一次点击就能回到这个代码段。同一时间最多可设置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#书签所在位置。

书签都是临时性的,当关闭源文件并重新打开时,原来设置的书签就不存在了。还要注意,设置和删除书签必须用主键盘上的数字键,数字小键盘上的数字键不起作用。

9、Incremental Search(增量查找)

可使用增量查找选项来快速查找短字符序列。从主菜单【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键将错误输入到查找串中的字符删除。

10、Finding Matching Brackets and Parentheses(查找配对方括号和圆括号)

Code Editor还有一个特性,它可帮助用户查找与当前光标所指的方括号或圆括号想配对的方括号或圆括号。要查找配对方括号,可将光标移至一方括号处,按下键盘上的【Alt + [】,光标就会跳动到与这个方括号想配对的方括号处。

再按下【Alt + [】又会跳回到开始位置。查找圆括号与方括号使用相同的击键。有时可能迷失在圆括号和方括号的迷宫里,但现在应该能找到走出迷宫的路了。

Delphi Code Editor 之 几个特性(转)的更多相关文章

  1. Delphi Code Editor 之 几个特性

    Delphi Code Editor有几个特性在编写大规模代码时非常有用.下面分别进行介绍: 1.Code Templates(代码模板) 使用代码模板可把任意预定义代码(或正文)插入到单元文件中.当 ...

  2. Delphi Code Editor 之 编辑器选项

    Delphi Code Editor 之 编辑器选项 可从Code Editor的右键菜单中选择“Properties”菜单项来查看编辑器选项.也可以从主菜单[Tools | Editor Optio ...

  3. Delphi Code Editor 之 基本操作

    Delphi Code Editor 之 基本操作 毫无疑问,Delphi是高度可视化的.这是使用Delphi进行编程的最大好处之一.当然,任何一个有用的程序中都有大量手工编写的代码.当读者开始编写应 ...

  4. Delphi Code Editor 之 快捷菜单

    Code Editor的快捷菜单分为两个部分:编辑器菜单项和调试器菜单项. 调试器菜单项留作以后讲解调试应用程序时再讲,这里只讲讲Code Editor的编辑器快捷菜单项. 下面列出了全部菜单项及描述 ...

  5. Spyder code editor里的小秘密: 右侧高亮提示

    Spyder code editor里的小秘密: 右侧高亮提示 在spyder环境里, 混了那么长时间了. 可是对其代码编辑器右侧紧贴滚动条的高亮指示区, 还没有弄明白. 今天仔细研究和观察了一下, ...

  6. Taking a screen shot of a window using Delphi code is rather easy.

    Taking a screen shot of a window using Delphi code is rather easy. A screen shot (screen capture) is ...

  7. save a web page as a single file (mht format) using Delphi code

    Here's how to save a web page as a single file (mht format) using Delphi code: uses CDO_TLB, ADODB_T ...

  8. ace & web ide & web code editor

    ace & web ide & web code editor web ide https://ace.c9.io/ https://github.com/ajaxorg/ace ht ...

  9. web online code editor All In One

    web online code editor All In One 在线代码编辑器 Monaco Editor 摩纳哥编辑器 ️ 22.1k The Monaco Editor is the code ...

随机推荐

  1. WARNING: arch/arm/mach-omap2/built-in.o(.text+0x12cdc): Section mismatch in reference from the function mmc0_init() to the (unknown reference) .init.data:(unknown)

    解决方法,找到对应的不能使用 __init 字眼的地方,删除他即可. 最后删除 296 static struct omap2_hsmmc_info am335x_mmc[] __initdata = ...

  2. 常见JVM监控工具用法介绍

    VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力.所有这些都是免费的!它囊括的命令行工具包括jps,jstat,jmap,jinfo,jstack,JConso ...

  3. 浏览器向下兼容之polyfill[阅后即瞎]

    我们入门JavaScript的时候都写过polyfill: 比如手写一个弹窗, 手动模拟实现一个表格, 这些魔力的对象都是浏览器原生支持的, 虽然当我成为JS专家之后再也没造过轮子, 但是最近才发现我 ...

  4. 用 CSS 实现打印显示底色

    上一篇有讲到如何在浏览器端实现打印功能.后面发现有个问题,就是表格表头有背景颜色,但是实际打印出来无背景颜色.网上的方法主要有以下几种实现方式: 1.把背景颜色写成行内样式,如下图所示: 但是发现这样 ...

  5. 关于Cocos2d-x节点和精灵节点的坐标、位置以及大小的设置

    1.cocos2d-X中的坐标(0,0),就是运行框的左下角位置,所以运行框看起来就是一个第一象限. 2.节点的锚点就是我们setPosition所设定的位置,默认锚点是在节点的中心,也就是setPo ...

  6. Spring RestTemplate 小结

    关于RestTemplate 首先,你可以把它理解为一个发起请求并接收响应的工具类(功能类似浏览器). 其次,它其实是一个壳,具体还是通过调用别的接口来实现(如jdk自带的连接,或者HttpClien ...

  7. 3D游戏与计算机图形学中的数学方法-变换

    1变换 在3D游戏的整个开发过程中,通常需要以某种方式对一系列的向量进行变换.通常用到的变换包括平移,缩放和旋转. 1.1通用变换 通常可将n x n可逆矩阵M看成是一个从坐标系到另一个坐标系的变换矩 ...

  8. ueditor1_4_3_3编辑器的应用

    教程使用的是ueditor1_4_3_3版本. 首先到官网http://ueditor.baidu.com/website/download.html下载jsp  utf-8版 下载好以后,解压,把解 ...

  9. GC浅析之三-性能调优经验总结

    性能调优经验总结 问题的出现: 在日常环境下,以某server 为例,该机器的每秒的访问量均值在368左右,最大访问量在913.对外提供服务的表现为每两三个小时就有秒级别的时间客户端请求超时,在访问量 ...

  10. 浅谈session测试

    Session 是用于保持状态的基于 Web 服务器的方法,在 Web 服务器上保持用户的状态信息供在任何时间从任何页访问.Session 允许通过将对象存储在 Web 服务器的内存中在整个用户会话过 ...