Heim > Entwicklungswerkzeuge > sublime > Teilen Sie den YcmdCompletion-Datensatz der Sublime-Installation

Teilen Sie den YcmdCompletion-Datensatz der Sublime-Installation

藏色散人
Freigeben: 2021-06-19 17:32:13
nach vorne
2590 Leute haben es durchsucht

Die folgende Tutorial-Kolumne von sublime stellt Ihnen den Sublime-Installations-YcmdCompletion-Datensatz vor. Ich hoffe, dass er Freunden in Not hilfreich sein wird!

Erhabene Installation des YcmdCompletion-Datensatzes

YcmdCompletion ist ein auf Clang basierendes semantisches Vervollständigungs-Plug-In, das auf dem Client und dem Server installiert wird.

1. Installieren Sie den Client

  1. Search Package Control und wählen Sie YcmdCompletion

2. Installieren Sie den Server

Es gibt zwei Möglichkeiten, den Server zu starten: manuell und automatisch.

2.1 Manuelle Methode:

Kompilieren Sie den ycmd-Dienst. Dieser muss auf der entsprechenden Plattform selbst kompiliert werden. Dadurch werden einige Bibliotheken wie clang heruntergeladen. Ursprüngliche Kompilierungsmethode

Installieren Sie das Kompilierungstool

sudo apt-get install build-essential cmake python-dev
Nach dem Login kopieren

Laden Sie den ycmd-Quellcode herunter. Ich habe den Code direkt in das Benutzerverzeichnis von sublime heruntergeladen.

cd ~/.config/sublime-text-3/User
git clone git@github.com:Valloric/ycmd.git && cd ycmd
git submodule update --init --recursive
./build.py --all
Nach dem Login kopieren

Die erfolgreiche Installation dauerte etwa eine halbe Stunde. Jetzt wird nach der Kompilierung nur noch eine Bibliothek, ycm_core.so, generiert wurde nun zusammengelegt. ycm_client_support.so,现在被合并了。
Teilen Sie den YcmdCompletion-Datensatz der Sublime-Installation

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

cp ycmd/default_settings.json .
Nach dem Login kopieren

然后打开他进行修改两项,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
Nach dem Login kopieren

生成HMAC key

Command Palette > Ycmd: Create HMAC keys
Nach dem Login kopieren

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

python ycmd --port 8888 --options_file ycmd/default_settings.json
Nach dem Login kopieren

Teilen Sie den YcmdCompletion-Datensatz der Sublime-Installation

服务端已经启动了,接下来配置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",
Nach dem Login kopieren

3. 启动Sublime,进行测试

手下设置补全触发规则,打开Preferences -> Settings - More -> Syntax Specific - User,插入下面代码。这样当输入, ::, ->就可以触发自动补全了。我增加了/Teilen Sie den YcmdCompletion-Datensatz der Sublime-Installation

Als nächstes, Starten Sie den Server manuell (beachten Sie, dass sich das aktuelle Verzeichnis immer im ycmd-Verzeichnis befindet). Der Serverstart erfordert eine Konfigurationsdatei ycmd/default_settings.json, die nach jedem Start automatisch gelöscht wird, also kopieren wir sie Kopieren Sie es zuerst in das aktuelle Verzeichnis

{
    "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": "/"} 
    ]
}
Nach dem Login kopieren
und öffnen Sie es dann, um zwei Elemente zu ändern. global_ycm_extra_conf gibt den Speicherort der Standarddatei .ycm_extra_conf.py an und hmac_secret legt den HMAC-Schlüssel fest . 🎜Der Standard-Download von .ycm_extra_conf.py wird zum Konfigurieren der Vervollständigungsfunktionseinstellungen verwendet. Spezifische Parameter finden Sie in der Konfiguration von document.ycm_extra_conf.py🎜
Command Palette > Ycmd:
Nach dem Login kopieren
🎜Generieren Sie den HMAC-Schlüssel🎜rrreee🎜Der Server ist in Python geschrieben, daher gibt es unter ycmd/ycmd eine Datei __main__.py, und wir können sie starten. 🎜rrreee🎜Teilen Sie den YcmdCompletion-Datensatz der Sublime-Installation🎜🎜 Der Server wurde gestartet. Konfigurieren Sie den Sublime-Text-Client, öffnen Sie die Ycmd-Konfigurationsdatei Preferences > Hafen. 🎜🎜Der größte Vorteil dieser Methode besteht darin, dass der Server remote bereitgestellt oder in ein <code>Docker-Image umgewandelt werden kann. Sie müssen nur die IP und den Port angeben und können ihn nach Belieben verwenden. 🎜🎜2.2 Automatische Methode🎜🎜Öffnen Sie die Ycmd-Konfigurationsdatei Preferences > Package Settings > YcmdCompletion > 🎜rrreee🎜3. Starten Sie Sublime und testen Sie 🎜🎜Legen Sie die Auslöseregeln für die Vervollständigung fest, öffnen Sie <code>Einstellungen -> Syntaxspezifisch - Benutzer und fügen Sie den folgenden Code ein. Auf diese Weise kann bei der Eingabe von , ::, -> eine automatische Vervollständigung ausgelöst werden. Ich habe / hinzugefügt, was die Pfadvervollständigung auslösen kann. Andernfalls müssen Sie zum Vervollständigen übereinstimmende Zeichen eingeben. 🎜rrreee🎜ycmd-Befehlsliste, einschließlich Neustart des Servers, Anzeige der Fehlerliste usw. 🎜rrreee🎜

Das obige ist der detaillierte Inhalt vonTeilen Sie den YcmdCompletion-Datensatz der Sublime-Installation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
c++
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage