Sublime如何配置Inno Setup脚本高亮?(Windows安装包制作)

1次阅读

sublime 默认不识别 .iss 文件,因其语法是类 pascal 的自定义格式,自带pascal或ini语法无法正确匹配括号、字符串转义和注释;手动关联为pascal语法可快速改善结构识别,而inno setup syntax highlighting插件才能完整支持段落标记、宏及预处理变量高亮。

Sublime如何配置Inno Setup脚本高亮?(Windows安装包制作)

为什么 Sublime 默认不识别 .iss 文件?

因为 Inno Setup 脚本(.iss)本质是类 Pascal 的自定义语法,Sublime 自带的 PascalINI 语法高亮都只覆盖部分关键字,括号匹配、字符串转义、注释风格全都不对。你打开一个 setup.iss,会发现 SourceDestDir 这些关键字段没颜色,; 后面的注释也不高亮——这不是插件没装,是语法定义压根没对上。

手动关联 .iss 到 Pascal 语法(最简方案)

不用装插件,直接改文件关联就行,适合只想快速看懂结构、不写复杂脚本的人:

  • 右键任意 .iss 文件 → “Open with” → “sublime text(确保是默认打开方式)
  • 在 Sublime 中打开该文件 → 点击右下角当前语法名(比如显示 Plain Text)→ 选 Pascal
  • Ctrl+Shift+P 打开命令面板 → 输入 Set Syntax: Pascal → 回车
  • 再按 Ctrl+Shift+P → 输入 Preferences: Settings – Syntax Specific → 在弹出的右侧 json 中加一行:"extensions": ["iss"]

这样以后所有 .iss 都自动用 Pascal 语法渲染,至少能看清函数调用和基础结构。

Inno Setup Syntax Highlighting 插件(推荐给常写安装脚本的人)

官方维护的 Inno Setup Syntax Highlighting 插件(github 上搜这个名字)才是真匹配:它识别 [Files][Code] 这些段落标记,高亮 #define 宏、{#MyVar} 预处理变量,还支持 Code 段里的 Pascal 子语法嵌套。

  • 用 Package Control 安装插件后,重启 Sublime
  • 打开 .iss → 右下角语法选择里会出现 Inno Setup(不是 Pascal
  • 如果没出现,检查插件是否启用:Preferences → Package Settings → Inno Setup Syntax Highlighting → Settings,确认 extensions 包含 "iss"
  • 注意:该插件不支持 .isl(Inno Setup 库文件),如需高亮需额外配置 "isl" 扩展名

常见坑:高亮有了,但代码补全和跳转还是不行

语法高亮 ≠ 语言服务。Sublime 原生不提供 Inno Setup 的符号索引,所以 Ctrl+Click 点不到 InitializeSetup 函数定义,也没有参数提示。别折腾 LSP 插件——目前没有稳定支持 Inno Setup 的语言服务器。

  • 想查函数文档?直接去官网 https://jrsoftware.org/ishelp/ 搜函数名
  • 宏定义太多记不住?在 [Code] 段开头加注释块,把常用 #define{#...} 列出来
  • 如果用了 [Code] 段里的 Pascal 代码,建议单独保存为 .pas 文件用 Delphi ide 写,再粘回 .iss——Sublime 对纯 Pascal 的支持远强于嵌入式片段

真正卡住人的从来不是颜色,而是预处理器展开顺序、路径拼接规则、还有 ExpandConstant 在不同上下文的行为差异。高亮只是帮你少看错一个分号,别的得靠查文档和试。

text=ZqhQzanResources