{"id":587,"date":"2021-12-08T11:38:14","date_gmt":"2021-12-08T10:38:14","guid":{"rendered":"https:\/\/ubuntu.dirkschmidtke.de\/?post_type=portfolio&#038;p=587"},"modified":"2026-06-03T12:41:52","modified_gmt":"2026-06-03T10:41:52","slug":"visual-studio-code","status":"publish","type":"portfolio","link":"https:\/\/ubuntu.dirkschmidtke.de\/en\/portfolio\/visual-studio-code\/","title":{"rendered":"Visual Studio Code"},"content":{"rendered":"<p><a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noopener\">VS Code<\/a> is considered the most popular free editor for programmers and has beaten out competitors like <a href=\"https:\/\/ubuntu.dirkschmidtke.de\/portfolio\/atom-editor\/\">Atom<\/a>. The application is offered by <a href=\"https:\/\/www.microsoft.com\" target=\"_blank\" rel=\"noopener\">Microsoft<\/a> free of charge for all platforms (Linux, Mac and of course Windows), but should not be confused with Microsoft&#8217;s proprietary IDE (development environment) Visual Studio, despite the similarity in name.<\/p>\n\n\n\n<p>While VS Code is proprietary as well, an open-source edition (Code &#8211; OSS) is published and developed on Github. Microsoft states:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Visual Studio Code is a distribution of the Code &#8211; OSS repository with Microsoft-specific customizations released under a traditional Microsoft product license.<\/p>\n<cite><a href=\"https:\/\/github.com\/microsoft\/vscode\">Microsoft Github repository<\/a><\/cite><\/blockquote>\n\n\n\n<p>This edition allows the publication of a fork named <a href=\"https:\/\/vscodium.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">VSCodium<\/a>.<\/p>\n\n\n\n<p>VS Code does not allow you to create <em>&#8220;projects&#8221;<\/em> as in full-blown IDEs &#8211; the editor always works file\/folder-based. Nevertheless, the program can be used like an IDE. First, you open a folder or clone a repository &#8211; thanks to the Git integration &#8211; via the <em>explorer<\/em> icon in the left, vertical menu. Then you can add more folders to your project which is not a project, but a <em>Workspace<\/em> according to VS Code terminology. When you exit the program, VS Code remembers which files were open and restores this <em>workspace<\/em> exactly the same way the next time you start the program.<\/p>\n\n\n\n<p>The great strength of VS Code is the large number of extensions that are made available via a marketplace. This allows VS Code to become a serious programming tool for all conceivable programming languages. Via the <em>extensions<\/em> icon already existing extensions may be configured and new ones installed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\">Licensing and backdoor<\/h2>\n\n\n\n<p>Microsoft would not be Microsoft, however, if the company did not include something that open source supporters call a backdoor. Even the (proprietary, as we learned above) packages that Microsoft builds for Debian and Ubuntu collect telemetry data without asking first. At least users can prevent this by disabling all or part of this behavior in the <em>Settings<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\">Want AI? Stay independent with Continue<\/h2>\n\n\n\n<p>If you need AI&#8217;s help or like vibe coding, the Continue extension installs a coding assistant supporting the use of local LLMs. Its scope ranges from code completion to chatting about code and generating it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How to configure VS Code<\/h3>\n\n\n\n<p>The settings of VS Code (and its plugins as well) may be found in the menue at <em>File &gt; Preferences &gt; Settings<\/em> or briefly by pressing STRG + comma key. To change the telemetry settings as described above, press CTRL + Comma, then search for \u201cTelemetry\u201d and &#8211; if there are several hits &#8211; make sure to select the telemetry entry valid for the entire application.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\">Installation<\/h2>\n\n\n\n<p>The easiest installation is actually offered by Microsoft itself with the mentioned backdoor: simply <a href=\"https:\/\/code.visualstudio.com\/download\" target=\"_blank\" rel=\"noopener\">download the latest deb package from Microsoft<\/a> and then install it:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">sudo dpkg -i ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>code_*.deb<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/blockquote>\n\n\n\n<p>Microsoft&#8217;s package source is also set up at the same time, so that future updates of VS Code &#8211; the program is updated quite frequently &#8211; will be imported by the package management. To set up the package source manually, follow the detailed instructions on the page <a href=\"https:\/\/code.visualstudio.com\/docs\/setup\/linux\" target=\"_blank\" rel=\"noopener\">Visual Studio Code on Linux<\/a> If you don&#8217;t trust Microsoft&#8217; s pre-built packages, you can build the package yourself from <a href=\"https:\/\/github.com\/Microsoft\/vscode\" target=\"_blank\" rel=\"noopener\">Microsoft&#8217;s open source code<\/a>, or more simply: use the packages already built under the name Vscodium from <a href=\"https:\/\/gitlab.com\/paulcarroty\/vscodium-deb-rpm-repo\" target=\"_blank\" rel=\"noopener\">Paul Carroty<\/a> <a href=\"https:\/\/github.com\/Microsoft\/vscode\" target=\"_blank\" rel=\"noopener\">&#8216;s<\/a> <a href=\"https:\/\/gitlab.com\/paulcarroty\/vscodium-deb-rpm-repo\" target=\"_blank\" rel=\"noopener\">repository<\/a>:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">wget -qO - https:<span class=\"hljs-comment\">\/\/gitlab.com\/paulcarroty\/vscodium-deb-rpm-repo\/raw\/master\/pub.gpg | gpg --dearmor | sudo dd of=\/usr\/share\/keyrings\/vscodium-archive-keyring.gpg<\/span>\n<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'deb &#91; signed-by=\/usr\/share\/keyrings\/vscodium-archive-keyring.gpg ] https:\/\/download.vscodium.com\/debs vscodium main'<\/span> | sudo tee \/etc\/apt\/sources.<span class=\"hljs-keyword\">list<\/span>.d\/vscodium.<span class=\"hljs-keyword\">list<\/span>\nsudo apt update &amp;&amp; sudo apt install codium<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\">Alternatives<\/h2>\n\n\n\n<p>The hype surrounding AI is the main reason why VS Code faces new competition. <a href=\"https:\/\/cursor.com\" target=\"_blank\" rel=\"noreferrer noopener\">Cursor<\/a> is a fork of VS Code with a built-in AI agent. <a href=\"https:\/\/zed.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">Zed<\/a> was created by the developers of Atom, but is written in Rust and is therefore lighter than VS Code. Both editors have tiered pricing structures based on AI usage. Zed is open-source, Cursor is not.<\/p>","protected":false},"excerpt":{"rendered":"<p>VS Code is considered the most popular free editor for programmers and is offered by Microsoft free of charge for all platforms (Linux, Mac and of course Windows).<\/p>\n","protected":false},"author":1,"featured_media":588,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":"[]"},"portfolio_category":[9],"portfolio_tag":[],"class_list":["post-587","portfolio","type-portfolio","status-publish","has-post-thumbnail","hentry","portfolio_category-web-entwicklung"],"_links":{"self":[{"href":"https:\/\/ubuntu.dirkschmidtke.de\/en\/wp-json\/wp\/v2\/portfolio\/587","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntu.dirkschmidtke.de\/en\/wp-json\/wp\/v2\/portfolio"}],"about":[{"href":"https:\/\/ubuntu.dirkschmidtke.de\/en\/wp-json\/wp\/v2\/types\/portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntu.dirkschmidtke.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntu.dirkschmidtke.de\/en\/wp-json\/wp\/v2\/comments?post=587"}],"version-history":[{"count":21,"href":"https:\/\/ubuntu.dirkschmidtke.de\/en\/wp-json\/wp\/v2\/portfolio\/587\/revisions"}],"predecessor-version":[{"id":1215,"href":"https:\/\/ubuntu.dirkschmidtke.de\/en\/wp-json\/wp\/v2\/portfolio\/587\/revisions\/1215"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntu.dirkschmidtke.de\/en\/wp-json\/wp\/v2\/media\/588"}],"wp:attachment":[{"href":"https:\/\/ubuntu.dirkschmidtke.de\/en\/wp-json\/wp\/v2\/media?parent=587"}],"wp:term":[{"taxonomy":"portfolio_category","embeddable":true,"href":"https:\/\/ubuntu.dirkschmidtke.de\/en\/wp-json\/wp\/v2\/portfolio_category?post=587"},{"taxonomy":"portfolio_tag","embeddable":true,"href":"https:\/\/ubuntu.dirkschmidtke.de\/en\/wp-json\/wp\/v2\/portfolio_tag?post=587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}