How To Install ccls on Ubuntu 20.04
Introduction
In this tutorial we learn how to install ccls
on Ubuntu 20.04.
What is ccls
ccls is:
This originates from cquery, and is a server implementing Language Server Protocol for C/C++/Objective-C. It supports:
- code completion (with both signature help and snippets)
- definition/references, and other cross references
- cross reference extensions: $ccls/call $ccls/inheritance $ccls/member $ccls/vars …
- formatting
- hierarchies: call (caller/callee) hierarchy, inheritance (base/derived) hierarchy, member hierarchy
- symbol rename
- document symbols and approximate search of workspace symbol
- hover information
- diagnostics and code actions (clang FixIts)
- semantic highlighting and preprocessor skipped regions
- semantic navigation: $ccls/navigate
Package: ccls Architecture: amd64 Version: 0.20190823.5-1 Priority: optional Section: universe/devel Origin: Ubuntu Maintainer: Ubuntu Developers [email protected] Original-Maintainer: Shengjing Zhu [email protected] Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 23245 Depends: libc6 (>= 2.14), libgcc1 (>= 1:3.0), libllvm9 (>= 1:9~svn298832-1~), libstdc++6 (>= 9) Recommends: libclang-common-9-dev Suggests: elpa-lsp-mode Filename: pool/universe/c/ccls/ccls_0.20190823.5-1_amd64.deb Size: 5437120 MD5sum: 543e18ce6ba71bb53d3852ad2f781089 SHA1: 7c2b22d44e1f101d29ce7f10e088a615beb46c28 SHA256: d979b172c1880d883bf9818ea37c55cbfdbc9772d139773ec259adfcaaa47c94 Homepage: https://github.com/MaskRay/ccls Description-en: C/C++/ObjC language server This originates from cquery, and is a server implementing Language Server Protocol for C/C++/Objective-C. It supports:
- code completion (with both signature help and snippets)
- definition/references, and other cross references
- cross reference extensions: $ccls/call $ccls/inheritance $ccls/member $ccls/vars …
- formatting
- hierarchies: call (caller/callee) hierarchy, inheritance (base/derived) hierarchy, member hierarchy
- symbol rename
- document symbols and approximate search of workspace symbol
- hover information
- diagnostics and code actions (clang FixIts)
- semantic highlighting and preprocessor skipped regions
- semantic navigation: $ccls/navigate
There are three methods to install ccls
on Ubuntu 20.04. We can use apt-get
, apt
and aptitude
. In the following sections we will describe each method. You can choose one of them.
Install ccls Using apt-get
Update apt database with apt-get
using the following command.
sudo apt-get update
After updating apt database, We can install ccls
using apt-get
by running the following command:
sudo apt-get -y install ccls
Install ccls Using apt
Update apt database with apt
using the following command.
sudo apt update
After updating apt database, We can install ccls
using apt
by running the following command:
sudo apt -y install ccls
Install ccls Using aptitude
If you want to follow this method, you might need to install aptitude first since aptitude is usually not installed by default on Ubuntu. Update apt database with aptitude
using the following command.
sudo aptitude update
After updating apt database, We can install ccls
using aptitude
by running the following command:
sudo aptitude -y install ccls
How To Uninstall ccls on Ubuntu 20.04
To uninstall only the ccls
package we can use the following command:
sudo apt-get remove ccls
Uninstall ccls And Its Dependencies
To uninstall ccls
and its dependencies that are no longer needed by Ubuntu 20.04, we can use the command below:
sudo apt-get -y autoremove ccls
Remove ccls Configurations and Data
To remove ccls
configuration and data from Ubuntu 20.04 we can use the following command:
sudo apt-get -y purge ccls
Remove ccls configuration, data, and all of its dependencies
We can use the following command to remove ccls
configurations, data and all of its dependencies, we can use the following command:
sudo apt-get -y autoremove --purge ccls
References
Summary
In this tutorial we learn how to install ccls
package on Ubuntu 20.04 using different package management tools: apt
, apt-get
and aptitude
.