分享Sublime安装YcmdCompletion记录

1. Sublime介绍

Sublime Text是一款由Jon Skinner所开发的跨平台文本编辑器,它拥有强大的插件生态系统和用户友好的界面,可以极大地提高程序员的工作效率。

Sublime Text默认支持Python语言,其包含了一些内置的语法高亮和自动完成功能。如果需要使用其他语言,使用Sublime还需要安装相应的插件。

2. YcmdCompletion介绍

YcmdCompletion是一款Sublime Text插件,其通过通过安装和配置.ycmd配置文件,提供了强大的对C/C++语言的自动完成和代码格式化功能。它能够根据代码上下文,自动完成代码,让编写C/C++代码变得更加轻松。

3. 安装Sublime Text

首先,我们需要从Sublime Text官网上下载相应的版本,然后按照提示进行安装。

安装成功后,打开Sublime Text,在菜单栏中选择Preferences -> Package Control,然后在打开的弹窗中选择Install Package。在搜索框中输入YcmdCompletion,选择该插件进行安装。

4. 配置YcmdCompletion

4.1 创建.ycmd文件

首先,我们需要创建一个名为.ycmd的文件夹。

mkdir ~/.ycmd

4.2 配置.ycmd文件

然后,我们需要在.ycmd文件夹下面创建一个名为ycm_extra_conf.py的文件,并将以下代码粘贴到该文件中:

import ycm_core

flags = [

'-Wall',

'-Wextra',

'-Werror',

'-Wno-long-long',

'-Wno-variadic-macros',

'-fexceptions',

'-DNDEBUG',

'-std=c++11',

'-x',

'c++',

'-isystem',

'/usr/include',

'-I',

'.',

'-I',

'./include',

]

def FlagsForFile( filename, **kwargs ):

return {

'flags': flags,

'do_cache': True

}

该文件中的flags列表定义了YcmdCompletion对C/C++代码进行编译时需要使用的参数,您可以根据自己的需求进行修改。

4.3 配置Sublime Text

修改Sublime Text的配置文件,以便允许YcmdCompletion插件读取.ycmd配置文件。

在Sublime Text中,依次点击Preferences -> Settings,然后找到User的配置文件,按照以下方式进行修改:

"ycmd_path": "~/.ycmd",

"ycmd_arguments": ["--log=debug",

"--socket-keepalive",

"--keepalive",

"--idle_suicide_seconds=3600",

"--max_threads=4",

"--min_num_of_free_buffers=6",

"--load-config",

"/Users/<您的用户名>/.ycm_extra_conf.py"

],

修改完成后,保存配置文件,重新启动Sublime Text。

5. 使用YcmdCompletion

当您打开一个C/C++代码文件时,YcmdCompletion会自动在您编写代码的过程中,为您提供合适的代码自动完成建议和代码格式化。您只需要在代码提示框中选中相应的建议,或者按下Tab键来进行代码自动格式化,就可以快速完成C/C++代码的编写。

6. 总结

通过YcmdCompletion插件的使用,我们可以很方便地为Sublime Text添加强大的自动完成和代码格式化功能。

Sublime Text与YcmdCompletion本身就具备一定的集成性,因此它们非常容易与其他开发工具进行集成,比如Git和CI系统等等。