为ace编辑器设置值,而无需选择整个编辑器


92

因此,您可以使用来设置ace编辑器setValue的值,但是在设置值之后,编辑器将选择编辑器的整个值。您如何禁用此功能?这意味着当我将ace编辑器的值设置为Hello world,它不会突出显示Hello world

Answers:


165

您可以使用第二个参数来控制setValue之后的光标位置

editor.setValue(str, -1) // moves cursor to the start
editor.setValue(str, 1) // moves cursor to the end

17

您甚至可以在执行setValue()之后使用clearSelection();

editor.setValue("Hello World");
editor.clearSelection(); // This will remove the highlight over the text

10

这对我有用!

editor.setValue(editor.getValue(), 1);

0

我一直遇到你同样的问题。

即使您可以将第二个参数设置为1-1,我认为您也应该检查一下:https : //ace.c9.io/api/editor.html#Editor.setValue

Editor.setWrapBehavioursEnabled(Boolean enabled)

创建编辑器后,请使用此权限。

这对我来说很好。此方法与用户共享的方法之间的区别是,插入符号的位置没有更改,您可以使用自己移动它Editor.selection.moveTo(row, column),这样,当使用CTRL + Z撤消操作时,用户将不会遇到奇怪的插入符号位置更改的情况。一种行为 :)


1
这个答案还不清楚,您是否意味着Editor.setWrapBehavioursEnabled(Boolean enabled)在初始化编辑器后立即调用某些值将阻止在调用时选择所有文本editor.setValue
Macario

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.