慢讯: Jetbrain 支持加载 env 文件了
社区版本代码引入在: https://github.com/JetBrains/intellij-community/commit/bd34c24f1c821ea4241677fbed8e4eff13a24c1f
在 JVM 配置: -Dij.load.shell.env=true 即可
为什么要提及这个, 因为我从 direnv 换到 mise 后发现 mise 插件某些语言不支持自动引入 mise.toml 的 env 配置 (比如 Rust, Just), 然后我想起来早先看到的这个配置还没有记录, 所以水一篇文
话又说回来, 所以 jetbrain 家 IDE 目前来看还是扔不掉 .env 配置文件啊, 我就奇怪为什么不做成 expose service 让插件自己塞值?
然后我发现它是 APP 启动的时候加载, 而不是 project 级别的加载, 所以目前 Rust 还是用不了, 包括 mise1
[!WARNING]
-Dij.load.shell.env.timeout设置过小会导致加载失败, 在 idea.log 中可以找到
om.intellij.util.ShellEnvironmentReader$EnvironmentReaderException: [/bin/zsh, -l, -i, -c, /usr/bin/env -0 > '/var/folders/vx/xs9f3rcj74d2wlp32sz0t0h80000gn/T/ij-shell-env-data.54370.132872668608125.tmp'], ec=1
可以参考 https://intellij-support.jetbrains.com/hc/en-us/articles/15268184143890-Shell-Environment-Loading 优化一下 zsh 配置