2014-03-19 8 views
2

У меня есть рабочая версия JEDI с Emacs 24.3 на osx. Функция автозаполнения замечательна, за исключением тех случаев, когда я хочу прокомментировать это! Я часто комментирую/раскомментирую часть моего кода и надеялся, что есть способ предотвратить автоматическое завершение JEDI, когда я набираю #. Любые советы или мысли были бы высоко оценены!emacs Jedi disable #

Редактировать: Когда я иду, чтобы прокомментировать несколько строк, я вхожу в #, обычно сопровождаемый DownArrow и LeftArrow, но то, что обычно происходит с включенным JEDI, появляется, что препятствует мне переходить к следующей строке, пока я не сделаю выбор: dialog that pops up

+0

Я не получаю автозаполнение в комментариях, каково значение переменной 'ac-disable-faces'? Просто создайте 'C-h v'ac-disable-faces'RET' emacs буфер справки со значением переменной. –

+0

Приносим извинения за предыдущий комментарий, у меня был отключен JEDI, поэтому я не получил возвращаемое значение.Вот результат: ac-disable-faces - это переменная, определенная в 'auto-complete.el '. Его значение (font-lock-comment-face font-lock-string-face font-lock-doc-face) Документация: Non-nil означает отключить автоматическое завершение на указанных лицах. Вы можете настроить эту переменную. [назад] – Robert

+0

Я только что обновил jedi, и я наблюдаю за поведением, о котором вы сообщили. Похоже, что это ошибка, вызванная некоторыми недавними изменениями. Это должно быть сообщено разработчикам emacs-jedi. –

ответ

0

Один из способов обойти эту проблему - выбрать линии (область), которые вы хотели бы прокомментировать, и нажать M-;. Это запускает команду comment-dwim, в которой высчитывается выбранная область (или раскомментирует ее, если она в настоящее время прокомментирована).

При использовании в сочетании с, например, mark-lines, который позволяет вам выбрать текущую строку с одним нажатием клавиши, это делает очень быстрый способ (un) комментирования частей вашего кода, даже если они охватывают только одну или две строки.

1

Вы можете использовать company-jedi для завершения вашего python. Этот пакет не имеет этой проблемы.

0

emacs-jedi dev здесь. Если emacs-jedi работает, как вы описываете, то это ошибка.

Но я не могу сказать, что не так из ограниченной информации, которую я имею. Так, только общие направления:

  1. Во-первых, всегда пытаются воспроизвести недостойное поведение в условиях чистого Emacs, описанный здесь http://tkf.github.io/emacs-jedi/latest/#quick-try

    Это поможет вам выяснить, если параметр не так или если он на самом деле является ошибкой в ​​emacs-jedi.

  2. Дайте выход M-x jedi:show-version-info. http://tkf.github.io/emacs-jedi/latest/#jedi:show-version-info

    Это помогает людям диагностировать проблему.

  3. Это предположение с вашего скриншота, но кажется, что у вас есть старая версия popup.el. Поэтому, возможно, auto-complete.el может быть старым, если вы установите их одновременно. Если вы не видите проблему в чистом Emacs (шаг 1. Я упоминал выше), который устанавливает новейшие библиотеки, то обновление их может решить проблему.

Update

Итак, я нашел способ, чтобы воспроизвести поведение, близкое к тому, что вы сказали: https://github.com/tkf/emacs-jedi/issues/147

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