• 技术文章 >开发工具 >sublime

    分享Sublime安装YcmdCompletion记录

    藏色散人藏色散人2021-06-19 17:32:13转载596
    下面由sublime教程栏目给大家介绍Sublime安装YcmdCompletion记录,希望对需要的朋友有所帮助!

    Sublime安装YcmdCompletion记录

    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/User
    git clone git@github.com:Valloric/ycmd.git && cd ycmd
    git submodule update --init --recursive
    ./build.py --all

    大概半个小时,安装成功,作者更新比较频繁,现在编译完只会生成一个库,ycm_core.so了,之前还有一个ycm_client_support.so,现在被合并了。
    e8f8ca9f0c1469bea433a3755ccecb1.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下载,用来配置补全功能的设置,具体参数可以看文档.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

    510e2bf3c68beb597fe352ed46e6c5c.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:

    以上就是分享Sublime安装YcmdCompletion记录的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:c++ sublime-text-3
    上一篇:详解win10下sublime text3配置运行python的方法 下一篇:Sublime Text3怎么执行调试python文件
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• Sublime Text怎么新增gbk编码支持• 详解如何在Ubuntu20.04上安装Sublime Text3• Sublime Text2怎么直接测试Perl代码• 详解win10下sublime text3配置运行python的方法
    1/1

    PHP中文网