<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Vscode on Brandon Pugh&#39;s Blog</title>
    <link>https://www.brandonpugh.com/tags/vscode/</link>
    <description>Recent content in Vscode on Brandon Pugh&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Mon, 20 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://www.brandonpugh.com/tags/vscode/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Over 100 VS Code Extensions Exposed Developers to Hidden Supply Chain Risks</title>
      <link>https://www.brandonpugh.com/links/over-100-vs-code-extensions-exposed-developers-to-hidden-supply-chain-risks/</link>
      <pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/links/over-100-vs-code-extensions-exposed-developers-to-hidden-supply-chain-risks/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://thehackernews.com/2025/10/over-100-vs-code-extensions-exposed.html?m=1&#34;&gt;Over 100 VS Code Extensions Exposed Developers to Hidden Supply Chain Risks&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;VS Code users are advised to limit the number of installed extensions, scrutinize extensions prior to downloading them, and weigh the pros and cons of enabling auto-updates&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is the approach I&amp;rsquo;ve been taking and being more selective with what I install in general.
This also applies to browser extensions.&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/links/over-100-vs-code-extensions-exposed-developers-to-hidden-supply-chain-risks/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>Link directly to a VS code setting</title>
      <link>https://www.brandonpugh.com/til/vscode/link-to-setting/</link>
      <pubDate>Sat, 03 May 2025 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/vscode/link-to-setting/</guid>
      <description>&lt;p&gt;Today I learned that you can link directly to specific VS Code settings using the &lt;code&gt;vscode:&lt;/code&gt; URL scheme.
They follow this format: &lt;code&gt;vscode://settings/editor.formatOnSave&lt;/code&gt;, where you put the setting ID at the end of the URL.&lt;/p&gt;
&lt;p&gt;So if you click &lt;a href=&#34;#ZgotmplZ&#34;&gt;this link&lt;/a&gt;, VS Code should open straight to that setting.&lt;/p&gt;
&lt;p&gt;This is probably most useful for folks who like to write about VS Code features (like me), but it&amp;rsquo;s also handy if you&amp;rsquo;re helping like a teammate you can just send them a link to a setting to make it easier for them.&lt;/p&gt;
&lt;p&gt;Also, in VS Code, you can click the gear icon next to a setting and select &amp;ldquo;Copy Setting URL&amp;rdquo; to get the link.&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/vscode/link-to-setting/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>Profiles in Visual Studio Code</title>
      <link>https://www.brandonpugh.com/til/vscode/profiles/</link>
      <pubDate>Fri, 14 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/vscode/profiles/</guid>
      <description>&lt;p&gt;I recently learned that VScode let&amp;rsquo;s you create different &lt;a href=&#34;https://code.visualstudio.com/docs/editor/profiles&#34;&gt;profiles&lt;/a&gt; that let you switch between different sets of settings, keyboard shortcuts, snippets, and most importantly, extensions.&lt;/p&gt;
&lt;p&gt;This is really if, like me, you have various extensions for different types of projects and don&amp;rsquo;t need them all running all the time. For example, I have extensions for C#, react, angular, or markdown projects (apparently I had 86 extensions installed 😱).&lt;/p&gt;
&lt;p&gt;The profile editor is actually pretty nice, letting you copy from an existing profiles for from some builtin templates.&lt;/p&gt;
&lt;p&gt;Unfortunately it doesn&amp;rsquo;t let you easily copy only certain extensions so the easiest way I found to get a list of all my extensions by running &lt;code&gt;code --list-extensions&lt;/code&gt; from the command line and then creating an &lt;code&gt;extensions.json&lt;/code&gt; file in a workspace.
When you open that folder, VScode will see those as &lt;a href=&#34;https://code.visualstudio.com/docs/editor/extension-marketplace#_workspace-recommended-extensions&#34;&gt;recommended extensions&lt;/a&gt; for that workspace and let you install them all with one click.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Before&lt;/em&gt; I learned of that command however I used &lt;a href=&#34;https://jqlang.org/&#34;&gt;&lt;code&gt;jq&lt;/code&gt;&lt;/a&gt; to get a list of extension IDs from the &lt;code&gt;extensions.json&lt;/code&gt; located in your user directory.
This json file has much more data it in it so &lt;code&gt;jq&lt;/code&gt; makes it much easier to extract the list:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;jq &lt;span class=&#34;s1&#34;&gt;&amp;#39;.[].identifier.id&amp;#39;&lt;/span&gt; file.json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This approach still might be handy if I want to get a list of extensions only from a specific profile as those are stored in similar json files in &lt;code&gt;/profiles&lt;/code&gt;.&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/vscode/profiles/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>HTTP files</title>
      <link>https://www.brandonpugh.com/til/vscode/http-files/</link>
      <pubDate>Fri, 13 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/vscode/http-files/</guid>
      <description>&lt;p&gt;Today I learned about &lt;code&gt;.http&lt;/code&gt; files that you can use to make/test requests to any api endpoint from within most IDEs/editors.&lt;/p&gt;
