A year in review: code-server insights for 2022
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.
Most Used Shell: bash The most popular shell was /bin/bash and /usr/bin/bash followed by /bin/sh.
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:
- code-server repo
- code-server releases
- code-marketplace: open source extension marketplace
- code-server 2021 Year in Review
- How to contribute to code-server
- All Coder's oss projects
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!
Subscribe to our Newsletter
Want to stay up to date on all things Coder? Subscribe to our monthly newsletter and be the first to know when we release new things!