1. Installez le client
Recherchez Package Control et sélectionnez YcmdCompletion
2 . Installer le serveur
Il existe deux manières de démarrer le serveur, manuel et automatique.
2.1 Méthode manuelle :
Compilez le service ycmd. Celui-ci doit être compilé par vous-même sur la plateforme correspondante. Il téléchargera le clang et d'autres bibliothèques. Méthode de compilation originale
Installez l'outil de compilation
sudo apt-get install build-essential cmake python-dev
Téléchargez le code source ycmd J'ai téléchargé le code directement dans le répertoire utilisateur de sublime. Après la construction, la bibliothèque clang sera automatiquement téléchargée.
cd ~/.config/sublime-text-3/User git clone git@github.com:Valloric/ycmd.git && cd ycmd git submodule update --init --recursive ./build.py --all
En environ une demi-heure, l'installation a réussi. L'auteur met à jour fréquemment. Désormais, une seule bibliothèque, ycm_core.so, sera générée après la compilation. Il y en avait une autre ycm_client_support.so
auparavant, mais elle l'a été. fusionné maintenant.
Ensuite, démarrez le serveur manuellement (notez que le répertoire courant est toujours sous le répertoire ycmd). Le démarrage du serveur nécessite un fichier de configuration ycmd/default_settings.json
, qui sera automatiquement supprimé après chaque démarrage. . , nous copions donc d'abord une copie dans le répertoire actuel
cp ycmd/default_settings.json .
puis l'ouvrons pour modifier deux éléments, global_ycm_extra_conf
spécifions l'emplacement du .ycm_extra_conf.py par défaut et hmac_secret
définissons la clé HMAC.
Le téléchargement .ycm_extra_conf.py
par défaut est utilisé pour configurer les paramètres de la fonction de complétion. Pour des paramètres spécifiques, veuillez consulter la configuration du document.ycm_extra_conf.py
wget https://raw.githubusercontent.com/Valloric/ycmd/master/cpp/ycm/.ycm_extra_conf.py
Générer la clé HMAC
Command Palette > Ycmd: Create HMAC keys
Le serveur. utilise python Written, il y a donc un fichier __main__.py sous ycmd/ycmd, et nous pouvons le démarrer.
python ycmd --port 8888 --options_file ycmd/default_settings.json
Le serveur a été démarré. Ensuite, configurez le client sublime-text, ouvrez le fichier de configuration Ycmd Preferences > Package Settings > YcmdCompletion > Settings - Default
et modifiez le port ycmd_port
.
Le plus gros avantage de cette méthode est que le serveur peut être déployé à distance ou réalisé Docker image
Il vous suffit de spécifier l'IP et le port et vous pouvez l'utiliser à volonté.
2.2 Méthode automatique
Ouvrez le fichier de configuration Ycmd Preferences > Package Settings > YcmdCompletion > Settings - Default
et définissez 3 paramètres.
/* ===== 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. Démarrez Sublime et testez
Définissez les règles de déclenchement de l'achèvement, ouvrez Preferences -> Settings - More -> Syntax Specific - User
et insérez le code suivant. De cette façon, lors de la saisie de , ::, ->
, la complétion automatique peut être déclenchée. J'ai ajouté /
pour déclencher la complétion du chemin, sinon vous devez saisir les caractères correspondants pour terminer.
{ "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": "/"} ] }
Liste des commandes Ycmd, y compris le redémarrage du serveur, l'affichage de la liste des erreurs, etc.
Command Palette > Ycmd: