Sublime如何配置ShellCheck集成?(脚本错误检测)
Sublime Text 调用 ShellCheck 的本质是执行系统命令,如果 shellcheck 命令在终端能跑通,但在 Sublime 里没输出,大概率是 Sublime 启动时没加载你的 shell 环境(尤其是 macOS / Linux 下用 zsh 或 fish 的用户)。Sublime 默认不读 ~/.zshrc 或 ~/.bash_profile,PATH 里压根没有 shellcheck。
技术博客
Sublime Text 调用 ShellCheck 的本质是执行系统命令,如果 shellcheck 命令在终端能跑通,但在 Sublime 里没输出,大概率是 Sublime 启动时没加载你的 shell 环境(尤其是 macOS / Linux 下用 zsh 或 fish 的用户)。Sublime 默认不读 ~/.zshrc 或 ~/.bash_profile,PATH 里压根没有 shellcheck。
Composer 默认所有 composer install 或 composer update 都会联网拉取包,包括插件(比如 hirak/prestissimo、phpstan/extension-installer)。离线时直接报错:Could not fetch https://repo.packagist.org/packages.json,连 metadata 都拿不到,更别说插件本身。
Composer 本身不支持在 auth.json 里直接写“多域名共享同一套账号”的通配规则,每个域名必须单独声明。你不能写 "*.example.com": { … },它会忽略或报错。
安全风险路径藏在 advisories 数组每个条目的 source 字段里,它不是直接列出调用链,而是给出触发该漏洞的「最短依赖路径」——即从你的项目根开始,到引入问题包的那条最小依赖链。
因为默认行为会去 packagist.org 拉包,还会调用 git clone 或 curl 下 zip 包,甚至执行 composer validate 和 composer update 的钩子逻辑。没网络 + 没 root 权限 = 连 composer.phar 自身都可能跑不起来——比如它试图写 /tmp 但被限制,或找不到系统级 openssl 扩展。
WSL 默认不会把 Windows 的 PATH 自动继承过来,更不会识别 Windows 下通过 Installer 安装的 Composer。你在 WSL 里敲 composer –version 报 command not found,大概率是压根没在 Linux 环境里装过它。
Composer 本身不执行 Git hooks,pre-commit 是 Git 的钩子,必须靠第三方工具或手动集成。最直接的做法是用 composer install 或 composer update 触发钩子安装,但前提是项目里已引入支持钩子的包(比如 brainmaestro/composer-git-hooks)。
解决方法不是删内容,而是加一行注释破局:// @language=javascript 放在首行,再执行一次 Set Syntax:,多数语法包会识别这种 shebang 式提示。部分插件(如 ApplySyntax)还能基于正则匹配文件内容自动修正,但需额外配置。
Sublime Text 默认不识别 Meson.build,连基础缩进和注释着色都没有。这不是配置问题,是根本没装对应语法定义包。
直接在项目根目录的 composer.json 里加 "config" 段,用 "vendor-dir" 指定路径。它只影响当前项目,不污染全局配置。