Delphi提高开发效率之GExperts专家的使用说明
<p>GExperts是一组通过扩展集成开发环境(IDE)来提高Delphi和C++ Builer程序员工作效率的工具。是一款开源的IDE扩展专家,由于去外网下载GExperts非常的麻烦,这里直接提供了Delphi7和Delphi11.1下的GExperts安装包,并连带最新源码一起打包,方便大家使用学习。<br>下面直接看他具有哪些功能,留下实用的功能,去掉非必要的功能。<br>文章目录<br>1、(Ascii字符表)ASCII Chart专家<br>2、(备份项目)Backup Project专家<br>3、(浏览类成员)Class Browser专家<br>4、(清理垃圾文件)Clean Directories专家<br>5、(剪贴板历史)Clipboard History专家<br>6、(代码收集)Code Librarian专家<br>7、(代码纠错)Code Proofreader专家<br>8、(组件属性批量编辑)Component Grid专家<br>9、(生成组件创建代码)Components to Code专家<br>10、(批量复制组件名)Copy Component Names专家<br>11、(开启、禁用所有专家)Expert Manager专家<br>12、(文件收藏)Favorite Files专家<br>13、(查找控件在源码的参考)Find Component Reference专家<br>14、(文件搜索)Grep Search专家<br>15、(隐藏显示非可视化组件)Hide/Show Non-Visual Components专家<br>16、(重置菜单快捷键)IDE Menu Shortcuts专家<br>17、(键盘宏库)Keyboard Macros Library专家<br>18、(消息对话框)Message Dialog专家<br>19、(打开文件)Open File专家<br>20、(文件头信息)PE Information专家<br>21、(修改界面布局)Perfect Layout专家<br>22、(过程列表)Procedure List<br>23、(项目文件调用关系分析)Project Dependencies专家<br>24、(工程选项设置)Project Option Sets专家<br>25、(重命名控件)Rename Components专家<br>26、(替换控件)Replace Components专家<br>27、(设置Tab选择控件的顺序)Set Tab Order专家<br>28、(带格式输出源码)Source Export<br>29、(计划工作列表)To Do List<br>1、(Ascii字符表)ASCII Chart专家<br>实现了字符与Ascii码互相转换,并且可以切换十六进制或者十进制。</p><p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316093645127-962596804.png" alt="" loading="lazy"></p>
<p> 然而cnpack专家中也具有该功能:</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316093700252-1878218210.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>2、(备份项目)Backup Project专家<br>可以对整个项目备份成压缩文件</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316093736329-1968081495.png" alt="" loading="lazy"></p>
<p> </p>
<p>同样cnpack具有相同功能,而且此功能更适合本土程序员。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316093749134-555834478.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>3、(浏览类成员)Class Browser专家<br>可以对项目中的所有类提取出来,方便查看类中的每个成员,强大的筛选功能,在分析别人源代码时非常有用,并且还有打印功能。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316093814010-1644839361.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>4、(清理垃圾文件)Clean Directories专家<br>编译程序的过程中会产生一些垃圾文件,该功能可以一键清理。需要清理的垃圾文件的各种格式是可以自定义的。想当年都是用批处理删垃圾文件的。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316093849823-304634808.png" alt="" loading="lazy"></p>
<p> </p>
<p>如此重要的功能cnpack中也是有的</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316093903950-1859444821.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>5、(剪贴板历史)Clipboard History专家<br>剪贴板记录。这个功能也是非常实用的,它可以将每一次剪贴动作都记录下来,当你需要的时候,就可以快速查找到所需要的内容,在进行比较复杂的编辑时,你再也不需要因为剪贴板只能保存一次内容而犯愁了,这个功能可以为你保存最近的20次使用情况,如果你需要,还可以保存更多。因为它采用了在列表框中显示剪贴的首行内容和文本框中显示全部内容,所以,既不占用太多屏幕空间,又可以做到一目了然。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316093929846-1529204914.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>6、(代码收集)Code Librarian专家<br>在编程中经常整理可重用的代码是个很好的编程习惯,而Code Librarian专家可以让这一切变得更轻松。它由两个面板组成,左侧的面板设定代码分类,而右侧面板用来显示代码。 Code Librarian还支持库中代码同IDE之间的相互复制。另外点击Find按钮我们可以按代码或标题进行查找。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316093954984-84507427.png" alt="" loading="lazy"></p>
<p> </p>
<p>cnpack中与其类似的功能是源码模板。Code Librarian与源码模板都是两个非常好用的功能。Code Librarian注重源码的收集、查找。源码模板注重源码、注释等的模板快速输入。</p>
<p>7、(代码纠错)Code Proofreader专家<br>可以自动修正你在Delphi编程过程中的打字错误,纠正错误的时候会有提示音,我们可以自定义它。<br>自动纠正功能中:<br>比如误输入了;=赋值符号 会自动纠正为:=<br>比如输入smg加空格会动的替换成ShowMessage(‘’);</p>
<p>字典纠正功能中:<br>输入intostr会自动纠正为IntToStr,连大小写都帮你纠正好了。</p>
<p>每次纠正都会记录下来。简单来说既有纠正功能,又可以通过输入缩写完成长代码的输入。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094022542-2105978485.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>8、(组件属性批量编辑)Component Grid专家<br>这个专家允许开发者很方便地集中批量编辑所有控件的Tag、HelpContext、Hint属性,而不用麻烦的手工一个个修改。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094052018-961958807.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>9、(生成组件创建代码)Components to Code专家<br>这个专家允许我们把当前选定的多个控件转化合适的代码并复制到剪贴板上,其中代码的属性部分是完全根据控件的属性来生成的,在我们想要动态建立一个控件时可以节省我们敲代码的时间,比如我选定一个TButton控件后,运行专家会生成如下代码:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 128, 1)"> 1</span> <span style="color: rgba(0, 0, 255, 1)">var</span>
<span style="color: rgba(0, 128, 128, 1)"> 2</span> <span style="color: rgba(0, 0, 0, 1)">Button1: TButton;
</span><span style="color: rgba(0, 128, 128, 1)"> 3</span>
<span style="color: rgba(0, 128, 128, 1)"> 4</span> Button1 := TButton.<span style="color: rgba(0, 0, 255, 1)">Create</span><span style="color: rgba(0, 0, 0, 1)">(Self);
</span><span style="color: rgba(0, 128, 128, 1)"> 5</span>
<span style="color: rgba(0, 128, 128, 1)"> 6</span> <span style="color: rgba(0, 0, 255, 1)">with</span> Button1 <span style="color: rgba(0, 0, 255, 1)">do</span>
<span style="color: rgba(0, 128, 128, 1)"> 7</span> <span style="color: rgba(0, 0, 255, 1)">begin</span>
<span style="color: rgba(0, 128, 128, 1)"> 8</span> Name := <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Button1</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)"> 9</span> Parent :=<span style="color: rgba(0, 0, 0, 1)"> Self;
</span><span style="color: rgba(0, 128, 128, 1)">10</span> Left := <span style="color: rgba(128, 0, 128, 1)">361</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">11</span> Top := <span style="color: rgba(128, 0, 128, 1)">177</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">12</span> Width := <span style="color: rgba(128, 0, 128, 1)">139</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">13</span> Height := <span style="color: rgba(128, 0, 128, 1)">69</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">14</span> Caption := <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Button1</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">15</span> TabOrder := <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">16</span> OnClick :=<span style="color: rgba(0, 0, 0, 1)"> Button1Click;
</span><span style="color: rgba(0, 128, 128, 1)">17</span> <span style="color: rgba(0, 0, 255, 1)">end</span>;</pre>
</div>
<p> </p>
<p>要注意的是这个专家无法转化二进制属性比如位图为实际代码,但会生成注释来提示我们手工修改代码。同样的,它也不能为对象引用生成代码。</p>
<p>10、(批量复制组件名)Copy Component Names专家<br>可以批量把选中的控件的名称复制下来进入剪贴板,提高编写代码效率。</p>
<p>11、(开启、禁用所有专家)Expert Manager专家<br>主要是用来方便地添加,激活,禁止和删除DLL类型的专家的工具,有了它,我们就无须直接编辑注册表来注册专家了。下图中红色的叉表示当前专家被禁止,而绿色的挑表示专家被激活。如果一个专家名前面有一个红点就表示专家状态被改变了,但需要重新启动IDE来使状态改变生效。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094201409-171548149.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>12、(文件收藏)Favorite Files专家<br>Code Librarian专家是收藏代码,而Favorite Files专家是收藏文件,都是为了收藏下来方便日后使用。<br>Favorite Files专家可以以一种很方便树状结构来分类管理我们常用的文件。我们可以创建一个新的目录,然后调用New菜单命令添加任意类型的文件(操作界面见下图4.19)。添加完文件后,我们还可以调用属性对话框编辑它们的属性。每个文件都对应一个文件名,显示名,描述文字和执行方式。执行方式决定了当用户双击项目时专家如何处理执行的操作。下面是执行方式列表:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">IDE: 把文件加载进IDE。
Shell: 使用ShellExecute API来调用缺省的程序处理相应文件。
Custom: 手工指定一个程序来打开文件。
Project: 把文件作为一个新的项目加载进IDE。</span></pre>
</div>
<p> </p>
<p><br>专家还内置了一个文件察看器,可以察看一些常见的文件类型,比如PAS, DPR, RTF, HTML, BMP, SQL, C, CPP, TXT等。另外这个专家还支持拖放,我们可以把文件从资源管理器拖放到文件列表来快速的添加新的项目。</p>
<p>13、(查找控件在源码的参考)Find Component Reference专家<br>选中一个控件件后,执行查找参考即可在源代码中定位到该组件名第一次出现或者第二次出现的地方。</p>
<p>14、(文件搜索)Grep Search专家<br>Grep Search专家是最常用到的专家,它可以快速的在文本中定位字符串,功能比Delphi内置的查找工具要强大多的多。它可以轻松的限定查找范围,我们可以选择查找当前文件或者全部打开的文件或者当前项目中的全部文件(包括DFM文件),或者一个指定目录下的全部文件(并可以选定是否对其子目录查找)。同时GExperts还提供了一个独立的Grep.exe的可执行程序,可以让我们在不启动Delphi的情况下调用。 </p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094251451-175631655.png" alt="" loading="lazy"></p>
<p> </p>
<p>下面是界面中各个选项的配置说明:<br>Text to Find:我们可以在这个编辑框中输入要查找的文本或正则表达式。 <br>Options选项是用来设定查找标准的:<br>Case sensitive:确定查找是否大小写敏感。 <br>Ignore comments:确定查找时是否忽略注释。 <br>Whole word:是否进行整字匹配。 <br>Search DFM files:是否同时查找单元文件所对应的DFM文件。 <br>Regular expression:是否使用正则表达式来查找 <br>Where选项是用来限定查找范围的: <br>Current file only:只查找当前打开文件。 <br>All files in project:查找当前项目中所有文件。 <br>Open project files:查找全部打开的项目文件。 <br>Search in directories:查找指定目录下的全部文件。 <br>Search directory options选项用来指定按目录查找文件时的目录名和查找文件的掩码(这个选项只有当我们选择了在目录下查找后才会生效): <br>Directory:我们可以在编辑框中输入要查找的目录名,也可以按下面按钮来设定。 <br>点这个按钮可以弹出一个浏览文件夹对话框来指定目录。<br>点这个按钮会把目录名自动设定为VCL源码所在目录名(通常来说我要查找某个函数所对应的单元名时,都是按VCL目录查找)。<br>点这个按钮会自动设定RTL (运行时库)源码所在目录为查找目录。 <br>File masks:允许我们限定查找的文件类型,通常设置为*.pas,*.dpr。 <br>Include subdirectories:指定是否查找子目录,通常我们都应该打开这个选项。 <br>设定好所有的查找选项之后,点OK按钮,就会开始查找,随着查找进行就会结果就会显示在Grep Results窗口中。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094324747-1724415630.png" alt="" loading="lazy"></p>
<p> </p>
<p>Grep Results使用一个类似可折叠的界面方式来允许我们轻松的定位匹配字符串。上图中结果窗口会显示所有包含查找字符串的文件,在每个文件下一系列的匹配都会显示出来,要想展开或收缩匹配显示,只要点击文件名即可。<br>在每个匹配的左侧显示的数值是查找字符串所在的行号,同时结果窗口会高亮显示匹配的字符串,另外在文件名右侧的数值表示在当前文件中所找到的匹配数。要想打开匹配的文件,我们只需双击匹配结果行就可以了,编辑器会自动定位到匹配字符串的位置。<br>小技巧:我们可以从结果列表中拖放文件到其他运行的程序,比如写字板,相应的程序会自动打开被拖放的文件。当运行单独的Grep.exe程序时,双击文件名会打开它相关联的应用程序。</p>
<p>15、(隐藏显示非可视化组件)Hide/Show Non-Visual Components专家<br>一个很简单的功能,窗体上的控件如果是非可视化控件,可以控制它的隐藏或者显示。</p>
<p>16、(重置菜单快捷键)IDE Menu Shortcuts专家<br>喜欢自己改快捷键的一定要使用这个功能,它可以对开发环境中的菜单(包括子菜单)设置快捷键,改成自己喜欢的快捷键</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094341397-1031326685.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>17、(键盘宏库)Keyboard Macros Library专家<br>录制键盘的字符,以后允许键盘宏,就会直接打入录制的字符。</p>
<p>18、(消息对话框)Message Dialog专家<br>方便我们设计消息对话框,按需求自动生成代码。cnpack也有相同功能。</p>
<p>19、(打开文件)Open File专家<br>可以遍历出项目中的搜索路径里面的文件与工程中的文件,并且可以分类查看(单元类、窗体类、工程类等)。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094410002-700094042.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>20、(文件头信息)PE Information专家<br>文件头信息。在这个功能中你打开一个可执行文件,然后就能知道关于这个文件的MS-DOS文件头信息、PE文件格式文件头信息、需要的DLL文件信息、输出的函数信息(比如说DLL文件)。</p>
<p>21、(修改界面布局)Perfect Layout专家<br>这个专家可以用来定制并保存IDE界面布局。</p>
<p>22、(过程列表)Procedure List<br>该窗口相当详细地列出了你所使用的窗口中所有的过程和函数,通过鼠标双击可以直接定位到该过程或者函数的代码处。另外你还可以将过程的代码复制到剪贴板中,这个功能在写相关的技术文档的时候特别有用。此外你还可以通过“Search”选项来迅速地找到所需要的函数,以省却上下滚动查找的麻烦,如果你的窗口或者函数库中具有大量的过程函数,这一点是很有益处的。同样cnpack中也有相同的功能。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094433513-617082926.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>23、(项目文件调用关系分析)Project Dependencies专家<br>这个专家可以根据单元文件的uses部分列出单元之间相互依赖的关系列表。按下Refresh按钮可以即时更新依赖关系的信息。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094449213-742335240.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>24、(工程选项设置)Project Option Sets专家<br>使用这个专家,我们可以编辑,保存和加载Project | Options菜单命令调出的对话框内的选项,可以保存多套选项,方便不同的项目的需求。特别是一些输出路径,搜索路径,引用路径等等。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094503809-625274537.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>25、(重命名控件)Rename Components专家<br>批量选中控件后,可以对这些控件依次重新命名,源码中也会跟着重新命名。也可以按照一定的规则对新拖入的控件修改前缀名。</p>
<p> </p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094527625-1081214204.png" alt="" loading="lazy"></p>
<p> </p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094544427-1577903761.png" alt="" loading="lazy"></p>
<p> </p>
<p>26、(替换控件)Replace Components专家<br>可以使开发者很容易的替换窗体或项目中的控件,比如当我们想用TButton控件替换项目中所有的TbitBtn控件时,这个专家可以最大限度的保留原有控件的属性。使用这个专家时,首先选择要替换的控件,然后选择要被替换的控件类型。然后点OK就可以了。注意:这个专家不会保存指向其他控件的属性,和Tcollection类型或更复杂的属性比如TStringList。它只对简单的属性类型有效。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094600348-155651859.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>27、(设置Tab选择控件的顺序)Set Tab Order专家<br>cnpack也有相同功能。</p>
<p>28、(带格式输出源码)Source Export<br>可以根据当前IDE的语法颜色设置或自定义的设置,把当前编辑器中选定的代码按HTML 或RTF格式复制到剪贴板上或保存成文件。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094622410-19915616.png" alt="" loading="lazy"></p>
<p> </p>
<p><br>29、(计划工作列表)To Do List<br>想做的事情做一个标记,可以通过列表查看到。</p>
<p><img src="https://img2024.cnblogs.com/blog/1454112/202403/1454112-20240316094640410-319394860.png" alt="" loading="lazy"></p>
<p> </p>
<p>————————————————</p>
<p> 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。<br> <br>原文链接:https://blog.csdn.net/gust2013/article/details/125888480</p>
<span id="cnki_grabber" style="visibility: hidden" data-id="1710552856000"></span><br><br>
来源:https://www.cnblogs.com/Thenext/p/18076740
頁:
[1]