emacs에 현대적인 에디터에 지지 않는 보완 기능을...(2)

4598 단어 C++Emacs
아무래도 "무게"입니다.
지난번에 계속해서 emacs의 보완 기능에 대해 써 갑니다.

company



코딩하는 동안 보완을 위해 company를 사용합니다.

MSYS2에서 개발 빌드를하고 있으므로 아래 명령을 사용하여 cmake를 설치합시다.
MSYS2에 emacs를 도입하는 것에 대한 이전의 기사가 도움이 될 수 있습니다.

MSYS2에서 이맥스 생활 시작
htps : // 코 m / 리오 18020 / ms / 2에 f7 아 4973384463d554에
pasman -S mingw-w64-x86_64-cmake
pacman -S mingw-w64-i686-cmake

clan 설치


pasman -S mingw-w64-x86_64-clang
pacman -S mingw-w64-i686-clang

irony 설치


M-X packge-install [RET] irony, M-X packge-install [RET] company-irony 로 irony를 설치합시다.
irony란 C/C++로 코딩할 때 보완 등을 할 때 필요합니다. 설치 후 init.el에 다음을 추가합니다.
(use-package irony
  :defer t
  :commands irony-mode
  :init
  (add-hook 'c-mode-hook 'irony-mode)
  (add-hook 'c++-mode-hook 'irony-mode)
  :config
  ;; C言語用にコンパイルオプションを設定する.
  (add-hook 'c-mode-hook
            '(lambda ()
               (setq irony-additional-clang-options '("-std=c11" "-Wall" "-Wextra"))))
  ;; C++言語用にコンパイルオプションを設定する.
  (add-hook 'c++-mode-hook
            '(lambda ()
               (setq irony-additional-clang-options '("-std=c++14" "-Wall" "-Wextra"))))
  (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)
  ;; Windows環境でパフォーマンスを落とす要因を回避.
  (when (boundp 'w32-pipe-read-delay)
    (setq w32-pipe-read-delay 0))
  ;; バッファサイズ設定(default:4KB -> 64KB)
  (when (boundp 'w32-pipe-buffer-size)
    (setq irony-server-w32-pipe-buffer-size (* 64 1024)))
  )

(use-package company-irony
  :defer t
  :config
  ;; companyの補完のバックエンドにironyを使用する.
  (add-to-list 'company-backends '(company-irony-c-headers company-irony))
  )


그 외, C++로 써 갈 때에 넣어 두는 & 설정해 두면 편리한 설정을 아래에 써 둡니다.
(require 'cc-mode)
;; c-modeやc++-modeなどcc-modeベースのモード共通の設定
(add-hook
 'c-mode-common-hook
 (lambda ()
   ;; k&rスタイルをベースにする
   (c-set-style "k&r")
   ;; スペースでインデントをする
   (setq indent-tabs-mode nil)
   ;; インデント幅を2にする
   (setq c-basic-offset 2)
   ;; 自動改行(auto-new-line)と
   ;; 連続する空白の一括削除(hungry-delete)を
   ;; 有効にする
   (c-toggle-auto-hungry-state 1)
   ;; CamelCaseの語でも単語単位に分解して編集する
   ;; GtkWindow         => Gtk Window
   ;; EmacsFrameClass   => Emacs Frame Class
   ;; NSGraphicsContext => NS Graphics Context
   (subword-mode 1)
   ))

(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode))

;; undo-tree
(require 'undo-tree)
(global-undo-tree-mode)

;; flycheck
(require 'package)
(global-flycheck-mode)

(require 'google-c-style)
(defun cc-mode-init ()
  (google-set-c-style)
  (setq indent-tabs-mode t)
  (setq c-basic-offset 4)
  (c-set-offset 'case-label 0)
)

이상의 설정으로부터 실현된 보완의 모습을, 「emacs에 모던한 에디터에 지지 않는 보완 기능을...(1)」로 기술한 같은 내용을 쓰면서 확인해 봅시다. QtCreator와 비교됩니다.
h tps:// 퀵했다. 작은 m/리오 18020/ MS/57 아바 C4 그림 df9b426cf1



include의 기술은 보완되지 않지만. . .



보완이 나오는 것이 조금 느린 것과 Ctrl+Alt+i를 입력하지 않으면 보완 후보가 나오지 않는 것도 불만이다.
QtCreator를 넘을 수 있어요. . .

아직도 수행이 필요합니다. 이하의 서적 등으로부터 정보를 조사하면서 키워 나가려고 한다.
좋은 것이 발견되면 기사도 갱신해 갑니다.
  • Emacs에 관하여 구입한 책 목록
  • Emacs 실천 입문 ~ 사고를 직관적으로 코딩하고 개발을 가속한다
  • Emacs 테크닉 바이블~작업 효율을 카이젠하는 200의 기술~
  • 입문 GNU Emacs






  • 좋은 웹페이지 즐겨찾기