Отступ аргумента Java-режима в Emacs - PullRequest
12 голосов
/ 05 августа 2011

Мой java-режим в emacs хочет использовать такие аргументы функций, как этот:

someLongFunctionName(
                     argumentNumberOne,
                     argumentNumberTwo,
                     argumentNumberThree,
                     argumentNumberFour
                     );

Здесь есть две проблемы.Во-первых, он хочет выровнять начало аргументов с концом имени функции.Во-вторых, он хочет обработать партию в шкафу, как если бы он был аргументом, и таким образом сопоставляет его со всеми остальными аргументами.Мне не нравится ни одно из этих поведений.

Я бы предпочел, чтобы он делал отступ для моего кода следующим образом:

someLongFunctionName(
    argumentNumberOne,
    argumentNumberTwo,
    argumentNumberThree,
    argumentNumberFour
);

c-mode по умолчанию намного лучше справляется с этим, иЯ хотел бы перенести это поведение в java-режим, если это возможно.

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

1 Ответ

14 голосов
/ 05 августа 2011

Попробуйте это

(defun my-indent-setup ()
  (c-set-offset 'arglist-intro '+))
(add-hook 'java-mode-hook 'my-indent-setup)

С http://www.emacswiki.org/emacs/IndentingC

...