在一般的Web IDE中,我们需要将经常用到的一些操作放到顶部操作栏里,类似语雀的文档编辑。 代码编辑器,一般也会放一些查找,格式化,撤销,恢复。有些人喜欢用快捷键来进行这些操作,但由于monaco中内置的键盘快捷操作非常地多,所以有些人喜欢用按钮来实现某种操作。本篇文章就来带大家完成使用代码来触发某些action,完成点击一个按钮进行格式化,查找,显示右键菜单的操作。
调用api来触发某个action或command,有二种方式,分别是
直接使用editor.trigger(source: string, handlerId: string, payload: any): void
来触发某个内置或已经自定义的操作。只要知道handerId就可以完成。
先使用editor.getAction(id: string): IEditorAction
方法获取action实例,然后调用实例的run(): Promise<void>
方法。返回一个Promise。
先说第一种,直接使用trigger
方法触发某个操作。传入一个handlerId,也可以添加一些额外的数据。常用的handlerId有,
editor.action.showContextMenu
显示右键菜单actions.find
查找操作editor.action.formatDocument
格式