Я пытаюсь установить пакет иронии для разработки на С ++ на emacs на Ubuntu 18.04 через melpa. Я установил пакет иронии melpa с помощью package-install, а также сервер иронии с Irony-install-server, и он скомпилирован и установлен нормально. Проблема заключается в том, что после установки и настройки я не могу использовать автозаполнение. Я считаю, что сервер иронии вообще не запускается. Я перехожу по этой ссылке: https://trivialfis.github.io/emacs/2017/08/02/C-C++-Development-Environment-on-Emacs.html Я также использую пакет фирменной иронии, как в приведенной выше ссылке. мой (относительная часть) init.el выглядит следующим образом:
(defun trivialfis/local-set-keys (key-commands)
"Set multiple local bindings with KEY-COMMANDS list."
(let ((local-map (current-local-map)))
(dolist (kc key-commands)
(define-key local-map
(kbd (car kc))
(cdr kc)))))
(add-hook 'c++-mode-hook 'irony-mode)
(add-hook 'c-mode-hook 'irony-mode)
(add-hook 'objc-mode-hook 'irony-mode)
(add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)
(require 'cedet)
;;(setq load-path (remove-if (lambda (x) (string-match-p "cedet" x)) load-path))
;; Load a custom version of cedet, if available
;;(when (file-exists-p "/home/vamsi/Software/cedet/cedet-devel-load.el")
;; (load "/home/vamsi/Software/cedet/cedet-devel-load.el"))
'(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode)
(setq semantic-default-submodes
'(;; Perform semantic actions during idle time
global-semantic-idle-scheduler-mode
;; Use a database of parsed tags
global-semanticdb-minor-mode
;; Decorate buffers with additional semantic information
global-semantic-decoration-mode
;; Highlight the name of the function you're currently in
global-semantic-highlight-func-mode
;; show the name of the function at the top in a sticky
global-semantic-stickyfunc-mode
;; Generate a summary of the current tag when idle
global-semantic-idle-summary-mode
;; Show a breadcrumb of location during idle time
global-semantic-idle-breadcrumbs-mode
;; Switch to recently changed tags with `semantic-mrub-switch-tags',
;; or `C-x B'
global-semantic-mru-bookmark-mode))
(add-hook 'after-init-hook 'global-company-mode)
(add-hook 'emacs-lisp-mode-hook 'semantic-mode)
(add-hook 'python-mode-hook 'semantic-mode)
(add-hook 'java-mode-hook 'semantic-mode)
(add-hook 'c-mode-hook 'semantic-mode)
(add-hook 'c++-mode-hook 'semantic-mode)
;; etc etc
(add-hook 'prog-mode-hook 'semantic-mode)
(add-hook 'c++-mode-hook '(lambda()
(cmake-ide-setup)
(trivialfis/local-set-keys
`("C-c C-a" . cmake-ide-compile)
)))
(add-hook 'c++-mode-hook #'(lambda ()
(setf company-backends '())
(add-to-list 'company-backends 'company-keywords)
(add-to-list 'company-backends 'company-irony)
(add-to-list 'company-backends 'company-irony-c-headers)
))
мои вопросы заключаются в следующем: 1) В процессе отладки проблемы я удалил папку с иронией из папки emacs.d / elpa и теперь, когда я пытаюсь переустановить его, emacs выдает [нет соответствия], когда я пытаюсь установить пакет RET ирония RET. Я попытался обновить содержимое, но все равно получаю ту же ошибку. Так как мне его переустановить? 2) После переустановки как отладить эту проблему? Почему я не получаю автозаполнение? Моя конфигурация с фирменной иронией в порядке?
Заранее спасибо