博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sublime安装YcmdCompletion记录
阅读量:6233 次
发布时间:2019-06-21

本文共 2059 字,大约阅读时间需要 6 分钟。

YcmdCompletion是一基于Clang的语义补全插件,安装分客户端和服务端。

1. 安装客户端

  1. 搜索Package Control, 选择YcmdCompletion即可

2. 安装服务端

有两种方式启动服务端,手动和自动。

2.1 手动方式:

编译ycmd服务,这个是需要在相应平台上自己编译的,他会去下载clang等一些库。

安装编译工具

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

下载ycmd源码,我把代码直接下载到sublime的User目录下, build之后会自动去下载clang的库。

cd ~/.config/sublime-text-3/Usergit clone git@github.com:Valloric/ycmd.git && cd ycmdgit submodule update --init --recursive./build.py --all

大概半个小时,安装成功,作者更新比较频繁,现在编译完只会生成一个库,ycm_core.so了,之前还有一个ycm_client_support.so,现在被合并了。

clipboard.png

接下来,手工启动服务器(注意当前目录一直是在ycmd这个目录下), 服务器启动需要一个配置文件ycmd/default_settings.json, 每次启动之后会自动被删除掉,所以我们先拷贝一份到当前目录下

cp ycmd/default_settings.json .

然后打开他进行修改两项,global_ycm_extra_conf指定默认的.ycm_extra_conf.py的位置和hmac_secret设定HMAC的key。

默认的.ycm_extra_conf.py下载,用来配置补全功能的设置,具体参数可以看文档

wget https://raw.githubusercontent.com/Valloric/ycmd/master/cpp/ycm/.ycm_extra_conf.py

生成HMAC key

Command Palette > Ycmd: Create HMAC keys

服务器是用python写的,所以在ycmd/ycmd下面有一个__main__.py文件,我们可以启动它。

python ycmd --port 8888 --options_file ycmd/default_settings.json

clipboard.png

服务端已经启动了,接下来配置sublime-text客户端,打开Ycmd的配置文件 Preferences > Package Settings > YcmdCompletion > Settings - Default, 修改ycmd_port端口。

这个方式的最大的好处就是,服务器可以部署在远程,或者做成Docker image,只需要指定ip和port就可以任意使用了。

2.2 自动方式

打开Ycmd的配置文件 Preferences > Package Settings > YcmdCompletion > Settings - Default,设置3个参数即可。

/* =====       YCMD AUTO START MODE       =====*/   "use_auto_start_localserver": 1,   "ycmd_path": "/home/will/.config/sublime-text-3/Packages/User/ycmd/ycmd",   "python_binary_path": "/usr/bin/python",

3. 启动Sublime,进行测试

手下设置补全触发规则,打开Preferences -> Settings - More -> Syntax Specific - User,插入下面代码。这样当输入, ::, ->就可以触发自动补全了。我增加了/,可以触发路径补全,否则需要输入匹配的字符才能补全。

{    "auto_complete_selector": "source - (comment, string.quoted)",    "auto_complete_triggers": [         {"selector": "source.c++", "characters": "."},        {"selector": "source.c++", "characters": "::"},        {"selector": "source.c++", "characters": "->"},        {"selector": "source.c++", "characters": "/"}     ]}

ycmd命令列表,包括重启服务器,显示错误列表等。

Command Palette > Ycmd:

参考文档

转载地址:http://dxxna.baihongyu.com/

你可能感兴趣的文章
day7CSS
查看>>
android中延迟执行某个任务
查看>>
蒲公英分布平台下载更新实现
查看>>
Mysql常用命令详解
查看>>
依赖注入的方式
查看>>
从VBA到Delphi
查看>>
将父类activity context传递给fragment
查看>>
eclipse中导入SVN项目步骤
查看>>
2018-2019-1 20165226 《信息安全系统设计基础》第4周学习总结
查看>>
Oracle之自动收集统计信息
查看>>
互联网技术部门该如何管理
查看>>
微软2014实习生及秋令营技术类职位在线测试-题目3 : Reduce inversion count
查看>>
WebView兼容问题分析报告
查看>>
主机字节序
查看>>
【TYVJ 1056】能量项链
查看>>
手把手教你开发Windows Phone 8应用程序(序)
查看>>
hzk16在项目中的使用
查看>>
pl/sql编程(九)
查看>>
mvn项目中的pom文件提示Error parsing lifecycle processing instructions解决
查看>>
[转] react-router4 + webpack Code Splitting
查看>>