Какой наилучший инструмент для создания шаблонов кода для Emacs?[закрыто]

StackOverflow https://stackoverflow.com/questions/61446

Вопрос

В частности, какой пакет snippets самый лучший из существующих?

Характеристики:

  • легко определяемые новые фрагменты (обычный текст, пользовательский ввод по умолчанию)
  • простая навигация между предопределенными позициями во фрагменте кода
  • многократная вставка одного и того же пользовательского ввода
  • принимает выбранный в данный момент текст в качестве пользовательского ввода
  • кросс-платформенный (Windows, Linux)
  • динамически вычисляемые выражения (встроенный код), написанные на сжатом языке программирования (предпочтительны Perl, Python, Ruby)
  • прекрасно сосуществует с другими пакетами в Emacs

Пример шаблона кода, простой for цикл в C:

for (int i = 0; i < %N%; ++i) {
  _
}

Для такого распространенного кода требуется много текста.Я хочу вызвать шаблон кода или фрагмент кода, который вставляет этот шаблонный код для меня.Кроме того, он останавливается (при нажатии клавиши TAB или другой клавиши) на %N% (мой ввод заменяет его), и конечное положение курсора равно _.

Это было полезно?

Решение

Фрагменты текста TextMate являются наиболее близким совпадением, но это не кроссплатформенное решение и не для Emacs.

Вторая ближайшая вещь - это ясниппет (скринкаст показывает основные возможности).Но это мешает hippie-expand пакетом в моей настройке и встроенным языком является EmacsLisp, который мне не нравится снаружи .emacs.

Редактировать:Разместил свой ответ здесь, чтобы разрешить голосование по yasnippet.

Другие советы

Лично я использую Dmacro уже много лет (ftp://ftp.sgi.com/other/dmacro/dmacro.tar.gz).

Вот обзор этого, в котором также упоминаются некоторые альтернативы: http://linuxgazette.net/issue39/marsden.html

В EmacsWiki есть страница шаблонизаторов.

Из них я использовал темп в (далеком) прошлом, чтобы добавить поддержку таблиц к html-вспомогательный режим, но не знаю, как это развивалось за последние 15 лет.

Я бы добавил свой голос за фрагменты темпа ...простой в настройке, мощный (вы можете запустить произвольный elisp в своем шаблоне - так что вы можете сокращать параметры, искать имена файлов и классы, подсчитывать параметры и т.д.), Устанавливать отступы, интегрировать с сокращениями ...Я им часто пользуюсь ;)

Я голосую за http://cedet.sourceforge.net/srecode.shtml

Он имеет очень чистый синтаксис и имеет доступ к среде кода через Semantic.

Также это часть большого хорошо поддерживаемого CEDET дистрибутив (который был встроен в Emacs для серии версий 24.x).

Обновить https://github.com/capitaomorte/yasnippet также является мощным шаблонизатором.Но он использует уродливую схему именования файлов (ваше имя файла === имя шаблона), поскольку вы не можете поместить несколько шаблонов в один файл и у вас проблемы с национальными наборами символов...

Вы можете попробовать облегченное решение мубан.эль

Он полностью написан на Elisp и имеет очень простой синтаксис.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top