emacs 24.4.1 终极 C++智能提示解决方案

采用ycmd模式 加上 前面介绍的company-mode

首先下载并安装ycmd server

参考,重点内容已经截出来

Building

[Clients commonly build and set up ycmd for you; you are unlikely to need tobuild ycmd yourself unless you want to build a new client.]

This is all for Ubuntu Linux. Details on getting ycmd running on other OS‘s can befound in YCM‘s instructions (ignore the Vim-specific parts).

First, install the dependencies:

sudo apt-get install build-essential cmake python-dev

When you first clone the repository you‘ll need to update the submodules:

git submodule update --init --recursive

Then run ./build.py --clang-completer --omnisharp-completer --gocode-completer.This should get you going.

For more detailed instructions on building ycmd, see YCM‘sinstructions (ignore the Vim-specific parts).

编译好后,会出现一个在ycmd目录下出现一个同名的ycmd目录。这个路径等会需要。

然后用package system安装ycmd和company模块

这个不再细说。

配置init.el文件如下

;; company mode
(add-hook ‘c++-mode-hook ‘global-company-mode)

;; ycmd
(require ‘ycmd)
(add-hook ‘c++-mode-hook ‘ycmd-mode)
(set-variable ‘ycmd-server-command ‘("python" "/home/dean/work/software/ycmd/ycmd"))
(set-variable ‘ycmd-extra-conf-whitelist ‘("/home/dean/work/gitlab/gitlab.com/cppwizard/console/*"))

(require ‘company-ycmd)
(company-ycmd-setup)

为C++工程配置专门的ycmd文件

文件可以从ycmd的example目录中复制出来,名为.ycm_extra_conf.py,放在这里

/home/dean/work/gitlab/gitlab.com/cppwizard/console/*

我做了修改,主要是改了include目录,删除了object c的配置

flags = [
‘-Wall‘,
‘-Wextra‘,
‘-Werror‘,
‘-fexceptions‘,
‘-DNDEBUG‘,
# THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won‘t know which
# language to use when compiling headers. So it will guess. Badly. So C++
# headers will be compiled as C headers. You don‘t want that so ALWAYS specify
# a "-std=<something>".
# For a C project, you would set this to something like ‘c99‘ instead of
# ‘c++11‘.
‘-std=c++11‘,
# ...and the same thing goes for the magic -x option which specifies the
# language that the files to be compiled are written in. This is mostly
# relevant for c++ headers.
# For a C project, you would set this to ‘c‘ instead of ‘c++‘.
‘-x‘,
‘c++‘,
‘-isystem‘,
‘/usr/include‘,
‘-isystem‘,
‘/usr/local/include‘,
‘-isystem‘,
‘/home/dean/work/gitlab/gitlab.com/cppwizard/console/include‘
]

使用吧,重启emacs, 进入C++代码开始编辑,第一次会说等待服务启动,那就过会儿,再试。会看到很舒服的提示,不仅标准库能自动提示,自己的代码也行了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 21:58:10

emacs 24.4.1 终极 C++智能提示解决方案的相关文章

emacs 24.4.1 利用c++智能提示

Ubuntu 14.10系统,通过emacs package system安装了模块auto-complete-clang 然后进入.emacs.d/init.el中如下配置: ;; auto complete (require 'auto-complete) (add-to-list 'ac-dictionary-directories "~/.emacs.d/elpa/auto-complete-20150408.1132/ac-dict/") (add-to-list 'ac-u

struts.xml配置文件没有智能提示解决方案

在配置文件中没有智能提示,例如在package包里面敲action没有显示提示. 不能提示是dtd的问题,所以要导入本地dtd文件 以下是导入过程: 先用工具找到dtd文件所在位置,搜索xml,选择File System后添加相应的dtd文件 关掉struts配置文件后重新打开即可..

NopCommerce源码插件没有智能提示解决方案

插件项目-属性-生成-输出路径 bin\: 插件项目-引用-选中所有文件-属性-复制到本地true: 生成选中插件项目 重启VS Vs2015.Vs2013亲测可行 感谢NopCommerce探索群(75272942)-深圳-阿海(13913127)提供解决方案

vs2015web工程引用bootstrap.min.css无法智能提示的问题解决

环境:win10x64 vs2015企业版 项目:空白web项目(.net framework4) 问题:html页面加入压缩后的css(eg:bootstrap.min.css),编码的时候无法智能提示 解决方案 只需要将对应的未压缩的css(eg:bootstrap.css)也加入项目中 pass:html无需引用未压缩的css(eg:html仍引用bootstrap.min.css),就可以智能提示了 写在最后 经测试,vs2010里面是没有这个问题的 经测试,所有aspx页面没有这个问题

Emacs 24.3 配置JDEE(http://blog.csdn.net/csfreebird/article/details/19033939)

最近要重回Java编程,所以打算在最新版本的Emacs 24.3上配置JDEE,听说会有些问题,特此记录安装过程. Emacs 24.3内置了CEDET, 版本是2.0, 这是一个让人困惑的事情,因为官方站点http://cedet.sourceforge.net/ 已经几年没有发布新版了,目前版本是1.1 我的JDK和Maven已经安装: [plain] view plaincopyprint? mvn --version Apache Maven 3.1.1 (0728685237757ff

jquery php 百度搜索框智能提示效果

这个程序是利用php+ajax+jquery 实现的一个仿baidu智能提示的效果,有需要的朋友可以下载测试哦. 代码如下 index.html文件,保保存成index.htm <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&qu

一个基于jquery的智能提示控件intellSeach.js

一.需求 我们经常会遇到[站内搜索]的需求,为了提高用户体验,我们希望能做到像百度那样的即时智能提示.例如:某公司人事管理系统,想搜索李XX,只要输入“李”,系统自然会提示一些姓李的员工,这样方便用户使用.说白了,就是用户边输入,系统会提示相关的结果:或者,当用户点击搜索框时,就推荐一些内容,如360.百度都会提示今天的主要新闻或搜索量大的内容. jquery 已经有一个这样的插件了,叫 autocomplete, 但我觉得不好用.关于autocomplete的介绍也很多,有兴趣的朋友可以去试试

VSCode 自动补全(智能提示)

自动补全(智能提示) 因为之前微软推出了typescript语言,结合tsd文件,用visual studio写typescript代码是相当爽的,智能提示的功能非常nb. 这个功能理所应当也被vsc继承了. vsc的自动补全用的是typings. The TypeScript Definition Manager(之前的tsd已经弃用了,faq里有说明) https://github.com/typings/typings 和npm很像,有木有? 目前主流的前端类库/框架,包括node.js及

Servlet+Ajax实现搜索智能提示

一般在百度搜索框输入关键词时,会弹出一些相关信息提示,方便点选: 页面(search.jsp): 1 <input type="text" name="keyWords" id="keyWords" style="width:200px; height:20px;" /> 2 <input type="button" id="button" value="百度