Engineering
December 15th, 2022

A year in review: code-server insights for 2022

author avatar
Joe Previte
Software Engineer

SHARE

Reflecting on 2022

At Coder, we are big believers in reflecting on progress and sharing insights with the community. We’re trying something new this year. We’ve gathered data from our telemetry stats on code-server usage and want to share some of those insights with you. We also want to share some codebase improvements made by our maintainers.

Usage Insights

One thing we haven't done in the past is talk about our usage insights based on our telemetry data. This is interesting because it provides a little insight into code-server's community. We hope this data proves useful to both the community and extension authors.

Here are some insights from our data based on the 5% of users who have telemetry enabled.

Most Active Country: United States and Other The US and Other (which means we’re unsure) makes up the largest percentage of our users, followed by China. However, you’ll notice that our users expand all across the globe.

country data in pie chart
global usage map of code-server users

Most Used Shell: bash The most popular shell was /bin/bash and /usr/bin/bash followed by /bin/sh.

most used shell pie chart

Most Popular Extension: Python The most popular extension was Python followed by Jupyter (which technically gets installed together) followed by the C++ extension. Here is a table of the Top 50 most popular VS Code extensions according to our data:

Rank Extension Name
1 ms-python.python
2 ms-toolsai.jupyter
3 ms-vscode.cpptools
4 Gruntfuggly.activitusbar
5 vscode-icons-team.vscode-icons
6 eamodio.gitlens
7 tushortz.python-extended-snippets
8 bierner.markdown-emoji
9 vscjava.vscode-maven
10 vscjava.vscode-java-debug
11 redhat.java
12 mauve.terraform
13 vscjava.vscode-java-test
14 vscjava.vscode-java-dependency
15 vscjava.vscode-java-pack
16 batisteo.vscode-django
17 mechatroner.rainbow-csv
18 MS-CEINTL.vscode-language-pack-zh-hans
19 bale.theme-darkplusplus
20 formulahendry.code-runner
21 esbenp.prettier-vscode
22 njpwerner.autodocstring
23 dbaeumer.vscode-eslint
24 donjayamanne.githistory
25 mhutchie.git-graph
26 unknown
27 redhat.vscode-yaml
28 twxs.cmake
29 golang.go
30 auchenberg.vscode-browser-preview
31 GrapeCity.gc-excelviewer
32 magicstack.MagicPython
33 octref.vetur
34 CoenraadS.bracket-pair-colorizer
35 zhuangtongfa.material-theme
36 wholroyd.jinja
37 kisstkondoros.vscode-gutter-preview
38 GabrielBB.vscode-lombok
39 yzhang.markdown-all-in-one
40 donjayamanne.python-extension-pack
41 Equinusocio.vsc-material-theme
42 formulahendry.vscode-mysql
43 ms-vscode.cmake-tools
44 austin.code-gnu-global
45 oderwat.indent-rainbow
46 dracula-theme.theme-dracula
47 wayou.vscode-todo-highlight
48 shd101wyy.markdown-preview-enhanced
49 donjayamanne.javadebugger
50 MS-CEINTL.vscode-language-pack-ko

Codebase Improvements

2022 was also a year with lots of codebase improvements. Including pre-release candidates, we had 27 releases! Many of the changes were about making it easier for us to release faster. Here are some of the changes we want to highlight:

OpenVSX as the Default Extension Marketplace

The biggest change to code-server in 2022 was making OpenVSX the default extension marketplace. We moved away from Coder’s extension marketplace because OpenVSX was better maintained and allowed us to focus more efforts on code-server. Related to that, we also open-sourced a new project called code-marketplace which allows you to run your own extension marketplace.

Upstreamed 3 Patches to VS Code

One thing we try to do is upstream our changes back to microsoft/vscode when it makes sense. We were able to upstream and merge three (1, 2, 3) which was a huge win for us! We hope to upstream more in the future.

Added Flag to Disable Downloads

Per a request from one of our Enterprise customers, we added a new flag called –disable-file-downloads which disables a user from right-clicking and downloading a file in code-server. This is a minor security improvement for teams who want to make it harder for users to download files. It can also be enabled by setting the environment variable CS_DISABLE_FILE_DOWNLOADS to ‘true’ or ‘1’.

Automatically Forward Ports

A built-in feature in VS Code is automatically forwarding ports. We added a patch and made some changes to use the code-server's built-in proxy or the VSCODE_PROXY_URI environment variable. Now it works out-of-the-box in code-server and in coder.

Improved Release Process

The theme of 2022 for the code-server maintainers was reliability and better maintenance. We focused most of our efforts on testing and improving the release process by:

  • Speeding up CI by running jobs in parallel
  • Adding a second e2e test suite behind a reverse proxy
  • Refactoring the release process to allow release candidates
  • Modifying the release flow to run via GitHub Actions

Overall, this means code-server can now release more frequently and get new versions out to users faster.

Guidance on how to use code-server with multiple users

In 2022 we explored various solutions for using code-server with multiple users. Think of this as a high-level overview of real-world approaches to solving this problem. All solutions are based on real things we’ve seen from the community.

Coder released instructions and new OSS how to run your own vscode marketplace

One of our biggest open source projects that was inspired by work done in code-server is code-marketplace, a project to run your own private VS Code extension marketplace. You can find the repo here.

Resources

For more information about some of the things discussed in this article, take a look at the following resources:

Summary

We're grateful to the community members for participating in telemetry and allowing us to aggregate this data to share with the world. It provides a lot of useful information and impacts the decisions we make at Coder. In 2023, we will continue making code-server easy to maintain and well-tested.

We want to thank you all for being part of the code-server community. This project would not be as successful without all of you. Thank you to everyone who contributed in 2022. We also hope to see some new faces in 2023.

If you’re interested in contributing to code-server but don't know where to get started, start a new Discussion here and tag @jsjoeio. I'll be happy to mentor you!

Happy coding!

RELATED ARTICLES

Enjoy what you read?

Subscribe to our newsletter

By signing up, you agree to our Privacy Policy and Terms of service.