程序扩展(插件)

Precision Helper 实现了两种程序扩展(插件)的接口。命令行接口和 Pascal Script接口。

程序插件可以在不同方面明显的扩展产品的功能,并且可以是第三方创建的。

首选的可用插件:


怎样安装扩展?

所有的扩展必须安装到 Precision Helper 程序文件夹中的 Extras 子文件夹。

在 Windows 2000/XP 中默认安装程序时,这个文件夹的位置为:
"C:\Documents and Settings\%UserName%\AppData\Precision\precisionhelper\Extras"

在 Windows Vista (或更新版本)中默认安装程序时,这个文件夹的位置为:
"C:\Users\%UserName%\AppData\Roaming\Precision\precisionhelper\Extras"

每个扩展还应该放置在不同的文件夹。当然,对于共享相同组件(文件)的扩展集,可以保存在同一文件夹。


插件配置文件

每个插件通过在配置文件中指定的参数来定义。它们的扩展名必须为 .PHE(即MyExtension.phe)。
Pascal Script 接口的配置文件很简单,实际上只包含了描述信息。相比而言,命令行接口的配置文件包含参数和操作的完整定义,Precision Helper 必须处理每个步骤(执行前、执行后等)。


Pascal Script 接口

下面的例子演示了 Pascal Script 接口插件的配置文件。


  [Precision Helper Extension]
  Interface=pascalscript

  ; 扩展的默认标题和说明   
  Caption=New from files
  Hint=Create a new help project from an existing topic files

  ; 扩展的本地化标题和说明
  Caption.cs=Nový ze souborů
  Hint.cs=Vytvořit nový projekt nápovědy z existujících souborů témat
   
  [IDE]
  ; Precision Helper IDE 的一部分,此扩展应该可用在那里
  ribbonHOME=1
  ribbonTOC=0
  ribbonIDX=0
  ribbonPUB=0
  ribbonTOOLS=1
  ribbonHELP=0
  TopicSource=0
  

例子中的参数应该比较明确的。此类插件的代码放置在 RunScript.pas 文件中。如果插件含有 GUI (可视化用户界面),那么它必须在 RunScript.dfm 文件中进行定义。

要编辑和设计 Pascal Script 接口的插件,您可使用任何编辑器,但我们推荐使用我们开发的 pdScript IDE 产品,它包含了 Precision Helper pascal 脚本接口的完整支持(请参阅 http://www.be-precision.com/products/pdscript/)。

就像从例子开始创建您自己的插件那样,您可使用预定义的现有扩展,可以在上面提及的文件夹中找到它们。


命令行接口

下面的例子演示了命令行接口插件的配置文件,包括每个参数的说明。


  [Precision Helper Extension]
  ; 接口 
  ;   pascalscript - Pascal Script 接口  
  ;   cmdline      - Command-line 接口
  ;                  执行外部程序时可以带上指定的参数。  ;                  (请参阅‘程序’和‘命令行’部分了解更多信息)
  Interface=cmdline
  
  Caption=Edit HHC
  Hint=Open the table of contents source file in an external html editor
  
  Caption.cs=Upravit HHC
  Hint.cs=Otevřít zdrojový soubor obsahu v externím html editoru
  
  [Script]
  ; 尚未实现
  ExecOnLoad=0
  
  [Application]
  ; 要执行的程序。可以是准确路径或含有环境变量的路径, 
  ; 或者包含下列宏的其中一个:
  ; %X% - 用来运行在 Precision Helper 中预定义的某个工具。  ;       (X 可以为:1 - Html 编辑器;2 - 网页浏览器;4 - 图像编辑器;5 - 文件管理器)
  ; %ENVIRONMENT_VARIABLE% - 任何环境变量
  ; %REG:HKxx\KeyPath,ValueName|DefaultValue% - 注册表中的值
  ; %APPEXTRAS% - Precision Helper 的扩展文件夹
  ; %APPTEMPLATES% - Precision Helper 的模板文件夹
  ; %APPFOLDER% - 包含 PrecisionHelper.exe 的文件夹
  ; %APPTEMP% - Precision Helper 的临时文件夹(即...\Precision Helper\Temp\...)
  ; %PROJECTFILE% - 当前项目文件
  ; %PROJECTFOLDER% - 当前项目文件夹
  ; %APPSAMPLES% - Precision Helper 的 Samples 文件夹  
  %1%
  
  [Command-line]
  ; 命令行参数。可以包含 [Application] 段提到的宏(但 %X% 除外)和下列宏:
  ; %1 - 在 Precision Helper 中当前选择项的文件名(TOC 中的主题、索引中的主题、files 段包含的文件等)
  ; %2 - 项目的源文件名(HHP)
  ; %3 - 项目的目标 CHM 文件
  ; %4 - 目录的源文件名(HHC)
  ; %5 - 关键字索引的源文件名(HHK)
  ; %6 - 本扩展当前安装的文件夹
  ; %7 - 本扩展当前选项文件名
  Parameters="%4"
  
  ; Precision Helper 会一直等待,直到扩展的执行结束。  ; 当您使用扩展时如果仍在操作程序时请不要使用这个值。  ; 在 [Application] 段使用了 %X% 宏时此参数无效。
  waitfor=0
  
  ; 在执行前保存 TOC
  saveTOC=1
  ; 在执行前保存 IDX
  saveIDX=0
  ; 在执行前保存整个项目
  saveProject=0
  ; 在执行前保存当前主题
  saveTopic=0
  
  ; 执行扩展时,Precision Helper 将在下一个激活前重新载入 TOC。  ; 如果 'waitfor=1',则会在关闭扩展后重新载入 TOC
  reloadTOC=1
  ; 类似 reloadTOC,但应用于关键字索引
  reloadIDX=0
  ; 类似 reloadTOC,但应用于整个项目
  reloadProject=0
  ; 类似 reloadTOC,当应用于当前主题
  reloadTopic=0
  ; 类似 reloadTOC,但重新载入所有扩展(适合于要实现插件管理器功能的扩展)  
  reloadExtras=0
  
  [IDE]
  ; Precision Helper GUI 部分,此扩展应该可用在那里
  ribbonHOME=0
  ribbonTOC=1
  ribbonIDX=0
  ribbonPUB=0
  ribbonTOOLS=0
  ribbonHELP=0
  TopicSource=0
   

正如您在参数说明中看到的,实际上您可以使用任何外部工具作为插件,因为 Precision Helper 并不直接依赖于它的执行(除了可能需要等待它执行结束),也不依赖于它的输出。


其他插件选项