&lt;p&gt;This started with the &lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=humao.rest-client&#34;&gt;Rest client&lt;/a&gt; vscode extension and then &lt;a href=&#34;https://learn.microsoft.com/en-us/aspnet/core/test/http-files?view=aspnetcore-8.0&#34;&gt;Visual Studio 2022&lt;/a&gt; added support somewhat recently.&lt;/p&gt;
&lt;p&gt;It kinda acts like an alternative to something like Postman but without leaving your editor, but for me the nice thing is it can act like a runnable form of documentation for your api that you can commit alongside your code.&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/vscode/http-files/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>Quickly change the end of a line</title>
      <link>https://www.brandonpugh.com/til/vscode/line-ending-regex/</link>
      <pubDate>Tue, 20 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/vscode/line-ending-regex/</guid>
      <description>&lt;p&gt;This is a simple thing but I just discovered that with a simple regex and find/replace in most editors, you can quickly add text to the end of every line.&lt;/p&gt;
&lt;p&gt;For instance, if you want to add a &lt;code&gt;,&lt;/code&gt; to every line, all you need is &lt;code&gt;$&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;screenshot of vscode find/replace UI&#34; loading=&#34;lazy&#34; src=&#34;line-ending-regex.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Or if you want to replace whatever the last character then you can use &lt;code&gt;.$&lt;/code&gt; instead.&lt;/p&gt;
&lt;p&gt;Of course, I use &lt;a href=&#34;https://github.com/vscode-neovim/vscode-neovim&#34;&gt;vscode-neovim&lt;/a&gt; so I just type &lt;code&gt;:%s/$/,/&lt;/code&gt; 😁&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/vscode/line-ending-regex/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>Preserve case with find and replace</title>
      <link>https://www.brandonpugh.com/til/vscode/find-replace-preserve-case/</link>
      <pubDate>Fri, 29 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/vscode/find-replace-preserve-case/</guid>
      <description>&lt;p&gt;Today I learned that vscode has an option to &lt;a href=&#34;https://code.visualstudio.com/updates/v1_37#_preserve-case-in-find-and-replace&#34;&gt;preserve case with find and replace&lt;/a&gt; (I somehow never noticed the &amp;ldquo;AB&amp;rdquo; button before).
I&amp;rsquo;ve always wanted this when having to rename an entity in a file with instances both capitalized and lowercase.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;preserve case screenshot&#34; loading=&#34;lazy&#34; src=&#34;./preserve-case.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;I actually discovered this because I saw that this feature was just added to the latest &lt;a href=&#34;https://devblogs.microsoft.com/visualstudio/keep-your-casing-with-case-preserving-find-and-replace/&#34;&gt;Visual Studio 2022 preview&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And for vim users, there&amp;rsquo;s &lt;a href=&#34;https://github.com/tpope/vim-abolish&#34;&gt;Vim Abolish&lt;/a&gt; 😁&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/vscode/find-replace-preserve-case/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>Dev containers</title>
      <link>https://www.brandonpugh.com/til/vscode/devcontainers/</link>
      <pubDate>Mon, 11 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/vscode/devcontainers/</guid>
      <description>&lt;p&gt;Today I learned that &lt;a href=&#34;https://containers.dev/&#34;&gt;dev containers&lt;/a&gt; are an actual spec.
