我用模拟点击实现的(安装RunJS插件,把代码添加到RunJS设置里的Auto start中)
```js RunJS="onLoad"
// 自动折叠文档属性
this.app.workspace.onLayoutReady(() => {
let stTimer;
this.app.workspace.on('active-leaf-change', async (activeLeaf) => {
// 定时防止无效触发,只取最后一个触发
if(stTimer) clearTimeout(stTimer)
stTimer = setTimeout(() => {
var activeLeaf = ".workspace-split.mod-root .workspace-tabs.mod-active .workspace-leaf.mod-active ";
var mc=document.querySelector(activeLeaf+".metadata-container:not(.is-collapsed)");
if(mc && mc.firstChild) mc.firstChild.click()
}, 42)
})
})
```
解释下代码,为什么用active-leaf-change事件,因为file-open事件按ctrl+点击打开不触发,而打开文件同样会触发active-leaf-change事件,但该事件会被触发多次,通过延迟,过滤掉非目标触发;为什么用firstChild,而不直接用css选择器取到child,因为上面代码是之前回答一个用户的问题时写的,直接拿来加上firstChild,懒得改了