You are here

Автокомплит

Каждый раз когда вы начинаете печатать, редактор анализирует набранный текст и предлагает наиболее релевантные варианты продолжения слова или функции в виде симпатичного выпадающего списка. По-умолчанию функция доступна для языков программирования и для HTML, если набранное слово начинается со скобки «<».

Отключение автокомплита

Для отключения автокомплита установите false для параметра auto_complete.

В этом случае выпадающий список перестанет появляться автоматически, но его все равно можно будет вызвать вручную, когда вам это потребуется. Также, нажатие табуляции приведет к выбору наиболее подходящего варианта.

Отображение автокомплита

Для того, чтобы вызвать подсказку вручную, нажмите ctrlspace. Повторное нажатие приведет к выбору следующего в списке элемента.

Варианты срабатывания

По-умолчанию выбор в выпадающем списке происходит по нажатию на enter. Но в некоторых ситуациях, вместо комплита строки необходимо вставить перенос. Чтобы добавить однозначности своим действиям, вы можете воспользоваться параметром auto_complete_commit_on_tab. Если установить его значение как true, то автокомплит будет срабатывать только по нажатию табуляции. Enter будет работать как ему назначено природой.

Комментарии

Мое Имя's picture

Вопрос такой. Как то можно настроить автокомплит, чтобы он выспал в подсказке не все подряд слова, а только методы конкретного класса? Другими словами $this-> и вижу все методы которые есть у класса this, так как в Нетбинсе. Как это сделать?

loac's picture

Можно. Для этого нужно установить плагин SublimeCodeIntel. Правда он вклинивается не в основной автокомплит, а висит на отдельном хоткее ctrl+j.

uonick's picture

Самое проитвное, что когда пишешь на PHP всплывают в автокомплите всякая ерунда вроде этого:
http://i.imgur.com/jMbdK.png
http://i.imgur.com/v2gje.png
И как от этого избавится?

loac's picture

Если имеется ввиду подстановка в автокомплит всего подряд, то никак, по-моему.

Артём's picture

У меня автокомплит добавляет лишнюю открывающую скобку в html-тегах. то есть я набираю <d, жму enter, и редактор выдаёт мне вот <<div></div>
От чего это может быть и как это исправить?

loac's picture

Скорее всего, проблема связана с дополнением ZenCoding. С этим уже сталкивались.

Александр's picture

та же проблема, только символ добавляется в конце (должно <p>..</p>, а выходит <p>..</p>>) у меня S.Text3.

loac's picture

Я могу отправить только по той же ссылке. Проблема, скорее всего, в модуле Tag или Emmet. А что конкретно ты набираешь, что у тебя после автодополнения появляется лишняя скобка?

Александр's picture

оо,я извиняюсь, допёрло, это просто я криворукий, второй день за SText, осваиваю потихоньку) такая беда случается если набрать например "<p>" и втыкнуть Enter (или TAB), то в итоге будет "<p>..</p>>", добавится лишняя ">" в конце, а если набрать "<p" и втыкнуть TAB (или Enter) то будет как у "Артём (гость), 01 октября 2012", "<" будет в начале. Такого не возникает если тег набирать без "<",">" а просто например "div" и клацнуть TAB или "р" и потом TABом раскрыть... Такая мелочь, а дошло не сразу. Пардон, за то, что взбаламутил)
ЗЫ: Спасибо что откликнулись на мой вопрос.

Семен's picture

SublimeCodeIntel для Java не работает. Есть что-нибудь такое для java?

loac's picture

К сожалению, не встречал.

Дима's picture

Плюсую Семёна, автокомплита для Java не хватает.

Слава's picture

Как сделать, чтобы всплывали подсказки атрибутов тегов html (как в Dw)?

Например, набираю <input + пробел → список возможных атрибутов.

loac's picture

Есть дополнение HTMLAttributes, которое добавляет атрибуты тегов в код комплит. Но оно не проверяет, в каком теге вызвана подсказка и выводит список со всем подряд.

Слава's picture

Не работает sublimecodeintel: на комбинации ctrl+f3 и shift+ctrl+space вообще никак не реагирует. В чем может быть проблема?

Слава's picture

SublimeCodeIntel работает только если папка с проектом не на рабочем столе и если в файле нет кириллических символов, иначе пишет в лог ошибку:

UnicodeEncodeError: 'ascii' codec can't encode characters in position ...

loac's picture

Многие жалуются. У меня, кстати, он тоже не работает. Попробовал, предложенные другими, способы лечения недуга, не помогло. Модуль не самый удачный :-\

Слава's picture

Да, жаль, но с автокомплитом в ST большая засада.

Витёк's picture

Подскажите мне пжст. Я вчера установил сублим - были автокомплиты...Сегодня включаю - подсказок нет. В настройках auto_complete стоит true. Я не понимаю, что происходит.

loac's picture

Какая версия ST?
Синтаксис выставлен правильный (View > Syntax > ...)?
По хоткею (ctrl+space) срабатывает автокомплит?

Виктор's picture

1)syntax всё прально - css... то есть при вводе 'ba' должен высветиться background, но он не вызывается!
2)При нажатии ctrl+space работает, но хочется чтобы на автомате это дело было!
3)Версия 2.0.2
Это может быть из-за плагинов, которые я вчера установил?
(плагины: emmet, package control, sftp, side bar)

loac's picture

Попробуй добавить параметр:

"auto_complete_triggers":[{
"characters": "<abcdefghijklmnopqrstuvwxyz",
"selector": "text.html"
}],

Виктор's picture

Всё! проблема найдена! плагин: Hayaku - tools for writing css faster паразитил! Удалил его - всё нормуль пошло.... придётся аналог его качать emmet css snippets!
Спасибо тебе!

Витя's picture

У меня есть ещё один вопросик: я прально удаляю плагины?... я просто захожу в директорию куда эти плагины были установлены и вручную их удалаю

loac's picture

Если плагин был установлен при помощи Sublime Package Control, то удалять лучше с его помощью. Если вручную, то да, достаточно просто удалить папку с плагином и иногда перезагрузить редактор.

Влад's picture

Подскажите пожалуйста, как удалить плагин с помощью P.Control? Куда заходить и с какой командой это можно выполнить? Спасибо.

loac's picture

Нажми ctrlshiftp, появится список команд. Набери Remove и выбери команду Package Control: Remove Package. Появится список установленных пакетов (плагинов, подсветок синтаксиса, тем оформления и тп). Выбери ненужный и Package Control удалит его.

Сергей's picture

Аналогичная проблема, при добавлении этого параметра в Settings->User, отказывается сохранять настройки, скобки {}стоят. Программа чистая, без плагинов.

loac's picture

Какого «этого»? Без этого параметра настройки сохраняются нормально? Как вариант могут быть проблемы с правами на запись (если это Linux) или ты пытаешься отредактировать настройки по-умолчанию. Их Sublime не даст отредактировать.

Если есть ошибка синтаксиса, то редактор показывает ошибку.

Alex's picture

есть ли подсказки по параметрам функций PHP ?

Pages