I&amp;rsquo;d been hearing the term more lately but I thought it was a general term for containers used for local development but it&amp;rsquo;s actually an open spec for configuring an entire development environment within a container and it&amp;rsquo;s what you use to configure a &lt;a href=&#34;https://github.com/features/codespaces&#34;&gt;github codespace&lt;/a&gt; for a repo.
But the cool thing is you can use the vscode &lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers&#34;&gt;Dev containers extension&lt;/a&gt; and vscode will reopen in a docker container with all the dependencies, extensions, and configuration specified in a &lt;a href=&#34;https://containers.dev/implementors/spec/#devcontainerjson&#34;&gt;devcontainers.json&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For example, if you want to experiment with a new programming language, you can quickly launch one of the sample containers (type &amp;ldquo;try&amp;rdquo; from the command palette) and have an environment ready to go (after docker downloads the image).&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;sample container selection screenshot&#34; loading=&#34;lazy&#34; src=&#34;devcontainers.png&#34;&gt;&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/vscode/devcontainers/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>Paste a URL as a markdown link</title>
      <link>https://www.brandonpugh.com/til/vscode/paste-markdown-url/</link>
      <pubDate>Thu, 03 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/vscode/paste-markdown-url/</guid>
      <description>&lt;p&gt;Today I learned that the latest version of VS code added a smart option to detect when you&amp;rsquo;re pasting a URL and automatically paste it as a markdown link in markdown files.&lt;/p&gt;
&lt;p&gt;You can enable it by setting the &lt;code&gt;markdown.editor.pasteUrlAsFormattedLink&lt;/code&gt; setting to &lt;code&gt;smart&lt;/code&gt; or &lt;code&gt;always&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;paste url screenshot&#34; loading=&#34;lazy&#34; src=&#34;./url-paste-vscode.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://code.visualstudio.com/updates/v1_81#_markdown-paste-urls-as-formatted-links&#34;&gt;See the release notes.&lt;/a&gt;&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/vscode/paste-markdown-url/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>You can easily wrap text with HTML tags</title>
      <link>https://www.brandonpugh.com/til/vscode/wrap-text-html/</link>
      <pubDate>Thu, 27 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/vscode/wrap-text-html/</guid>
      <description>&lt;p&gt;Using the builtin &lt;a href=&#34;https://code.visualstudio.com/docs/editor/emmet&#34;&gt;Emmet&lt;/a&gt; functionality, you select any arbitrary text or HTML and wrap it with new markup by executing the command &lt;code&gt;Emmet: Wrap with Abbreviation&lt;/code&gt; and typing an Emmet abbreviation.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m going to be using this all the time now!&lt;/p&gt;
&lt;p&gt;It even understands JSX so it&amp;rsquo;ll output &lt;code&gt;className&lt;/code&gt; if you specify a css class.&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/vscode/wrap-text-html/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>VS code can show the required HTML structure for a CSS selector</title>
      <link>https://www.brandonpugh.com/til/vscode/hover-css-selector/</link>
      <pubDate>Fri, 21 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/vscode/hover-css-selector/</guid>
      <description>&lt;p&gt;If you hover over a CSS selector or property, &lt;a href=&#34;https://code.visualstudio.com/docs/languages/css&#34;&gt;VS Code&lt;/a&gt; will provide an HTML snippet that&amp;rsquo;s matched by the CSS rule, and it will also show the specificity.&lt;/p&gt;
&lt;p&gt;For example, this very specific rule that&amp;rsquo;s similar to one I came across recently:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;screenshot of hovering in css&#34; loading=&#34;lazy&#34; src=&#34;./hover-css-selector.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;I also had to look up the &lt;code&gt;~&lt;/code&gt; which is the &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/CSS/General_sibling_combinator&#34;&gt;General sibling combinator&lt;/a&gt;.&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/vscode/hover-css-selector/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>My Always-Up-to-Date VS Code Setup for Web Development</title>
      <link>https://www.brandonpugh.com/blog/vscode-setup/</link>
      <pubDate>Sat, 29 Jun 2019 10:54:24 +0200</pubDate>
      <guid>https://www.brandonpugh.com/blog/vscode-setup/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve gone through the setup and daily use of a number of editors over the years including most current popular ones for front end development (i.e. sublime, atom, and vs code) and for me VS code is the best choice for front end development at the moment.&lt;/p&gt;
