file-open有个问题,我的理解是它只在文件首次被打开时执行,之后再次打开该文件就不执行了,比如,打开a.md文件后,按Ctrl+点击新标签再次打开一个a.md文件,则不会执行file-open事件了,我通常用active-leaf-change配合setTimeout来模拟,但由于active-leaf-change在切换标签或打开文件是可能被触发多次,所以要用防抖机制保证最后一次执行的是目标文件,可参考:topic/25760#35 。但如果使用active-leaf-change,就会在标签切换时也被执行,所以为了不产生副作用,代码里要保证操作的幂等性(所谓幂等性就是指多次操作结果是一致的,不产生意外情况)。
1 个赞