YCMD FOR EMACS

安装

 

1.1 下载

去ycmd 的github 地址 clone 或者下载。 一般使用git clone 会方便一些。如下:

git clone https://github.com/Valloric/ycmd.git
Cloning into 'ycmd'...
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 24196 (delta 1), reused 2 (delta 1), pack-reused 24185
Receiving objects: 100% (24196/24196), 18.39 MiB | 52.00 KiB/s, done.
Resolving deltas: 100% (15367/15367), done.

1.2 安装相关依赖

  • 最基本的操作系统依赖包

    build-essential cmake python3-dev
    
  • 其他语言相关包 如:

    语言
    GO golang-go
    JavaScript | TypeScript npm
    C# mono-devel/mono
    Rust Cargo and rustc with rustup
    Java openjdk-8-jre

1.3 更新submodules

所谓的submodules,实际上是更新ycmd/third_party 中的各种语言的文档。

cd ycmd
git submodule update --init --recursive

过程有点儿漫长。先小睡一会儿。

1.4 安装

# 查看可用选项
python3 build.py --help
# 将已支持的语言全部安装。
python3 build.py --all

配置

配置内容如下:

 ;;;;;;;;;;;;;;;;;;;;;;;company;;;;;;;;;;;;;;;;;;
(add-hook 'after-init-hook #'global-company-mode)
;;;;;;;;;;;;;;;;;;;;;;;;;;;flycheck;;;;;;;;;;;;;;;;
(add-hook 'after-init-hook #'global-flycheck-mode)
;;;;;;;;;;;;;;;;;;;emacs-ycmd;;;;;;;;;;;;;;;;;;;
(require 'ycmd)
(add-hook 'after-init-hook #'global-ycmd-mode)
(ycmd-force-semantic-completion t)
(ycmd-global-config nil)
(ycmd-server-command (quote ("python" "/home/chris/Code/ycmd/ycmd")))
(set-variable 'ycmd-global-config "/home/chris/Code/ycmd/cpp/ycm/.ycm_extra_conf.py")
(set-variable 'ycmd-extra-conf-whitelist '("/home/chris/Code/daily_report_system/v1.0/*"))
(require 'company-ycmd)
(company-ycmd-setup)
(require 'flycheck-ycmd)
(flycheck-ycmd-setup)
 

ycmd for emacs 代码自动补全的更多相关文章

  1. notepad++代码自动补全功能

    可以代码自动补全功能,默认他是没有开启这个功能的,在首选项->备份与自动完成 里面有自动完成这一个设置,可以设置单词补全,也可以设置函数补全,这样写代码就快多了

  2. linux下让irb实现代码自动补全的功能

    我不知道其他系统上irb是否有此功能,但是在ubuntu上ruby2.1.2自带的irb默认是没有代码自动补全功能的,这多少让人觉得有所不便.其实加上也很简单,就是在irb里加载一个模块:requir ...

  3. sublime_text3代码自动补全

    因为项目需要用sublime_text3编辑器,安装之后代码自动补全功能没有,这比较苦恼. 其实蛮简单的 英文界面:menu->Preferences->Setting-User-> ...

  4. Android Studio 设置代码提示和代码自动补全快捷键--Eclipse 风格 - 转

    首先本文转自http://blog.csdn.net/csdnzouqi/article/details/50454703,是为了方便以后查看这些设置,最后在这里感谢原博主. 为了能跟上技术发展的脚步 ...

  5. codeblocks 设置代码自动补全

    熟悉使用一些开发类IDE的朋友对代码自动补全一定印象深刻,如Visual studio,eclipse等,我们在程序中定义的那一个个超长的变量函数名只需打出几个字母就可自动补全,但是在codebloc ...

  6. Linux下QTCreator代码自动补全(是真的自动补全,不是手动触发)

    在使用Windows下的QTCreator的时候,像visual studio一样代码自动补全十分方便,而在Linux下,QTCreator似乎不能做到. 网上有些说是可以设置成手动补全,今天试了一下 ...

  7. Jupyter Notebook 设置黑色背景主题、字体大小、代码自动补全

    1.背景主题.字体大小设置 安装Jupyter主题: pip install jupyterthemes 然后,更新Jupyter主题: pip install --upgrade jupyterth ...

  8. QT Creator 代码自动补全

    QT Creator 代码自动补全 用QT Creater编程,如果没有自动补全是很痛苦的事情,于是便查阅了QT的文档,发现CTRL+SPACE是自 动补全的快捷键;但是在 Creater里使用居然没 ...

  9. IntelliJ IDEA关闭代码自动补全

    关闭代码自动补全之后,可以使用[Ctrl]+[P]进行强制调出提示. [Editor]-[Code Completion]页里有个[Case sensitive completion],可以设置只第一 ...

随机推荐

  1. SpringMVC整合freeMarker实现页面静态化+SpringMVC配置多视图

    一.背景 1.什么是FreeMarker FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于 ...

  2. redis优化

    一.配置文件优化 bind 127.0.0.1 //允许连接的ip,如果就本机连接最后127.0.0.1 protected-mode yes //是否开启保护模式.默认开启,如果没有设置bind项的 ...

  3. MySQL系列:性能优化

    1. 优化简介 MySQL性能优化包括:查询优化.数据库结构优化.MySQL服务器优化等. 2. 查询优化 2.1 分析查询语句 MySQL提供EXPLAIN和DESCRIBE,用来分析查询语句. E ...

  4. Andriod App类型简介

    App三种类型与区别 原生应用程序:(Native App) 原生APP是什么?原生APP就是利用Android.iOS平台官方的开发语言.开发类库.工具进行开发.比如安卓的java语言,iOS的ob ...

  5. poj-1807(最大流)

    题意:给你n个插座,m个电器,每个电器有插头,还有k个插头转换器,可以把插座A变成插座B,转换器可以连续使用,比如A转换B,再从B转换C 解题思路:这道题就是题意麻烦,看懂了就很简单,首先建一个汇点和 ...

  6. Ubuntu下基于Virtualenv构建Python开发环境

    1.安装virtualenv并建立虚拟环境 1).更新pip版本 sudo pip install --upgrade pip 如果出现如下异常: File , in <module> f ...

  7. SQL 中左连接与右链接的区别

    在微信公众号中看到的sql左连接与右链接的总结,这个图总结的很好,所以单独收藏下:

  8. cdq分治(hdu 5618 Jam's problem again[陌上花开]、CQOI 2011 动态逆序对、hdu 4742 Pinball Game、hdu 4456 Crowd、[HEOI2016/TJOI2016]序列、[NOI2007]货币兑换 )

    hdu 5618 Jam's problem again #include <bits/stdc++.h> #define MAXN 100010 using namespace std; ...

  9. antd的Tree控件实现点击展开功能

    antd 的 Tree 控件没有提供点击展开的功能,只能通过左边的三角形实现展开和收起,没办法只好自己实现这个功能. 先看效果 如图实现的是类似 Mac 文件目录形式的结构,有箭头代表是个文件夹,点击 ...

  10. CNN:Channel与Core的高H、宽W的权值理解

    转自: 知乎问题[能否对卷积神经网络工作原理做一个直观的解释?https://www.zhihu.com/question/39022858]中YJango 的回答; 因总是忘记回答地址,方便以后查阅 ...