Open kahosan opened 1 year ago
Power Playground splits several hooks to handle logic.
Power Playground
Power Playground 拆分了几个钩子来处理逻辑。
use 用来自己在 editor zone 里面加 react hook。
他会去消费一些基础参数,然后提供一个在 plugin 整个除此外都能访问到的被分享到数据内容。
useShare 可以在 rerender 的时候去消费 share state,同时也会获取到 monaco 的实例。也支持再其中使用 react hook,他的特点是在 use 的后面执行,从而能拿到所有的插件 share 出来的 state。
preload 则是 useEffect monaco 的包装器,他会在 monaco 被挂载后执行,简化一些需要对 monaco 进行操作的内容,比如快捷键,指令等。
load 则是在 editor 被挂载后触发。
preload 和 load 还有一个特点便是会 watch plugin 的改变,并不是每次都去执行的。
没写文档,给你一些我的设计思想给你作为参考(我就不翻译成英语了😭)
光标选中汉字的时候宽度有点问题,只有汉字的一半宽 可能是 monaco 这块的问题,尝试把 vim mode 关掉后,手动设置宽度一样会被覆盖掉
中文的 case 暂时不管吧👀
Power Playground
splits several hooks to handle logic.Power Playground
拆分了几个钩子来处理逻辑。use 用来自己在 editor zone 里面加 react hook。
他会去消费一些基础参数,然后提供一个在 plugin 整个除此外都能访问到的被分享到数据内容。
useShare 可以在 rerender 的时候去消费 share state,同时也会获取到 monaco 的实例。也支持再其中使用 react hook,他的特点是在 use 的后面执行,从而能拿到所有的插件 share 出来的 state。
preload 则是 useEffect monaco 的包装器,他会在 monaco 被挂载后执行,简化一些需要对 monaco 进行操作的内容,比如快捷键,指令等。
load 则是在 editor 被挂载后触发。
preload 和 load 还有一个特点便是会 watch plugin 的改变,并不是每次都去执行的。