Delphi Code Editor 之 基本操作

毫无疑问,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环境下进行。

Delphi Code Editor 之 基本操作的更多相关文章

  1. Delphi Code Editor 之 编辑器选项

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

  2. Delphi Code Editor 之 几个特性

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

  3. Delphi Code Editor 之 几个特性(转)

    Delphi Code Editor有几个特性在编写大规模代码时非常有用.下面分别进行介绍: 原地址:http://www.cnblogs.com/pchmonster/category/343330 ...

  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. e611. Setting Focus Traversal Keys for the Entire Application

    This example changes the focus traversal keys for the entire application. For an example of how to c ...

  2. CI框架 -- 核心文件 之 Lang.php(加载语言包)

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class CI_Lang { var $l ...

  3. Java获取正在执行的函数名

    利用StackTrace堆栈轨迹获取某个时间的调用堆栈状态. package com.dsp.demo; public class TechDemo { public static void main ...

  4. android位移动画的两种实现方式

    在android开发,我们会常常使用到位移动画,普通情况下位移动画有两种实现方式.一种是直接通过java代码去实现,第二种是通过配置文件实现动画,以下是两种动画的基本是用法: 纯Java代码实现: / ...

  5. Android中利用C++处理Bitmap对象

    相信有些Android&图像算法开发者和我一样,遇到过这样的状况:要对Bitmap对象做一些密集计算(例如逐像素的滤波),但是在java层写循环代码来逐像素操作明显是不现实的,因为Java代码 ...

  6. js 去掉重复数组

    js去掉重复数组 重点一:字符串转数组  strArr.join(',') 重点二:做循环数组删除的时候,每次循环就把color[i] 去对比i之前所有数组color组合起来的字符串 比如 : i=1 ...

  7. Linux服务器安装svn

    云安装 yum install subversion 配置 1.配置仓库 [root@localhost /]# cd /home [root@localhost home]# mkdir svn [ ...

  8. window 平台上面解决不能动态php_mysqli.dll

    今天在新服务器部署PHP+APACHE环境,启动的时候报错: PHP Startup: Unable to load dynamic library :php_mysqli.dll 解决办法: 把PH ...

  9. vs2012修复问题

    多装了一个.net framework4.5.1结果vs不能拥,借用了下面这个工具将vs2012从注册表中删除了 就能重装了 http://www.auslogics.com/en/software/ ...

  10. linux定时任务cron配置[转]

    实现linux定时任务有:cron.anacron.at等,这里主要介绍cron服务. 名词解释: cron是服务名称,crond是后台进程,crontab则是定制好的计划任务表. 软件包安装: 要使 ...