2016-12-11 3 views
1

Я новичок в emacs и использую emacs 25.1 на окнах.

Я последовал this article настроить company-c-headers

Я добавил следующий код init.elКак использовать фирменные c-заголовки на Emacs

(require 'company-c-headers) 
(add-to-list 'company-backends 'company-c-headers) 
(add-to-list 'company-c-headers-path-system "C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/include") 
(add-to-list 'company-c-headers-path-system "C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/atlmfc/include") 

Я добавил следующий код .dir-locals.el, который находится в корневом каталоге моего тестирования проекта.

(add-to-list 'company-c-headers-path-user "D:/Work/Learning/Emacs/my_program/my_inc/") 


После начала Emacs и открыл D:/Work/Learning/Emacs/my_program/src/main.cpp. Под *Message* я получил .dir-locals error: Wrong type argument: listp, add-to-list.

Как это сделать?

ответ

1

Неправильная линия, которую вы добавили в .dir-locals.el. Этот файл имеет специальный формат, описанный here.

Если я не ошибаюсь, то строка, которую следует добавить к .dir-locals.el должно быть:

((nil . ((company-c-headers-path-user . ("D:/Work/Learning/Emacs/my_program/my_inc/"))))) 

Обратите внимание, что эта строка задает список company-c-headers-path-user содержать только, что один каталог; он не добавляет эту директорию в список.

+0

Это работает, спасибо большое. – sflee

Смежные вопросы