&lt;p&gt;The team has put a lot of effort into making it a great javascript experience out of the box and it shows (VS code itself is written in typescript and the team uses vs code to build vs code) and with some additional work you can have &lt;em&gt;the best&lt;/em&gt; experience while writing javascript.&lt;/p&gt;
&lt;h2 id=&#34;extensions&#34;&gt;Extensions&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig&#34;&gt;EditorConfig&lt;/a&gt;: See &lt;a href=&#34;http://editorconfig.org/&#34;&gt;http://editorconfig.org/&lt;/a&gt; if you don&amp;rsquo;t already have a &lt;code&gt;.editorconfig&lt;/code&gt; file in your project&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode&#34;&gt;Prettier&lt;/a&gt;: format javascript using the excellent new &lt;a href=&#34;https://github.com/jlongster/prettier&#34;&gt;Prettier&lt;/a&gt; project by &lt;a href=&#34;http://jlongster.com/&#34;&gt;James Long&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint&#34;&gt;Eslint&lt;/a&gt;: Integrates &lt;a href=&#34;https://eslint.org/&#34;&gt;ESLint&lt;/a&gt; JavaScript linter into VS Code&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens&#34;&gt;GitLens&lt;/a&gt;: adds quite a bit of functionality over the builtin git experience in with the free version.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors&#34;&gt;Pretty Typescript Errors&lt;/a&gt;: Makes typescript errors &lt;em&gt;much&lt;/em&gt; more readable in VS Code—really should be built-in&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=Orta.vscode-jest&#34;&gt;Jest&lt;/a&gt;: Integration for the &lt;a href=&#34;https://facebook.github.io/jest/&#34;&gt;Jest&lt;/a&gt; testing framework&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=vitest.explorer&#34;&gt;Vitest&lt;/a&gt;: Since I&amp;rsquo;m using Vite these days, I prefer &lt;a href=&#34;https://vitest.dev/&#34;&gt;Vitest&lt;/a&gt; over Jest and this is their vscode integration.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=andys8.jest-snippets&#34;&gt;Jest Snippets&lt;/a&gt;: Common code snippets for unit tests&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker&#34;&gt;Code Spell Checker&lt;/a&gt;: An excellent spell checker that works well with camelCase code&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense&#34;&gt;Path Intellisense&lt;/a&gt;: Autocompletes filenames, handy when typing paths to import modules&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=pflannery.vscode-versionlens&#34;&gt;Version Lens&lt;/a&gt;: Shows the latest version for each dependency in your &lt;code&gt;package.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint&#34;&gt;Markdownlint&lt;/a&gt;: Markdown linting and style checking for Visual Studio Code. Handy for editing Readme files&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=shinnn.stylelint&#34;&gt;Stylelint&lt;/a&gt;: Modern CSS/SCSS/Less linter&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=vscode-icons-team.vscode-icons&#34;&gt;vscode-icons&lt;/a&gt;: Very extensive set of icons for just about every file type imaginable. You could consider it purely aesthetics, but I find have distinct icons makes it easier at a glance to find certain files i.e. a different icon for a &lt;code&gt;spec.js&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=johnpapa.vscode-peacock&#34;&gt;Peacock&lt;/a&gt;: Subtly change the workspace color of your workspace. Ideal when you have multiple VS Code instances and you want to quickly identify which is which&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;react-specific&#34;&gt;React Specific&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=gottfired.css2react&#34;&gt;css2React&lt;/a&gt;: Convert selection between CSS and React inline style syntax and vice versa&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=dsznajder.es7-react-js-snippets&#34;&gt;ES7+ React/Redux/React-Native snippets&lt;/a&gt;: The name says it all. See the full list of &lt;a href=&#34;https://github.com/ults-io/vscode-react-javascript-snippets/blob/master/docs/Snippets.md&#34;&gt;snippets here&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=team-sapling.sapling&#34;&gt;Sapling&lt;/a&gt;: Creates an interactive component dependency tree embedded within the VS Code sidebar&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;angular-specific&#34;&gt;Angular Specific&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Update: It&amp;rsquo;s been a while now since I&amp;rsquo;ve been on an Angular project so I can&amp;rsquo;t really speak to whether these are still the best options but I&amp;rsquo;m leaving them here in case they&amp;rsquo;re still useful.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=Angular.ng-template&#34;&gt;Angular Language Service&lt;/a&gt;: Rich editing support for Angular html templates&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=natewallace.angular2-inline&#34;&gt;Angular2 inline&lt;/a&gt;: Syntax highlighting for Angular inline templates&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=johnpapa.Angular2&amp;amp;wt.mc_id=angularessentials-github-jopapa&#34;&gt;Angular snippets&lt;/a&gt;: Angular v8 snippets&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=PKief.angular-component-extractor&#34;&gt;Angular Component Extractor&lt;/a&gt;: Helper to extract components from templates&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;aesthetics&#34;&gt;Aesthetics&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme&#34;&gt;Atom dark theme&lt;/a&gt;: since I used Atom quite a bit before VS code I still feel very at home with this theme, especially in javascript.
_ &lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=Catppuccin.catppuccin-vsc&#34;&gt;Catppuccin theme&lt;/a&gt;: a very popular color scheme that I&amp;rsquo;ve been liking lately — particularly the Macchiato variant.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;make-use-of-vs-codes-recommended-extensions-feature&#34;&gt;Make use of VS Code&amp;rsquo;s recommended extensions feature&lt;/h3&gt;
&lt;p&gt;VS Code has a nifty feature where you can add an &lt;code&gt;extensions.json&lt;/code&gt; file to the root of your project so when a teammate opens the directory in vs code for the first they&amp;rsquo;ll be prompted to view the recommended extensions for the workspace. &lt;a href=&#34;https://code.visualstudio.com/docs/editor/extension-gallery#_workspace-recommended-extensions&#34;&gt;Read more about here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Below is the file you can use for all the extensions I&amp;rsquo;ve mentioned above:&lt;/p&gt;
&lt;p&gt;extensions.json:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// Recommended extensions for VS Code
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// See http://go.microsoft.com/fwlink/?LinkId=827846
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// for the documentation about the extensions.json format
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s2&#34;&gt;&amp;#34;recommendations&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// Extension identifier format: ${publisher}.${name}.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;streetsidesoftware.code-spell-checker&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;EditorConfig.EditorConfig&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;dbaeumer.vscode-eslint&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;xabikos.ReactSnippets&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;eamodio.gitlens&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;andys8.jest-snippets&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;Orta.vscode-jest&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;christian-kohler.path-intellisense&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;pflannery.vscode-versionlens&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;esbenp.prettier-vscode&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;some-handy-settings&#34;&gt;Some handy settings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;editor.fontFamily&amp;quot;: &amp;quot;Fira Code&amp;quot;&lt;/code&gt; - &lt;a href=&#34;https://github.com/tonsky/FiraCode&#34;&gt;Fira Code font&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;editor.codeActionsOnSave&amp;quot;: { &amp;quot;source.fixAll.eslint&amp;quot;: true }&lt;/code&gt; - Any fixable eslint issues will be automatically fixed on save&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;editor.fontLigatures&amp;quot;: true&lt;/code&gt; - Requires a font that supports ligatures like Fira Code&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;workbench.editor.showTabs&amp;quot;: false&lt;/code&gt; - VS Code has excellent tab switching built and IMHO eliminates the need for displaying tabs across the top&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;profiles&#34;&gt;Profiles&lt;/h2&gt;
&lt;p&gt;Now in VS code you can create various &lt;a href=&#34;https://code.visualstudio.com/docs/editor/profiles&#34;&gt;profiles&lt;/a&gt; as a way to group various customizations and extensions. For example, an Angular and a React profile. I highly recommend checking it out.&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/blog/vscode-setup/feed&quot;&gt;
      </description>
    </item>
    
  </channel>
</rss>