Come posso codificare in C ++ con lo stesso stile di rientro sia in Vi che in Emacs?
-
07-07-2019 - |
Domanda
Come possono lavorare due sviluppatori su una stessa base di codice C ++ in modo che possano funzionare in modo trasparente? Esiste uno stile di rientro comune per il codice C ++ in modo tale che, una volta stabilito, i due sviluppatori possano produrre codice con lo stesso livello di rientro.
Ho trovato Emacs molto aggressivo per Indentation, cerca di forzare la sua strada, mentre Vi è abbastanza indulgente. Ma gli stili di emacs (schede e spazi misti) non sono molto amichevoli con Vim.
Soluzione
Chiedi a Emacs di fare quello che vuoi.
Dal mio file ~ / .emacs:
(defun my-c-mode-common-hook ()
(local-set-key "\C-h" 'backward-delete-char)
;; this will make sure spaces are used instead of tabs
(setq tab-width 4 indent-tabs-mode nil)
(setq indent-tabs-mode 'nil)
(setq c-basic-offset 4)
(c-set-offset 'substatement-open 0)
(c-set-offset 'statement-case-open 0)
(c-set-offset 'case-label 0)
(c-set-offset 'brace-list-open 0)
)
(add-hook 'c-mode-hook 'my-c-mode-common-hook)
(add-hook 'c++-mode-hook 'my-c-mode-common-hook)
(add-hook 'perl-mode-hook 'my-c-mode-common-hook)
(add-hook 'cperl-mode-hook 'my-c-mode-common-hook)
(add-hook 'emacs-lisp-mode-hook 'my-c-mode-common-hook)
(add-hook 'nroff-mode-hook 'my-c-mode-common-hook)
(add-hook 'tcl-mode-hook 'my-c-mode-common-hook)
(add-hook 'makefile-mode-hook 'my-c-mode-common-hook)
Altri suggerimenti
Quello che ho fatto quando ho gestito un piccolo team è stato l'uso di un hook di check-in che chiamava il programma BSD "indent", che ha costretto il codice di tutti allo stesso stile di rientro. Vedi Applicazione di uno stile di codifica