Excalidraw使用快捷键关闭左边样式栏

Excalidraw插件快捷键关闭左边样式栏

正常情况下,excalidraw的界面类似于下面这个样子,左边的这个样式窗口需要点击左下方的那个绘画按钮来打开和关闭,这个说实话很烦人,因为你得移动鼠标或触控板到那里才能进行操作。
很奇怪,excalidraw官方居然没有提供这么一个快捷键。

由于我刚注册,只能放一个媒体条目,所以这个图片就不展示了,不过您既然进来看这个内容,您肯定知道我指左边样式窗口是什么

修改方式很简单,打开obsidian的插件安装目录,找到excalidraw,我的文件目录及结构如下:
G:/Logs/Obsidian_repos/实习/.obsidian/plugins/obsidian-excalidraw-plugin
里面有四个文件:

main.js
manifest.json
style.css
data.json

进入main.js,插入以下代码:

let menu=document.getElementsByClassName("Island").item(1);
document.addEventListener('keydown', (event) => {
  if (event.ctrlKey) {
    if(menu==undefined){
        menu=document.getElementsByClassName("Island").item(1);
    }
    if (menu.style.display && menu.style.display === 'none') {
        menu.style.display = 'unset'
    } else {
        menu.style.display = 'none'
    }
  }
});

在文件里面看就是这样子:


我这里设置了ctrl为开启/关闭左边面板的快捷键,你也可以自己设置为其他的快捷键,注意不要和excalidraw本身的快捷键冲突,比如0、1、2、3、A、G等等。

大佬,这个代码我导入了,但是似乎有点问题;它实际打开和关闭了 “Obsidian 工作面板,而不是左边样式栏


您好,您的问题我有看到。这个似乎是我和你用的不同版本excalidraw插件而导致的。那段代码的逻辑是这样子的:根据元素的样式信息定位到对应的元素,然后给它添加一个监听事件,当ctrl按下后就可以启用或关闭这个元素。
然后在我的版本的插件中,类名为Island的第2个元素是用来调整元素样式的面板,而在excalidraw插件中,有很多元素属于Island这个类,而你和我使用的插件不同,所以可能会出现一些定位到错误元素的问题。
一个比较笨的解决方案是,您可以调整这段代码后面的数字,从0开始,一个一个尝试,直到定位到调整元素样式的面板。

let menu=document.getElementsByClassName("Island").item(1);//后面的这个数字

不过我并不推荐这么做,因为在我后续的测试中发现,插入的这段代码只会在obsidian中打开的第一个excalidraw绘图文件中生效,对于后续打开的绘图文件就没有效果了。所以。。。就挺鸡肋的。
不过我也是找到了一个替代的方案,那就是使用alt+z这个快捷键,这个是excalidraw中打开禅模式的快捷键,也可以隐藏样式面板的。不过这个方法的缺点有两点:
①右下方会显示“禅模式”的字样,有些多余。我的解决方案是这样子的,打开excalidraw插件的style.css文件,在后面加上这几句代码就可以隐藏“禅模式”这三字:

.disable-zen-mode{
    visibility: hidden !important;
}

②第二个缺点就是alt+z禅模式不能在编辑元素的时候打开或关闭。比如你在编辑一段文字,按alt+z是不会启用禅模式来关闭样式面板的。但是呢,你可以按一下esc退出编辑状态,这样子alt+z就起效果了。稍微优点麻烦,不过多用几次我觉得还好。
最后也是很高兴您能够回复我,能看到自己写的文章被别人关注我还是很意外很惊喜的。