Delphi Code Editor 之 基本操作
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 之 基本操作的更多相关文章
- Delphi Code Editor 之 编辑器选项
Delphi Code Editor 之 编辑器选项 可从Code Editor的右键菜单中选择“Properties”菜单项来查看编辑器选项.也可以从主菜单[Tools | Editor Optio ...
- Delphi Code Editor 之 几个特性
Delphi Code Editor有几个特性在编写大规模代码时非常有用.下面分别进行介绍: 1.Code Templates(代码模板) 使用代码模板可把任意预定义代码(或正文)插入到单元文件中.当 ...
- Delphi Code Editor 之 几个特性(转)
Delphi Code Editor有几个特性在编写大规模代码时非常有用.下面分别进行介绍: 原地址:http://www.cnblogs.com/pchmonster/category/343330 ...
- Delphi Code Editor 之 快捷菜单
Code Editor的快捷菜单分为两个部分:编辑器菜单项和调试器菜单项. 调试器菜单项留作以后讲解调试应用程序时再讲,这里只讲讲Code Editor的编辑器快捷菜单项. 下面列出了全部菜单项及描述 ...
- Spyder code editor里的小秘密: 右侧高亮提示
Spyder code editor里的小秘密: 右侧高亮提示 在spyder环境里, 混了那么长时间了. 可是对其代码编辑器右侧紧贴滚动条的高亮指示区, 还没有弄明白. 今天仔细研究和观察了一下, ...
- 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 ...
- 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 ...
- ace & web ide & web code editor
ace & web ide & web code editor web ide https://ace.c9.io/ https://github.com/ajaxorg/ace ht ...
- web online code editor All In One
web online code editor All In One 在线代码编辑器 Monaco Editor 摩纳哥编辑器 ️ 22.1k The Monaco Editor is the code ...
随机推荐
- 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 ...
- CI框架 -- 核心文件 之 Lang.php(加载语言包)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class CI_Lang { var $l ...
- Java获取正在执行的函数名
利用StackTrace堆栈轨迹获取某个时间的调用堆栈状态. package com.dsp.demo; public class TechDemo { public static void main ...
- android位移动画的两种实现方式
在android开发,我们会常常使用到位移动画,普通情况下位移动画有两种实现方式.一种是直接通过java代码去实现,第二种是通过配置文件实现动画,以下是两种动画的基本是用法: 纯Java代码实现: / ...
- Android中利用C++处理Bitmap对象
相信有些Android&图像算法开发者和我一样,遇到过这样的状况:要对Bitmap对象做一些密集计算(例如逐像素的滤波),但是在java层写循环代码来逐像素操作明显是不现实的,因为Java代码 ...
- js 去掉重复数组
js去掉重复数组 重点一:字符串转数组 strArr.join(',') 重点二:做循环数组删除的时候,每次循环就把color[i] 去对比i之前所有数组color组合起来的字符串 比如 : i=1 ...
- Linux服务器安装svn
云安装 yum install subversion 配置 1.配置仓库 [root@localhost /]# cd /home [root@localhost home]# mkdir svn [ ...
- window 平台上面解决不能动态php_mysqli.dll
今天在新服务器部署PHP+APACHE环境,启动的时候报错: PHP Startup: Unable to load dynamic library :php_mysqli.dll 解决办法: 把PH ...
- vs2012修复问题
多装了一个.net framework4.5.1结果vs不能拥,借用了下面这个工具将vs2012从注册表中删除了 就能重装了 http://www.auslogics.com/en/software/ ...
- linux定时任务cron配置[转]
实现linux定时任务有:cron.anacron.at等,这里主要介绍cron服务. 名词解释: cron是服务名称,crond是后台进程,crontab则是定制好的计划任务表. 软件包安装: 要使 ...