Запуск любого Emacs буферизует с.c расширением с шаблоном

Использование Spring EL:

@Value("#{'${my.list.of.strings}'.split(',')}") 
private List<String> myList;

Предполагая, что ваш файл свойств загружен правильно со следующим:

my.list.of.strings=ABC,CDE,EFG
15
задан vinc456 11 January 2009 в 16:50
поделиться

7 ответов

Поместите что-то как это в .emacs

(define-skeleton c-throwaway
  "Throwaway C skeleton"
  nil
  "#include <stdio.h>\n"
  "#include <stdlib.h>\n"
  "\n"
  "int main(void){\n"
  "\n"
  "}\n")

И оценка (C-x C-e) это. Это даст Вам функцию (c-throwaway), который вставляет Ваш шаблон.

Для получения этой вставки автоматически необходимо будет активироваться auto-insert-mode. После того как Вы делаете это, Вы можете describe-variable auto-mode-alist и читать о том, как emacs делает часть своего открытого волшебства файла. Затем определите auto-insert-alist для применения его при нахождении нового файла.

, Возможно, что-то вроде этого

(define-auto-insert "\\.\\([Cc]\\|cc\\|cpp\\)\\'" 'c-throwaway)
[еще 1116] деталь:

18
ответ дан 1 December 2019 в 01:11
поделиться

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

(defun defaultCtemplate(cfilename)
    (interactive "sFilename: ")
    (switch-to-buffer (generate-new-buffer cfilename))
    (insert-file-contents "~/Desktop/test.c")
    (c-mode)
)

P.S. спасибо за вопрос, теперь я знаю, как сделать это для меня :)

4
ответ дан 1 December 2019 в 01:11
поделиться

Я использую после кода для создания файлов из шаблонов. Существует несколько шаблонов, которые являются заменами с фактическими именами файлов, и т.д.

1
ответ дан 1 December 2019 в 01:11
поделиться

Я использую template.el от http://emacs-template.sourceforge.net/

В основном, я создаю файл, названный ~/.templates/TEMPLATE.c, и затем это вставляется в мои.c файлы. Можно также использовать специальную разметку и произвольные выражения шепелявости, если Вы только хотите вывести текст в буфер. Я использую эту функцию так, чтобы модули Perl запустили с "пакета Foo:: Панель", когда их называют lib/Foo/Bar.pm. Очень удобный.

10
ответ дан 1 December 2019 в 01:11
поделиться

Вот то, как я делаю это (потому что я не знал об автоматическом режиме вставки :-)

(require 'tempo)

(setq c-new-buffer-template 
      '(
        "#include <stdio.h>\n"
        "#include <stdlib.h>\n"
        "\n"
        "int main(void){\n"
        "\n"
        "}\n"
        ))

(defun my-c-style ()
  "My editing style for .c files."
  (c-mode)
  (if (zerop (buffer-size))
      (tempo-template-c-skeleton)))

(setq auto-mode-alist
      (cons '("\\.c\\'" . my-c-style) auto-mode-alist))

(tempo-define-template "c-skeleton" c-new-buffer-template
               nil
               "Insert a skeleton for a .c document")
0
ответ дан 1 December 2019 в 01:11
поделиться

Вы также можете использовать систему шаблонов YASnippet для Emacs, в которой просто есть встроенный шаблон с именем main . Поэтому при написании кода просто введите main , нажмите TAB , и он расширит его до нужной вам формы. (И вы всегда можете написать свои собственные шаблоны сниппетов.)

4
ответ дан 1 December 2019 в 01:11
поделиться

Я использую комбинацию Defaultcontent.el и YASnippet.el . Первый заполняет новые файлы содержимым по умолчанию. Последний - своего рода облегченный макрос для генерации кода. Введите «for» и нажмите TAB, и будет вставлен каркас цикла for. И т.д. Вы можете довольно легко определить свои собственные сниппеты. "swi TAB" дает вам полный оператор переключения. И так далее.

0
ответ дан 1 December 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: