LINUX.ORG.RU

Автодополнение функций

 ,


0

2

Здравствуйте, интересует возможность автодополнения в emacs функций (желательно с выпадающим списком и описанием), которые содержатся в подключаемых библиотеках. Знаю про auto-complete, но он не ищет в подключаемых библиотеках. Или такой вопрос, как проще всего получить информацию о содержащихся в библиотеке функций с их описанием? Знаю про cplusplus.com, но хочется чего-нибудь не привязанного к браузеру.

Ответ на: комментарий от quiet_readonly

Речь не о полноценных ide: во всех известных автодополнение есть по умолчанию, меня же интересует именно в emacs'e, clang complete уже ближе.

maglight
() автор топика
Ответ на: комментарий от hope13

Совсем близко, только это уже попытка сделать из emacs'a полноценную ide, мне же нужен только быстрый доступ к документации.

maglight
() автор топика

Можно даже что-нибудь наподобие info страниц по функциям стандартных библиотек. Неужели нет ничего подобного?

maglight
() автор топика
Ответ на: комментарий от Norgat

Спасибо, это решает проблему автодополнения функций из стандартных библиотек, но не решает проблему вывода документации по какой-либо функции? Кто чем пользуется, не зная возможностей библиотеки?

maglight
() автор топика
Ответ на: комментарий от maglight

Разница между emacs и полноценными IDE в том, что вторые хранят информацию о проекте целиком, включая флаги, макросы и пути поиска заголовков.

Без этой информации нельзя осуществить корректный анализ кода в файле, а значит нельзя и определить полный квалификатор для функции или типа, подключённого из стороннего файла (например, std::cout или boost::timer::cpu_timer). Если же вы уверены, что в файле всегда записан полный и корректный квалификатор функции, то можно сделать плагин для извлечения документации по квалификатору функции из qch — так работает QtCreator.

Ну или использовать assistant и сгенерированный с помощью doxygen qch файл.

quiet_readonly ★★★★
()
Ответ на: комментарий от maglight

Кто чем пользуется, не зная возможностей библиотеки?

Для этого у каждой библиотеки есть мануал.

no-such-file ★★★★★
()
semantic-ia-show-doc
    shows documentation for function or variable, whose names is under point. Documentation is shown
    in separate buffer. For variables this command shows their declaration, including type of
    variable, and documentation string (if it's available). For functions, prototype of the function
    is shown, including documentation for arguments and returning value (if comments are available);

semantic-ia-show-summary
    shows documentation for name under point, but information is shown in the mini-buffer, so user
    will see only variable's declaration or function's prototype;

semantic-ia-describe-class
    asks user for a name of the class, and return list of functions & variables, defined in given
    class, plus all its parent classes.

не оно?

proofit404
()

Я использую auto-complete-async и костыль, который из ede описания правильно формирует параметры для его запуска, что бы искал в подключаемых библиотеках )

vasily_pupkin ★★★★★
()

Советую irony-mode. Это бэкенд для auto-complete и yasnippet, использует libclang.

как проще всего получить информацию о содержащихся в библиотеке функций с их описанием?

Gnu global, clang ctags (и еще куча реализаций на clang).
Програмно: libclang.
В Emacs: см. semantic, например semantic-fetch-tags.

gv
()

Всем спасибо, узнал много нового.

maglight
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.