[Emacs][C#] C#ですらEmacsで書きたい人のcsharp-mode
C#のソフトを作る時、もちろんVisualStudioも使うんだけど、特にGUIを使わない部分だと使い慣れたEmacsの方がメリットが多いので、csharp-modeを試してみた。
ほとんどの部分で問題は無いんだけど、一部のインデントがバグってるのが嫌だなー、と思って調べてたら。こんなのが。
EmacsWiki: CSharp Mode - Incorrect indentation
- (誰か) インデントが変じゃない?
- (csharp-mode作者) 別に?ただのちょっと変わったインデントでしょ? c-set-offset 関数で好きなように設定したら?
C#なんだからある程度VS標準のインデントに合わせた方がいいんじゃね?って思いつつ、
ってことで c-set-offset でインデントを調整してみた。
gist: 775778 - csharp-modeのインデントをVisualStudioに近づける設定- GitHub
;;-------------------------------------------------------------------------- ;; csharp-mode ;; (install-elisp-from-emacswiki "csharp-mode.el") ;;-------------------------------------------------------------------------- (require 'csharp-mode) ;; Cモード共通フック (add-hook 'csharp-mode-hook '(lambda() (setq comment-column 40) (setq c-basic-offset 4) (font-lock-add-magic-number) ;; オフセットの調整 (c-set-offset 'substatement-open 0) (c-set-offset 'case-label '+) (c-set-offset 'arglist-intro '+) (c-set-offset 'arglist-close 0) ) )
VisualStudioでの見た目に大分近づけたはず。変な所があったらコメントかTwitterでご指摘お願いします。
※ 始めて使ったけど、c-set-offset って便利!!