有没有办法可以实现:无论当前是什么模式,都直接切换至源码模式

遇到的问题

我想在obsidian中实现的效果:

  1. 按下对应快捷键,无论当前是以上三个状态中的哪个状态,一律切换为源码模式
  2. 按下对应快捷键,无论当前是以上三个状态中的哪个状态,一律切换为编辑,也就是实时阅览
  3. 按下对应快捷键,无论当前是以上三个状态中的哪个状态,一律切换为预览视图

尝试过的方案

command插件的宏:

  1. 将自带的两个命令——切换编辑/预览视图,切换实时预览/源码模式,组合在一起,可以直接实现预览视图到源码模式的切换。
  2. 但是无法根据当前状态灵活切换,有的时候会直接切换到编辑,没有按照要求切换

有没有什么插件或者方法可以实现?

我找到个办法能在 “编辑模式” 和 “预览模式” 中指定切换,

不能切换 editing mode 是 “源码模式” 还是 ”所见即所得模式“.

关键的两个接口:

// 检查当前编辑器的状态类型:
// "source"     编辑模式
// "preview"    预览模式
app.workspace.activeLeaf.view.currentMode.type

// 调用 Obsidian 的 "Toggle Reading View" 命令.
app.commands.findCommand("markdown:toggle-preview").checkCallback();

如果你有需要的话, 我可以有偿给你写个插件.

如果你愿意尝试自己写插件的话, 上面的两个接口基本上就能实现你想要的 “一键直达某模式” 了.

1 个赞