Defina o valor para o editor ace sem selecionar o editor inteiro

90

Assim, você pode definir o valor de um editor ace com, setValuemas depois de definir o valor, o editor selecionará todo o valor do editor. Como você desativa isso? Isso significa que quando eu definir o valor do editor ace como Hello world, ele não destacaráHello world

Pixeladed
fonte

Respostas:

164

Você pode usar o segundo parâmetro para controlar a posição do cursor após setValue

editor.setValue(str, -1) // moves cursor to the start
editor.setValue(str, 1) // moves cursor to the end
um usuário
fonte
15

Você pode até usar clearSelection () depois de fazer um setValue ();

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

Isso funciona para mim!

editor.setValue(editor.getValue(), 1);
circuito
fonte
0

Tenho tido o mesmo problema.

Mesmo que você possa definir o segundo parâmetro como 1 ou -1 , acho que você também deve verificar isso: https://ace.c9.io/api/editor.html#Editor.setValue

Editor.setWrapBehavioursEnabled(Boolean enabled)

Use isso logo após criar o editor.

Isso funciona muito bem para mim. A diferença entre este método e aquele compartilhado por um usuário é que a posição do cursor não é alterada, você pode movê-lo você mesmo usando Editor.selection.moveTo(row, column), desta forma o usuário não experimentará mudanças estranhas de posição ao usar, digamos, CTRL + Z para desfazer uma ação :)

Razvan Tanase
fonte
1
Esta resposta não é clara. Quer dizer que chamar Editor.setWrapBehavioursEnabled(Boolean enabled)com algum valor logo após o editor ser inicializado impedirá que todo o texto seja selecionado ao chamar editor.setValue?
Macario
0
 var prevtext = $("#editor").val();
 prevtext = prevtext + "<br/>";
 $("#editor").val(prevtext).blur();
Harikesh Yadav
fonte