TextEditor

文本编辑器对象

属性列表

属性名 属性类型 描述
document TextDocument 该编辑器关联的文档
selection TextSelection 当前光标选中的位置
selections Array<TextSelection> 当前多光标选中的位置集合
options TextEditorOptions 该编辑器的设置项

edit

修改当前编辑器打开的文档

参数说明

参数名称 参数类型 描述
callback Function(TextEditorEdit) 文档编辑操作回调

返回值

返回类型 描述
Promise<void> Promise

示例

  1. let editorPromise = hx.window.getActiveTextEditor();
  2. editorPromise.then(function(editor) {
  3. let selection = editor.selection;
  4. let document = editor.document;
  5. let word = document.getText(selection);
  6. let reversed = word.split('').reverse().join('');
  7. editor.edit(editBuilder => {
  8. editBuilder.replace(selection, reversed);
  9. });
  10. });

setSelection

设置主选择区域,该API会首先清除原来的光标选择,如果要使用多光标,请使用addSelection方法

参数说明

参数名称 参数类型 描述
active Number 选择区域中带光标的一侧,详情见下图
anchor Number 选择区域中不带光标的一侧,详情见下图

TextEditor - 图1

返回值

返回类型 描述
Promise<void> Promise

示例

  1. let editor = hx.window.getActiveTextEditor();
  2. editor.then((editor)=>{
  3. editor.setSelection(10,12);
  4. })

addSelection

增加新的选择区域,调用后会在编辑器内追加一个新一个光标。

参数说明

参数名称 参数类型 描述
active Number 选择区域中带光标的一侧,详情见下图
anchor Number 选择区域中不带光标的一侧,详情见下图

TextEditor - 图2

返回值

返回类型 描述
Promise<void> Promise

示例

  1. let editorPromise = hx.window.getActiveTextEditor();
  2. editorPromise.then((editor)=>{
  3. editor.setSelection(10,12).then(()=>{
  4. editor.addSelection(16,18);
  5. });
  6. })