BashSupport Pro 功能特性

 

以下对比基于最新版本的 BashSupport Pro 和 JetBrains IDE 2025.2 版本中的 JetBrains Shell。 绝大多数 JetBrains IDE 中均集成了 JetBrains Shell —— 在我们看来, JetBrains Shell 非常适合用来偶尔查看、编辑和运行 Shell 脚本。
以下对比基于最新版的 BashSupport Pro 和 VSCode 上安装了扩展 BASH extension pack 和Bats 。
BashSupport ProJetBrains ShellVS Code

可直接在 JetBrains 调试界面使用的 bashdb 调试器。

VSCode Bash Debug 内置了bashdb。在Windows上,它仅支持WSL。

✓×✓
运行测试 → 更多内容

可直接在 JetBrains 测试界面使用的 bats-core 测试器。

VSCode Bats 提供了语法高亮,基本的代码补全和代码片段,仅支持bats-core自身和若干扩展。 就现状而言我们可以说,它并不支持执行bats-core文件的功能。

✓×✓ 部分支持
Z Shell 支持 → 更多内容

支持 Zsh 及其高级功能。

✓××
跨平台分享运行配置 → 更多内容

BashSupport Pro 提供强大的运行配置,支持Windows路径映射( WSL, MSYS Git Bash, Cygwin),内联片段,以及更多。 它提供了多个代替功能来自动确定解释器。

由于 JetBrains Shell 需要在每个运行配置中配置一个特定的解释器,您无法与您的团队跨平台共享这些配置。 它只在Windows上支持WLS路径映射。

VSCode 似乎并不提供支持shell脚本和bats-core文件的扩展。

✓✓ 部分支持×
远程开发 → 更多内容

在远程机器上通过SSH, Docker 或WSL调试和执行您的shell脚本。

VSCode 使用不同的方案实现远程开发。BashSupport Pro和JetBrains Gateway和它类似。

✓×✓
谷歌 Shell 编程风格支持 → 更多内容

BashSupport Pro 代码检查、快速修复及预设格式化等功能均支持谷歌 Shell 编程风格。

VSCode并不支持Google Sheel风格指南。

✓××
代码补全 → 更多内容

BashSupport Pro 可以为您提供函数名、变量、 Bash 和 POSIX 内置命令的补全建议。

JetBrains Shell 仅提供在当前文件中查找到的单词。 例如,在补全变量名时,它可能会提示函数名。

VSCode Bash IDE 提供基础的变量,函数和命令代码补齐。 但是,它并不支持例如建议内置的变量如 $HOME。 它不正确的建议超出作用域之外的局部变量并且并不遵循 source 命令。 代码片段和命令在无效的位置上被建议。

✓×✓ 部分支持
变量重命名重构 → 更多内容

BashSupport Pro 可以跨文件重命名变量及其引用。

VSCode Bash IDE 不支持重命名变量。

✓××
函数重命名重构 → 更多内容

BashSupport Pro 可以跨多个文件重命名你的函数定义及所有引用。

JetBrains Shell 仅支持在当前文件中重命名函数。

VSCode Bash IDE 不支持重命名函数。

✓✓ 部分支持×
内联变量重构 → 更多内容

BashSupport Pro允许内联脚本内的变量定义和引用。

VSCode Bash IDE不支持内联变量。

✓××
转到变量声明处 → 更多内容

BashSupport Pro 支持跨文件查找变量名定义。 它可以对source命令,ShellCheck 指令及用户定义的 shell 脚本库进行查找。

VSCode Bash IDE 提供基本的变量跳转功能。 但它不会处理如local 变量和source 命令。

✓×✓ 部分支持
转到函数声明处 → 更多内容

BashSupport Pro 可以跨文件查找函数定义。 它可以对source命令,ShellCheck 指令及用户定义的 shell 脚本库进行查找。

JetBrains Shell 仅支持在当前文件中查找函数定义。

VSCode Bash IDE 提供基本的函数跳转功能。 但它不支持如source命令。

✓✓ 部分支持✓ 部分支持
代码高亮 → 更多内容

BashSupport Pro 会对引用同一实体的标识符进行高亮。

JetBrains Shell 通过文本出现频率来进行代码高亮,变量、函数、字符串可能同时被高亮处理。

VSCode Bash IDE 提供基本的用法功能。 但它不会处理如local 变量和source 命令。

✓×✓ 部分支持
多文件支持 → 更多内容

BashSupport Pro 遵循source命令,ShellCheck source指令,项目范围的变量以及用户自定义的 shell 脚本库中进行代码导航。 在bats-core文件中,也支持load命令。

