代码输入助手

代码输入助手

代码输入助手提供当用户在代码编辑器中键入代码时自动弹出匹配的标识符列表窗口的功能，目前只完整支持 Delphi。对于 C++Builder，目前代码输入助手对其的支持不完整，仅能弹出 IDE 自带的自动完成窗口。

输入助手列表框及右键菜单如下图所示：

此时，如果继续输入字符，将自动过滤掉不匹配的内容。在列表中用上、下、PageUp、PageDown、Shift+Home、Shift+End 键以及鼠标左键可以选择当前项，左、右光标键可以选择匹配的位置，退格和删除键也会更新列表。使用回车、空格、Tab、鼠标双击或输入在设置中指定的按键时自动将当前选择项发送到代码编辑器中。按 Esc、Ctrl 以及其它功能键可以关闭列表。

除了普通的标识符，输入助手还支持其它一些特殊内容的自动输入：

- 如果在 uses 区使用输入助手，会列出所有可用的单元名称。

- 编译指示字自动输入。输入 {$ 会列出所有的编译指示字及说明。

- XML 风格的注释。输入 /// 会列出相关列表及说明。

- JavaDoc 风格的注释。输入 {* 会列出相关列表及说明。

- IDE 中设置的代码模板，如 trycf、forb 等。

- 用户自已定义的符号、编译指示字、注释模板、代码模板等。

- 在代码模板中还可以使用宏定义等功能。

小技巧：如果您觉得输入助手比 IDE 自带的 Code Completion 好用，可以将 IDE 的 Code Completion 关闭，这样在输入 '.' 号后就会弹出输入助手了，在 Delphi 5 中特别有用。

右键菜单

- 允许自动弹出：是否允许用户在键入代码时自动弹出输入助手。

- 显示快速按钮：是否在列表窗口右边显示一列功能按钮。

- 排序方式：自动排序根据标识符的匹配优先级自动排序，按文本、长度、类型排序分别以相关内容按升序进行排序。

- 图例：显示列表中图标的含义，并可选择哪些类型出现在列表中。

- 添加自定义符号：将当前标识符添加到用户符号列表中。

- 设置：弹出输入助手设置对话框。

列表右边的快速按钮功能分别为：添加自定义符号、设置、输入助手帮助。

设置选项

该功能可以在专家包“设置”菜单中的“专家设置”中，或通过列表右键菜单进行设置，设置对话框如下图所示：

- 自动选项

- 自动弹出输入助手：是否允许用户在键入代码时自动弹出输入助手。

- 连续输入的有效字符数：只有连续输入指定的字符后，才弹出输入助手。有效的字符包含所有字母、数字、下划线以及在标识符内部的退格和删除键。

- 自动弹出延时：在弹出助手前等待的时间，如果延时期又有按键输入，则重新开始延时。

- 智能判断是否需要弹出助手：如果选择智能判断，在当前标识符已经完全匹配侯选列表中某一项时，则不弹出输入助手。

- 如果禁用 IDE 的代码完成，则自动取代：如果希望输入助手取代 IDE 自己的代码完成，可以选择该项，并关闭 IDE 的自动完成功能。

- 自动弹出列表的按键序列：指定一系列按键序列，当编辑器中用户按完这些序列之一时，弹出输入助手。每个序列用字符串表示，用双引号括起，不同的序列之间用半角逗号分开。

- 用来切换自动显示的快捷键：指定一个快捷键用于切换自动弹出状态。

- 用来手工弹出显示的快捷键：指定一个快捷键，可以在有效位置手工弹出输入助手。

- 输入法开启时不弹出输入助手：当输入法打开时，是否不自动弹出输入助手。

- 输出设置

- 可用于选择当前项的字符列表： 在输入助手显示时，如果键入字符列表中的字符，自动将列表中当前选择的标识符发送到代码区。

- 禁止自动弹出列表的符号(逗号分隔)： 如果希望在输入某些字符时禁止自动弹出输入助手，可以将其加到这个列表中，多项内容用逗号分隔。

- 标识符输出方式： 当光标在标识符中间位置时，输出标识符使用的方式。“自动识别”方式根据匹配度自动选择替换光标左边的部分或整个标识符。“回车时替换整个标识符”方式则只有使用回车键时才替换整个标识符，其它按键输出时只替换光标左边的部分。

- 允许使用空格键来选择当前项：在输入助手显示时，输入空格键是否自动将列表中当前选择的标识符发送到代码区。

- 使用空格键选择当前项后忽略空格本身。：在输入空格键将列表中当前选择的标识符发送到代码区后，是否忽略这个空格键本身。如选择不忽略，则当前标识符后将出现一个空格。

- 只使用回车键来选择中间匹配的标识符：如果当前选择的标识符只是中间匹配输入的内容，是否只有回车键才可将其发送到代码区。

- 对关键字回车自动换行：在输入完整的关键字后再输入回车，是否在输出关键字后同时进行换行。

- 对带参数的函数自动完成括号：如果当前输入项为带参数的函数或过程，是否在完成输出时自动插入括号并调用参数提示功能。

- 列表显示

- 列表排序方式： 标识符列表的排序方式。自动排序根据标识符的匹配优先级自动排序，按文本、长度、类型排序分别以相关内容按升序进行排序。

- 列表字体：指定在标识符列表中使用的字体名称和大小。

- 标识符的最小长度：只有大于该长度的标识符才会显示在列表中。

- 保留字：设置列表中保留字类型标识符的大小写转换方式。

- 显示中间匹配的标识符： 当用户输入字符时，是否保留只在中间匹配输入内容的标识符。如果选择，匹配内容会自动高亮，如果不选，只有从头匹配的标识符才会保留。

- 根据使用频率自动调整列表项显示优先级：是否自动记忆用户输入过的标识符，并在显示时自动将常用的标识符调整到列表的前面。

- 过滤重复的列表项：相同的列表项，是否只保留一份而过滤掉其它。开启该选项会少量降低输入助手的性能。

- 使用兼容方式取得当前标识符列表（较慢）： 在某些 IDE 中，如果输入助手导致编译问题或 IDE 不稳定，可以尝试打开该选项。开启后输入助手弹出速度会有所下降。

- 打开工程时后台预获取标识符列表：开启该选项允许在打开工程时在后台线程中预获取标识符列表，以避免第一次使用输入助手时可能长时间无响应的问题。

- 内容设置

- 符号提供者列表：选择在列表中要显示哪些符号提供者提供的标识符。
- 符号类型设置：选择需要在列表中显示的符号类型。

- 符号列表：显示自定义符号列表。

- 列表下拉框：选择需要修改的列表。
- 增加：新增一项自定义符号，可以是普通的标识符、编译指示字、注释或模板等。
- 副本：根据当前选择的符号生成一份复本。
- 删除：删除当前选择的符号。
- 编辑：修改当前选择的符号，如下图所示。
- 默认：恢复当前列表内容为默认值。
- 导入：从符号定义文件中导入符号到当前列表，可以选择替换或追加模式。
- 导出：将当前符号列表导出到符号定义文件中。

- 代码模板：编辑当前符号使用的代码模板，只有当符号类型为 "Comment" 或 "Template" 时才有效。

- 插入宏：在当前位置插入一个预定义宏，点击后弹出宏列表菜单项。
- 用户宏：在当前位置插入一个用户定义宏，包括用户宏的模板在输出时会弹出对话框，由用户输入宏的值。
- 光标：在当前位置插件光标标志，即 "|" 字符，如果有多个光标，只有第一个有效。
- 清空：清空模板内容。

- 确定：保存当前设置。

- 取消：放弃当前设置。

- 帮助：显示帮助信息。

编辑自定义符号

在增加或编辑符号时，显示对话框如下图所示：

- 名称：符号的名称，用于输入符号的字符串。可以是普通的标识符，也可以用 //xxx 或 {$xx 等表示注释或编译指示字的特殊符号。

- 类型：自定义符号的类型。

- 描述：符号的说明，显示在自动输入列表中。

- 优先级：在自动输入列表中符号的位置，值越小，显示的位置越靠上。

- 多行文本模板在输出时自动缩进：如果选择，表示在输出模板时，多行文本的每一行都按当前位置自动缩进。

- 即使当前输入完成匹配也显示列表：对该符号忽略“智能判断是否需要弹出助手”的设置。

- 可用于 Pascal：该符号是否可用于 Pascal 源码中。

- 可用于 C/C++：该符号是否可用于 C/C++ 源码中。

相关主题

窗体设计器扩展专家

IDE 主窗体扩展专家

CPU 窗口扩展专家

对象查看器扩展专家

窗口置顶与折叠扩展专家

关于 IDE 专家包

(C)版权所有 2001-2016 CnPack 开发组