LINUX.ORG.RU

emacs и автодополнение (и автодополнение в принципе)

 , ,


1

2

автокомплит везде какой-то медленный, и это со внешними то серверами.

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

интересуют: пейтон, хаскель, ну и кресты.

для пейтона есть анаконда-мод, но автокомплита я там не увидел.

для крестов пробовал ycmd. на вим ycmd просто летал. на емаксе было медленнее, настолько, что пришлось юзать gtags. gtags, карл!!!! сейчас уже лучше? а то ставить лень, да и прям сейчас мне плюсы и не нужны.

реквестирую истории успеха.

Deleted

Ответ на: комментарий от anonymous

мелпа подключена, анон чертов.

Deleted
()

История успеха: irony-mode+company-irony+flycheck в плюсах, haskell-mode+company-ghci+flycheck в хаскеле. irony-mode летает на больших файлах, а вот company-ghci начинает подлагивать (иногда заметно).

balsoft ★★
()
Ответ на: комментарий от balsoft

irony-mode+company-irony+flycheck

(defun use-company-irony ()
  (use-package company :config (setq company-async-timeout 50))
  (global-company-mode)

  (use-package irony)
  (use-package company-irony)

  (irony-cdb-autosetup-compile-options)
  (add-to-list 'company-backends 'company-irony)
)

объявляю какую-нибудь функцию с длинным именем, начинаю ее набирать, останавливаюсь на половине, автокомплит допердывает только через полсекунды.

haskell-mode+company-ghci+flycheck

щас попробую

Deleted
()

В emacs почти всё работает через company-mode, на сколько я понял. Для питона есть elpy. Для плюсов есть irony-mode. Здесь можно найти более полный список для плюсов. А вообще скорость это субъективный параметр, который складывается из разных факторов. К примеру по умолчанию автодополнение начинает срабатывать с 3го символа, если не ошибаюсь, к тому же есть задержка на срабатывание. Задержка, скорее в самом company. Вроде читал где-то, что задержка эта выставлена чтобы не отвлекать и здравое зерно здесь есть.

andalevor ★★
()
Ответ на: комментарий от SuoiCat

надо посмотреть как у них что.

а летает как? всмысле вообще ждать не приходится? ну или даже с нажатия таба, сразу список появляется?

Deleted
()
Ответ на: комментарий от Deleted

У него брейнлаг=задержка дополнения. Все летает.

anonymous
()
Ответ на: комментарий от Deleted

объявляю какую-нибудь функцию с длинным именем, начинаю ее набирать, останавливаюсь на половине, автокомплит допердывает только через полсекунды.

Хм, может быть у тебя железо из 2002? У меня на довольно слабеньком ноуте задержка незаметная, точно меньше, чем пол-секунды (хотя я не понимаю, что такого в том, чтобы подождать полсекунды вместо набора текста, ну да ладно). Учти, что если полсекунды для тебя - долго, то company-ghci даже не пробуй, там на файлах в >200 строк секунда - нормальная задержка.

balsoft ★★
()
Ответ на: комментарий от andalevor

Для плюсов есть irony-mode.

да, выше про него написал.

Для питона есть elpy.

Спасибо за ссылку. Попробовал, дополняет быстро. Правда надеялся, что будет хотя бы параметры в том же списке показывать.

Еще попробовал jedi, у него видимо какой семантический анализ есть, судя по выхлопу вида [f] function_name но из того же import matplotlib, matplotlib. он дополнять не хочет. Надо поразбираться, все же он покруче выглядит.

Deleted
()
Ответ на: комментарий от balsoft

Хм, может быть у тебя железо из 2002?

i5, ssd, ram 8gb

company-ghci даже не пробуй

да, впрочем нашел дополнение в самом intero-mode (у меня оказывается таб был перемаплен `TAB (translated from <tab>) runs the command evil-jump-forward`, хз как я до сих пор этого не замечал). Так да, дополнение не очень шустрое, но для локальных имен вполне норм.

Deleted
()

vim-lsp устраивает. Если пальцы/мысль быстрее чем комплит, то смысл его ждать, а если не знаешь чего писать - всё равно потупишь. В общем на скорость у меня пока ни разу возмущения не было, может я слишком не притязателен - х3. Ведь без бенчмарков - скорость это субъективщина.

pon4ik ★★★★★
()
Ответ на: комментарий от pon4ik

https://github.com/emacs-lsp/lsp-mode

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

наверное даже больше впечатляет то, что все работает сразу, для разных языков и со всеми свистелками. мне эта ide-experience инициатива очень нравится. особенно lsp-ui. если кто тоже впервые видит, советую сходить по ссылке.

на этом пожалуй и остановлюсь. буду им тыкать в vs code фанбоев, которые говорят, что емакс - не более чем текстовый редактор, на злобу дня так сказать, кхе хе.

Deleted
()
Ответ на: комментарий от pon4ik

а если не знаешь чего писать - всё равно потупишь.

ну вот когда раступишь, тогда автокомплит и пригодится, или быстрые пальцы.

Да вообще, просто раздражает, когда что-то лагает, вот и все.

Deleted
()

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

Int64 ★★★
()
Ответ на: комментарий от Deleted

автокомплит допердывает только через полсекунды.

(setq company-dabbrev-downcase 0)
(setq company-idle-delay 0)
raven_cler ★★
()

Int64, raven_cler, balsoft

всем спасибо, но все оказалось гораздо проще, я смудлонил и забыл, что надо M-x irony-mode (._.)\

работает быстро.

не знаю откуда шло автодополнение раньше, может штатные средства сompany-mode. даже стандартные либы дополнял, сцуко.

в старом проектном конфиге у меня все это было включено. я уж не помню как быстро все работало, но gtags был мне явно нужен судя по вот этой строке оттуда: `(setq company-backends '(company-irony company-gtags))`.

Deleted
()
Последнее исправление: meatich (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.