Some completion engines are disabled in this package. But you can still use them with some additional work. List of supported semantic code completion engines in this package: | Language | Engine | Status | |----------------|------------------------|----------------------------| | C/C++ | libclang1 | Supported out of the box | | Python 2 & 3 | python3-jedi | Supported out of the box | | TypeScript | node-typescript | Supported out of the box | | Go | gocode and godef | See Go completion | | Rust | racerd | See Rust completion | | C# | OmniSharp | See C# completion | | JavaScript | node-tern | See JavaScript completion | Go completion ------------- golang semantic code completion is disabled since ycmd (0+20160303+git206efaf). ycmd started using godef along with gocode for go completion, and godef is not available in Debian. You can still use go completion by compiling godef. First install gocode package and get godef and build it. Set "gocode_binary_path" and "godef_binary_path" in /usr/lib/ycmd/ycmd/default_settings.json to enable golang semantic completion engine. Rust completion --------------- You can use rust completion by installing racerd and Rust source. Get racerd and build it with cargo, and set "rust_src_path" and "racerd_binary_path" in /usr/lib/ycmd/ycmd/default_settings.json C# completion ------------- You need mono to build omnisharp-server. Get omnisharp-server from https://github.com/OmniSharp/omnisharp-server and build it with mono. Put OmniSharp.exe into /usr/local/bin directory. JavaScript completion --------------------- ycmd patched in this package to provide easy JavaScript semantic completion. ycmd will try to find tern executable in $PATH and if it's not available it will check for locally installed version in: $HOME/.npm-packages/bin/tern You can install tern with npm: $ npm install -g tern This command will install tern package into $HOME/.npm-packages directory. ycmd will use this directory for tern based JavaScript semantic code completion.