Javascript 将固定面板、窗格和侧栏添加到编辑器

Javascript 将固定面板、窗格和侧栏添加到编辑器,javascript,monaco-editor,Javascript,Monaco Editor,是否可以将边栏和面板直接添加到monaco编辑器实例?感觉这应该是显而易见的,但我一直找不到任何关于我正在尝试做的事情的参考资料。我在考虑标题和状态栏、文件浏览器侧栏、控制台输出面板等 我知道这些元素可以作为“外部”HTML元素添加到编辑器中,但是结果没有我希望的那么“集成”。主题化变得困难,编辑器快捷键不再工作,其他琐事比比皆是 关于我希望实现的一个示例(虽然不太全面),请参见,请注意,无论您在页面上单击什么位置,编辑器快捷键仍然有效,而只有在编辑器元素处于焦点时快捷键才有效 我知道内容和覆盖

是否可以将边栏和面板直接添加到monaco编辑器实例?感觉这应该是显而易见的,但我一直找不到任何关于我正在尝试做的事情的参考资料。我在考虑标题和状态栏、文件浏览器侧栏、控制台输出面板等

我知道这些元素可以作为“外部”HTML元素添加到编辑器中,但是结果没有我希望的那么“集成”。主题化变得困难,编辑器快捷键不再工作,其他琐事比比皆是

关于我希望实现的一个示例(虽然不太全面),请参见,请注意,无论您在页面上单击什么位置,编辑器快捷键仍然有效,而只有在编辑器元素处于焦点时快捷键才有效

我知道内容和覆盖窗口小部件,以及视图区域,但这些似乎不适合显示在编辑器“外部”或“周围”的内容


我是不是错过了一些显而易见的东西?

你在试图把事情从里到外转变。编辑器控件就是一个编辑器。如果您希望它与其他控件(如文件浏览器等)一起使用,请将其包装在更高级别的组件中。从可用性角度来看,当编辑器没有焦点时,让编辑器的键盘绑定(如搜索和替换)起作用是没有意义的。但这正是VSCode的工作方式,我们的目标是与人们已经使用的IDE保持“一致”的行为。VSCode中的Ctrl+f将在主编辑器实例上打开文本查找小部件,无论当前焦点是哪个窗格(其他编辑器除外),与Ctrl+p等相同。奇怪的是,这在VSCode中是可能的,但在monaco中不是。Visual Studio代码在UI的任何部分都包含必要的键处理,以便适当地操作。我不知道所有的内部结构,但我非常确定有一个键盘处理程序可以在按键上执行一个动作,而该动作的订阅者可以处理它,所以关注哪个部分并不重要。