您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

分享Sublime安装YcmdCompletion记录

2024/3/19 3:38:51发布34次查看
下面由sublime教程栏目给大家介绍sublime安装ycmdcompletion记录,希望对需要的朋友有所帮助!
sublime安装ycmdcompletion记录
ycmdcompletion是一基于clang的语义补全插件,安装分客户端和服务端。
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,现在被合并了。
接下来,手工启动服务器(注意当前目录一直是在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下载,用来配置补全功能的设置,具体参数可以看文档.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
服务端已经启动了,接下来配置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:
以上就是分享sublime安装ycmdcompletion记录的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product