阻止 JetBrains IDE 生成指标文件

How to disable the generation of the open-telemetry-meters related JSON and CSV files in the JetBrains IDE log folder | Knowledge Base

-Didea.diagnostic.opentelemetry.metrics.file=
-Didea.diagnostic.opentelemetry.meters.file.json=

在上一节的基础上更进一步,直接移动应用程序的缓存目录到次级磁盘。

# Offload IDEA system directory to secondary drive  
idea.system.path=E:/AppData/Local/JetBrains/IntelliJIdea2025.2  
idea.log.path=E:/AppData/Local/JetBrains/IntelliJIdea2025.2/log

注意在 2020.1 之后的版本里,需要同步设置 idea.log.path,不然会收到个警告。

但这个把版本号固定在路径里的办法很不通用,一升级就容易冲突。JetBrains 自家会安排每个版本在由版本号组成的目录下,就是这里的 IntelliJIdea2025.2,想要它是个动态变化的值。

好在 properties 文件能处理 ${xxx} 这样的宏,支持来自 java.lang.System.getProperties() 当前状态的值。可问题是怎么直到 IntelliJ 往系统变量里塞了哪些键?

一个简单的方式是用调试器挂上去,运行个表达式拿结果。

先加个 JVM 属性允许挂接调试器。这里用 CLion 是因为 IDEA 不能调试自身,并且开启 suspend 在启动时等待调试器接上在继续,方便打断点。因为对表达式求值得在命中断点后才能用。

AppData\Roaming\JetBrains\CLion2025.1\clion64.exe.vmoptions
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005

接下来启动 CLion,在 IDEA 中 附加到进程,端口号 5005。添加 Java 方法断点,类模式 java.lang.System 方法名 getProperties,监视选方法退出。这一步是为了在程序调用方法后,获取调用结果。免去了自己加载类再调用的麻烦事。

解冻程序继续运行,很快 com.intellij.openapi.application.PathManager.loadProperties 就应该命中断点,继续步进几下就能看到 sysProperties 变量包含了我们要的结果。

拿表达式求值一看,几个关键的值就有了

sysProperties.entrySet()
"idea.paths.selector" -> "CLion2025.1"
"idea.platform.prefix" -> "CLion"
"idea.vendor.name" -> "JetBrains"
"java.io.tmpdir" -> "R:\TEMP\"
"os.arch" -> "amd64"
"os.name" -> "Windows 11"
"os.version" -> "10.0"
"path.separator" -> ";"
"user.country" -> "CN"
"user.dir" -> "C:\WINDOWS\system32"
"user.home" -> "C:\Users\enihsyou"
"user.language" -> "zh"
"user.name" -> "enihsyou"
"user.timezone" -> "Asia/Shanghai"

组合组合就有了

# Offload IDEA system directory to secondary drive  
idea.system.path=E:/AppData/Local/JetBrains/${idea.paths.selector}
idea.log.path=${idea.system.path}/log

启动后检查下 idea.log 日志,没问题

2025-08-25 17:15:02,889 [     22]   INFO - #c.i.p.i.b.AppStarter - locale=zh_CN JNU=UTF-8 file.encoding=UTF-8
    idea.config.path=C:\Users\enihsyou\AppData\Roaming\JetBrains\IntelliJIdea2025.2
    idea.system.path=E:\AppData\Local\JetBrains\IntelliJIdea2025.2
    idea.plugins.path=C:\Users\enihsyou\AppData\Roaming\JetBrains\IntelliJIdea2025.2\plugins
    idea.log.path=E:\AppData\Local\JetBrains\IntelliJIdea2025.2\log

Windows 11 Temp 目录有很多 xml_file (123).xml

关闭 Settings / Personalization / TaskBar / Widget(小组件)解决了该问题