Есть ли возможность добавить равенства и круглые скобки при использовании автозаполнения в документе XML?
Я работал в редакторе XML, и я также работаю над добавлением поддержки автозаполнения XML в редакторе Ace.
Я пытаюсь найти, есть ли возможность автоматически добавить знак равенства и круглые скобки, а затем установить курсор внутри круглых скобок при использовании предложения автозаполнения. Я видел эту функцию в другом редакторе XML.
Например, если я набираю следующее слово "lab":
<s:Button lab| />
и затем нажмите CTRL+ пробел, это вызовет предложения. Затем, если я выберу "метка" из списка предложений, мне предложат слово "метка", после него ставят знак равенства и круглые скобки, а внутри помещают курсор, как показано ниже:
<s:Button label="|" />
Есть ли способ сделать это?
1 ответ
Я должен установить type
свойство "фрагмент", а затем установить snippet
Свойство, к которому я хочу автозаполнение:
var autoCompleteObject = new Object();
autoCompleteObject.value = "Greetings";
autoCompleteObject.type = "snippet";
autoCompleteObject.snippet = "Hello ${1:World}. Welcome to ${2:Earth}";
Когда ваш редактор использует объект, показанный выше, тогда, когда пользователь использует ваш редактор и выбирает "Привет" в меню автозаполнения, в документ вставляется текст "Hello World. Welcome to Earth".
Слово "Мир" выбрано, и пользователь может изменить его или оставить как есть. Когда пользователь снова нажимает на вкладку, выбирается слово "Земля", и шклхее имеет ту же опцию, что и раньше. Вы можете использовать пустой объект, чтобы просто поместить курсор "${3}".
Нумерация - это порядок выбора токенов.