您完成Me
Sublime Text 3插件的YCMD
详细信息
安装数量
- 总数 4K
- Win 1K
- Mac 775
- Linux 1K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
安装指南
Sublime Text YouCompleteMe
sublime-ycmd 是一个用于Sublime Text 3的插件,利用ycmd生成自动完成建议。要使用此插件,必须先安装 ycmd。
替代选择
YcmdCompletion - 基于ycmd示例客户端。使用ycmd API的大部分功能。此插件仍然不支持所有相同的功能,但计划添加它们。类似于示例客户端,此替代方案在主线程上执行所有操作,可能会导致编辑器锁定。
CppYCM (不再维护) - 支持“转到”和错误突出显示。同样,此插件仍然不支持这些功能,但将在后续版本中添加。此替代方案仅限于C++,但在这方面很出色。
快速入门
在安装此插件之前,请确保已安装ycmd。有关更多信息,请查看 ycmd README。
以下是一个使用 brew
的示例设置:
brew install cmake
cd ~/Documents
git clone https://github.com/Valloric/ycmd.git
cd ycmd
git submodule update --init --recursive
./build.py --clang-completer
完成上述步骤后,安装插件(搜索 您完成Me
)并编辑设置(首选项 > 软件包设置 > 您完成Me > 首选项)。填写ycmd存储库的路径,然后保存它。
对于上述示例,设置将如下所示:
{
"ycmd_root_directory": "~/Documents/ycmd"
}
语言特定功能
C家族
这需要ycmd使用了clang补全器的支持。这还要求ycmd具有特定项目/全局的配置文件。最简单的方法是在项目树的根目录中创建一个 .ycm_extra_conf.py
文件,并在其中添加所需的 FlagsForFile
方法。
有关更多信息,请查看 ycmd README。
以下是一个起始示例:
def FlagsForFile(*args, **kwargs):
return {
'flags': [
'-std=c++11',
'-Wall',
],
}
有关高级使用说明,请参阅 docs/c-family.md。
Python
这通常不需要任何特殊设置,因为ycmd将使用Jedi执行Python语义补全。
如果在构建和运行 ycmd 时使用的 Python 二进制文件与项目中使用的 Python 二进制文件不同,自动完成功能可能会有轻微偏差。可以通过更新 ycmd 默认设置文件中的 "python_binary_path"
变量来纠正,设置文件路径为 ycmd/ycmd/default_settings.json
。
JavaScript
这要求 ycmd 需要带上 tern 完成功能进行构建。还要求为 Tern 本身创建一个特定的配置文件。在项目的根目录下创建一个 .tern-project
文件,并将必要的配置放入其中。
更多详细信息,请参阅 Tern 文档。
下面是一个针对 node
环境的简单示例
{
"plugins": {
"node": {}
}
}
配置
插件设置
支持的选项列在默认设置文件中。更多详细信息,请参阅 sublime-ycmd.sublime-settings
。
唯一必需的设置是 "ycmd_root_directory"
。将其设置为 ycmd 仓库路径,并且插件将在需要时自动启动它。
注意:如果 Vim 已经安装了 YouCompleteMe,则此插件可以使用与它一起安装的 ycmd 仓库。如果与 Vundle 一起安装,则会像下面这样:
{
"ycmd_root_directory": "~/.vim/bundle/YouCompleteMe/third_party/ycmd"
}
YCMD 设置
服务器设置从单独的 JSON 文件中加载。ycmd 仓库中包含了良好的默认设置,路径为 ycmd/ycmd/default_settings.json
。可以修改该文件,或者创建它的副本,并使用插件设置 "ycmd_default_settings_path"
来指向该副本。
例如,创建具有自定义设置的副本:
cd ~/Documents/ycmd
cp ycmd/default_settings.json ycmd/custom_settings.json
相应的插件设置将会是:
{
"ycmd_root_directory": "~/Documents/ycmd",
"ycmd_default_settings_path": "~/Documents/ycmd/ycmd/custom_settings.json"
}
最终,这些设置将集成到插件设置中。然后插件就可以自动生成 ycmd 设置文件。
问题
提交问题时,请尽量收集与问题相关的日志输出。日志为插件以及 ycmd 本身而收集。
使用以下插件设置以在单独的文件中收集插件日志:
{
"sublime_ycmd_log_level": "debug",
"sublime_ycmd_log_file": "/tmp/sublime-ycmd.log",
}
详细日志将附加到 "sublime_ycmd_log_file"
(例如,本例中的 /tmp/sublime-ycmd.log
)。这些问题日志很可能会包含相关错误。
使用以下插件设置生成 ycmd 日志:
{
"ycmd_log_level": "debug",
"ycmd_log_file": true,
"ycmd_keep_logs": true,
}
为每个服务器生成的临时日志文件将在服务器退出后保留。通常,这些日志文件不是必需的,但可能很有用。
测试
要运行单元测试套件,只需执行 tests/runtests.py
python3 tests/runtests.py
测试尚未完成。它测试了一些基本较低级别的操作,但未测试任何插件行为。
贡献
确保单元测试仍然通过。如果可能,确保 pylint
不报告问题。