目前据我所知,VSCode Bash IDE 不会跟随 source 或 bats-core’s load 命令,但是会一次搜索工作区内的所有文件。

✓××
结构视图 → 更多内容

VSCode 提供文件结构的大纲。

✓✓✓
调用方和被调用方层次结构 → 更多内容

VSCode不提供调用方和被调用方层次结构。

✓××
文档查阅 → 更多内容

BashSupport Pro 支持查阅源代码中的 info、 help 和注释。 它还提供了所有 Bash 及 POSIX 内置变量的文档。

JetBrains Shell 仅支持查阅 info。

VSCode Bash IDE 提供Bash语法元素的提示。 它似乎并不提示info或man页面的内容。

✓✓ 部分支持✓ 部分支持
ShellCheck 支持 → 更多内容

BashSupport Pro 提供了签名的 ShellCheck 0.11.0 二进制程序 同时提供了一个用户友好的集成功能来修复和抑制警告信息。对于 macOS , BashSupport Pro 内嵌了一个通用 的可执行文件。

JetBrains Shell 可以从 JetBrains 服务器上下载未签名的 0.10.0 版 ShellCheck 程序。

VSCode ShellCheck v0.26.3 捆绑了未签名的ShellCheck 0.8.0二进制文件,含Linux, macOS, 和Windows. 默认情况下,它不会分析源代码文件。

✓✓ 部分支持✓
代码格式化 → 更多内容

BashSupport Pro 提供了签名的 shfmt 3.13.0 程序, 并支持远程文件及 bats-core 文件的格式化。

JetBrains Shell 可以使用从 Github 下载的 3.3.1 版本的未签名 shfmt,并且仅支持本地文件格式化。

VSCode shell-format 使用shfmt来格式化shell脚本和bats-core文件。 它在扩展中并不捆绑shfmt。

✓✓ 部分支持✓
代码检查 → 更多内容

BashSupport Pro 在 ShellCheck 之上额外提供了 20 余项代码检查规则。

JetBrains Shell 的代码检查功能完全依赖于 ShellCheck。

VSCode Bash IDE 完全依赖于ShellCheck,根据目前我们的理解。

✓✓ 部分支持✓ 部分支持

BashSupport Pro提供十多种额外意图

JetBrains Shell 提供2个意图

VSCode的工作不同,单它并不提供ShellCheck之外的额外修正,根据目前我们的理解。

✓✓ 部分支持×
语言注入 → 更多内容

对于字符串和 Here 文档,均可以向Bash Skript文件中进行代码注入,包含智能转义和替换处理。
还支持向其他语言中注入 Bash 片段:它会自动注入到 Markdown 代码栏、 Travis CI YAML 、Codefresh YAML以及其他任何您需要的地方。

VSCode并不提供shell脚本语言注入,根据目前我们的理解。

✓××
代码折叠 → 更多内容

BashSupport Pro 提供强大的代码折叠功能,同时支持 Vim 风格的自定义代码折叠。

除了 {} 外,JetBrains Shell 不能折叠子 shell、条件命令、算术命令、大小写命令及复合函数体。

✓✓ 部分支持✓
Here 文档支持

BashSupport Pro 可以高亮并重构嵌套在 Here 文档中的所有替换。

JetBrains Shell无法识别 Here 文档中的变量或其他替换。

VSCode Bash IDE并不能识别here文档中的变量或者其它替换。

✓✓ 部分支持✓ 部分支持
待办事项高亮

BashSupport Pro 支持多行 待办事项 注释。

JetBrains Shell 不支持多行TODO注释。

VSCode Bash IDE不支持TODO或fixme注释。

✓✓ 部分支持✓ 部分支持
拼写检查 → 更多内容

BashSupport Pro 内置了常用命令字典,避免向编辑器发送带有警告的垃圾信息。 它也集成了Grazie 插件来进行高级拼写检查。

JetBrains Shell 提供引号字符串的基础拼写检查。 它并不提供词典也没有和Grazie集成。

VSCode Bash IDE似乎并不支持在shell脚本中进行拼写检查。

✓✓ 部分支持×
缩进线
✓✓✓
语法高亮
✓✓✓
括号匹配
✓✓✓
实时模板 → 更多内容

VSCode Bats提供对bats-core的代码片段支持。

✓✓✓
无扩展名脚本文件 → 更多内容
✓✓✓
高亮字符串中的超链接
✓✓✓
© 2020–2026 Joachim Ansorg
声明
隐私政策
许可条款