This is a Sublime Text 3 plugin aims at providing C/C++ IDE features such as semantic code completion, error highligting, goto definition and more. YCMD is used as the backend server.
ONLY TESTED ON UBUNTU
- Semantic code completion
- Provide semantic completion proposals on
.,->and::, done - Variable type indicator, not yet
- Provide semantic completion proposals on
- Error highligting
- Show error hints in code, done
- Show errors in panel, done
Jump to corresponding error in source when clicking problems panel, not yet.It seems ST3 wouldn't call on_selection_modified for output panel, so this feature can't be implemented. Maybe a detour will apply.
- Goto definition, done
YCMD is partially written in C/C++, so you must compile YCMD on your platform yourself or get a pre-compiled version. Then you need to set ycmd_path and python_path in settings.
In your ycmd_path directory, following files are necessary:
ycmd/
third_party/
libclang.so
ycm_client_support.so
ycm_core.so
Windows x64 Install Guild provides an approach for Windows users to get compiled ycmd.
Ubuntu amd64 users can find compiled ycmd here. https://github.com/glymehrvrd/CppYCM/tree/compiled-ycmd.
To enable prompt on ., -> and ::, you need to add the following configure to your sublime setting. Or create a file named C++.sublime-settings in Packages/User with following as its content.
"auto_complete_triggers":
[
{
"characters": ".:>",
"selector": "source.c++ - string - comment - constant.numeric"
}
]Ycmd uses .ycm_extra_conf.py to get compilation flags and other information. See c-family-semantic-completion-engine-usage for details.
C++YouCompleteMe will try to load .ycm_extra_conf.py from the directory holding the opened file and all directories above it. If .ycm_extra_conf.py is not found, all functions will NOT work.
Copyright 2015 Glyme Water. Licensed under the MIT License.
