Как управлять добавлением отступа после открывающей скобки в Emacs

Eclipse не оказывает влияния на Mac OS вне его каталог, таким образом, нет никакого удаления задач.

я думаю, что то, С чем Вы сталкиваетесь, является результатом Eclipse, переключающего сменную систему распределения недавно. Существует теперь два избыточных и не очень совместимые средства установки плагинов. Это - полная путаница. Можно быть более обеспечены (если возможный) установка более поздней версии Eclipse (возможно, даже эти 3,5 этапа), поскольку они, кажется, более стабильны в том отношении.

19
задан lacker 25 September 2009 в 03:28
поделиться

2 ответа

Поскольку ecmascript-mode основан на cc-mode, вы можете использовать c-set-offset , который позволяет вам настроить смещение любого синтаксического символа. с предпочтительным значением.

В вашем случае перейдите к точке с неверным отступом, нажмите Cc Co (или введите Mx c-set-offset ), примите предложенный символ ( arglist-intro ) и установите для него новое значение (например, + , смещение по умолчанию).

Вы также можете сделать это программно в ваших dotemacs, например, с:

(add-hook 'ecmascript-mode-hook
          (lambda ()
            (c-set-offset 'arglist-intro '+)
            (c-set-offset 'arglist-close 0)))
20
ответ дан 30 November 2019 в 04:37
поделиться

ecmascript-mode , похоже, основан на cc-mode . Если вы установите стиль отступа для cc-mode , он также будет работать для ecmascript-mode . В моем .emacs есть следующий код. Когда я использую ecmascript-mode отступы по желанию:

;;{{{ c/c++ indent style variables

(require 'cc-mode)

(defconst my-c-style
  '(
    (c-electric-pound-behavior     . 'alignleft)
    (c-tab-always-indent           . t)
    (c-hanging-braces-alist        . ((block-open)
                                      (brace-list-open)
                                      (substatement-open)
                                      (defun-open before after)
                                      (defun-close before after)
                                      ))
    (c-hanging-colons-alist        . ((member-init-intro before)
                                      (inher-intro)
                                      (case-label)
                                      (access-label      after)
                                      (label             after)
                                      (access-key        after)))
    (c-cleanup-list                . (scope-operator
                                      empty-defun-braces
                                      defun-close-semi))
    (c-offsets-alist               . ((arglist-close        . c-lineup-arglist)
                                      (case-label           . 4)
                                      (statement-case-intro . 4)
                                      (access-label         . -4)
                                      (label                . -)
                                      (substatement-open    . 0)
                                      (block-open           . 0)
                                      (knr-argdecl-intro    . -)))
    )
  "My C++/C Programming Style")


; Customizations for both c-mode and c++-mode
(defun my-c-mode-common-hook ()
  ; set up for my perferred indentation style, but  only do it once
  (c-add-style "My" my-c-style 'set-this-style)
  ; we like auto-newline and hungry-delete
  (c-toggle-auto-hungry-state 1)
  ; keybindings for both C and C++.  We can put these in c-mode-map
  ; because c++-mode-map inherits it
  (define-key c-mode-map "\C-m" 'newline-and-indent)
  ; insert 8 tabs
  (setq tab-width 8)
 )

;;}}}
3
ответ дан 30 November 2019 в 04:37
поделиться
Другие вопросы по тегам:

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