首頁 >開發工具 >sublime >分享Sublime安裝YcmdCompletion記錄

分享Sublime安裝YcmdCompletion記錄

藏色散人
藏色散人轉載
2021-06-19 17:32:132592瀏覽

下面由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,現在被合併了。
分享Sublime安裝YcmdCompletion記錄

接下來,手工啟動伺服器(注意當前目錄一直是在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安裝YcmdCompletion記錄

服務端已經啟動了,接下來設定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.com。如有侵權,請聯絡admin@php.cn刪除