Monaco Editor 编辑器拷贝粘贴功能调用和获取选中文本
有时候需要在monaco editor外部调用编辑器的内置功能,比如希望在页面主工具栏实现一些快捷操作。
<button onclick="copy()">copy</button> <button onclick="paste()">paste</button>
1. 实现拷贝操作
只要调用editor的copy动作即可(你可以使用getActions来获取可用动作列表):
function copy() { editor.getAction('editor.action.clipboardCopyAction').run(); }
2. 实现粘贴操作
粘贴操作的思路是用剪切板上的内容替换编辑器中的当前选中内容。获取剪切板的内容,出于安全考虑,被大多浏览器所限制,一个替换方案是自己保存之前拷贝的内容在本地存储中。示范代码如下:
function paste() { var selection = editor.getSelection(); var content = localStorage.getItem('your-content'); editor.executeEdits("", [ { range: new monaco.Range(selection.endLineNumber, selection.endColumn, selection.endLineNumber, selection.endColumn), text: content } ]) }


最新评论
请先 登录 再评论.
- 相关文章