ViとEmacsの両方で同じインデントスタイルでC ++でコーディングするにはどうすればよいですか?
-
07-07-2019 - |
質問
2人の開発者が同じC ++コードベースで作業して、透過的に作業できるようにするにはどうすればよいですか? C ++コードに共通のインデントスタイルがあり、一度確立されると、2人の開発者が同じインデントレベルでコードを生成できるようになります。
Emacsはインデントに対して非常に攻撃的であることがわかりました。Viはかなり寛容ですが、強制的に実行しようとします。しかし、emacsスタイル(タブとスペースの混合)は、Vimにとってそれほどフレンドリーではありません。
解決
Emacsに必要なことをさせます。
〜/ .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)
他のヒント
小さなチームを管理していたとき、私はBSDプログラム「インデント」と呼ばれるチェックインフックを使用し、すべてのコードを同じインデントスタイルに強制しました。 コーディングスタイルの強制
をご覧ください。所属していません StackOverflow