html — Как добавить автозаполнение Sublime Text 3
Правильный способ сделать что-то подобное — использовать фрагменты или дополнения. Хотя есть некоторые различия, в целом они оба работают одинаково, и какой из них вы выберете, зависит от того, сколько таких элементов вы хотите создать и насколько сложными они должны быть.
Используя фрагмент, вы должны выбрать Инструменты > Разработчик > Новый фрагмент...
из меню и заполнить шаблон фрагмента, а затем сохранить его как файл sublime-snippet
в местоположении, которое Sublime использует по умолчанию (это ваш пакет User
).
Например, это может выглядеть следующим образом на основе примера в вашем вопросе:
]]>контент> Вставить DIV с классом столбца столбец text.html фрагмент>
Фрагменты отформатированы в формате XML, и все, что находится между ![CDATA[
и
вставляется в буфер (не удаляйте CDATA
, даже если вы считаете, что он вам не нужен; если вы это сделаете, Sublime проигнорирует фрагмент).
TabTrigger указывает текст, который вы хотите использовать для запуска фрагмента, область действия
указывает, в каких файлах должен запускаться фрагмент, а описание
будет отображаться рядом с фрагментом в автоматическом режиме. — панель завершения.
Во фрагменте tabTrigger
, scope
и description
являются необязательными. Если вы не укажете tabTrigger
, вы можете развернуть фрагмент только из палитры команд или с помощью команды insert_snippet
(например, в привязке клавиш). Без области
сниппет применяется везде, а без описания
у него нет описания в панели.
Если у вас много таких элементов, для которых вы хотите добавить фрагменты, вы также можете вместо этого использовать дополнения. Они хранятся в файлах JSON с расширением 9.0005 sublime-completions
и должен быть сохранен в пакете User
(используйте Preferences > Browse Packages. ..
, если вы не знаете, где это находится.Пример такого файла:
{ "область": "text.html", "доработки": [ { "trigger": "col\tInsert DIV с классом столбца", "contents": "" }, ] }В этом формате триггер
всегда является текстом для запуска, а описание (все еще необязательное) отделяется от триггера цифрой 9.0005\t символ в
триггере
ключ.В дополнениях вы указываете область только один раз вверху, а не каждый раз, но есть некоторые функциональные различия между дополнениями и фрагментами.
В файле
sublime-snippet
может быть только один фрагмент, но файлможет содержать множество дополнений в одном файле; ключ
sublime-completes завершений
представляет собой массив, поэтому вы можете поместить более одного завершения в один и тот же файл.Завершения представляют собой JSON, поэтому содержимое, состоящее из нескольких строк или содержащее специальные символы JSON, такие как символ
"
, труднее вводить; дополнения лучше подходят для более коротких последовательностей, а фрагменты лучше подходят для более сложных вещей.Когда срабатывает автозаполнение, если есть завершение
и фрагмент
, которые могут быть автозаполнены, фрагменты
всегда «выигрывают» и вставляются, в то время как завершение повторяется. Это означает, что, например, в этом конкретном примере вам нужно нажать Вкладка дважды, потому что
col
также является именем тега.Фрагменты автоматически появляются в палитре команд (когда они применяются), а завершения — нет. В палитре команд фрагменты отображаются в виде таких команд, как
Snippet: Something
, гдеSomething
— этоописание
, если оно существует, и имя файла, если его нет.В любом случае вы можете сделать так, чтобы фрагмент/дополнение применялись только к определенным типам файлов, применив
объем
; чтобы определить соответствующую область, поместите курсор в файле в соответствующее место и выберитеИнструменты > Разработчик > Показать имя области. ..
; чем большую часть отображаемой области вы используете, тем более конкретной она становится. Как правило, достаточно верхнего уровня, например, если только вы не делаете что-то особенное.
text.html автозаполнение — Как отключить всплывающее окно автозаполнения в возвышенном, когда я нажимаю точку с запятой и пробел;
спросил
Изменено 1 год, 1 месяц назад
Просмотрено 847 раз
Я новый пользователь возвышенного. Недавно я перешел с vscode, чтобы получить более быстрый опыт работы с возвышенным. Но одна вещь в возвышенном меня очень угнетала. В моем возвышенном не работает никакой другой пакет автозаполнения, кроме возвышенного кода
intel
. С другими пакетами я не могу получить всплывающее окно автозаполнения при вводе.Вот почему мне нужно остаться только с
возвышенным кодом Intel
. Проблема с пакетом заключается в том, что я получаю всплывающее окно с автоматическим завершением, когда я даже набираю пробелили точку с запятой (;)
. Что действительно беспокоит. Есть одно решение, чтобы избавиться от него. Либо нажмитеshift + enter, либо клавишу escape
. Это действительно раздражает. Может ли кто-нибудь помочь мне с этим, пожалуйста.Примечание. Я использую возвышенный текст 4 в Linux. Кроме того, я прочитал некоторые предыдущие вопросы, но не могу найти решение.
- автозаполнение
- сублимтекст
- сублимтекст4
3
Я нашел способ отключить всплывающее окно с точкой с запятой, отредактировав setting.auto_complete_selector .
«meta.tag, source — punctuation.terminator — comment — string.quoted.double.block — string.
quoted.single.block — string.unquoted.heredoc» Фокус в добавлении — punctuation.terminator после источник селектор. Это удалит точки с запятой из auto_complete_selector в соответствии с документ Selector и документ scope_naming.
У меня была та же проблема, есть много автозаполнений, включая автозаполнение по умолчанию, которое поставляется с возвышенным.
На самом деле вы можете удалить информацию о коде и просто использовать все автозаполнение вместе с автозаполнением по умолчанию и LSP и если у вас есть какие-либо вопросы, не стесняйтесь задавать их в официальном дискорде https://discord.gg/D43Pecu
КРОМЕ SUBLIME CODE INTEL ДЕЛАЕТ ВАШЕ SUBLIME ОЧЕНЬ ЗАМЕДЛЕННЫМ
1
В ST4 введено контекстно-зависимое автозаполнение, поэтому вам больше ничего не нужно. Это достаточно хорошо и быстро. Но если вы поклонник автозаполнения, которое предоставляет vscode, вы можете использовать ——
- LSP — https://packagecontrol. io/packages/LSP
- LSP-машинопись — https://packagecontrol.io/packges/LSP-машинопись
- LSP-HTML — https://packagecontrol.io/packages/LSP-html
- LSP-CSS — https://packagecontrol.io/packages/LSP-CSS
- LSP-Json — https://packagecontrol.io/packages/LSP-json
- LSP-eslint — https://packagecontrol.io/packages/LSP-eslint
Если у вас нет мощной машины, я бы посоветовал вам не использовать LSP, потому что он создает среду выполнения узла в фоновом режиме и может поглотить все ваши ресурсы. В любом случае, я считаю, что собственные самовнушения ST4 достаточно хороши. Но LSP — это гораздо больше, чем механизм автозаполнения. Итак, вы знаете, это просто зависит от вашего варианта использования.
Лично я предпочитаю использовать LSP и отключать подсказки автозаполнения, потому что каждый раз, когда я нажимаю клавишу, он предлагает что-то около 5 секунд, в то время как завершение ST4 почти мгновенно.
Вы также можете перейти на текстовый форум Sublime — https://forum.sublimetext.com/ Если у вас есть какие-либо вопросы.
SublimeCodeIntel — https://packagecontrol.io/packages/SublimeCodeIntel последний раз обновлялся 4 года назад. 4 года — это как десятилетие в веб-разработке, поэтому я сомневаюсь, что вы получите что-то достаточно хорошее из этого пакета.
All Autocomplete — https://packagecontrol.io/packages/All%20Autocomplete последний раз обновлялся 2 года назад.
Примечание. Не забудьте установить свой язык в правой части строки состояния. В противном случае автодополнение и подсветка синтаксиса не будут работать должным образом. Например, если вы пишете jsx, выберите jsx, а не javascript, если вы используете tsx, выберите tsx, а не машинопись. Это касается всех остальных вариантов.
Вы можете отправить мне электронное письмо, если вам нужна какая-либо другая помощь —
[email protected]
Изменить. Я только что понял, что этот ответ не распространяется на заданный вопрос, но я все равно буду его поддерживать, если кто-то еще сочтет его полезным.