<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Sar Malik</title>
    <description>The latest articles on Forem by Sar Malik (@sar).</description>
    <link>https://forem.com/sar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F259463%2Fdbdf6486-190f-4cc4-ba41-631df78c346b.jpg</url>
      <title>Forem: Sar Malik</title>
      <link>https://forem.com/sar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sar"/>
    <language>en</language>
    <item>
      <title>Top 5 VS Code Extensions you haven't tried...</title>
      <dc:creator>Sar Malik</dc:creator>
      <pubDate>Sun, 17 Jan 2021 00:04:25 +0000</pubDate>
      <link>https://forem.com/sar/top-5-vs-code-extensions-you-haven-t-heard-of-4lld</link>
      <guid>https://forem.com/sar/top-5-vs-code-extensions-you-haven-t-heard-of-4lld</guid>
      <description>&lt;p&gt;👋 Hey, I know what you're thinking... There's no way these extensions are any good if they're not popular, right? You'd be surprised at the amazing stuff being developed!&lt;/p&gt;

&lt;p&gt;I love tinkering with VS Code to optimize productivity and trying new extensions 🛠️ is one of my best growth hacks.&lt;/p&gt;

&lt;p&gt;Here's a run down of the Top 5 VS Code extensions that you probably haven't heard of... (and yes, they're all open source, so give 'em a ⭐ on GitHub)&lt;/p&gt;

&lt;p&gt;Fair warning, some of these extensions are work-in-progress so 🐛 bugs are expected. &lt;strong&gt;Scroll to the end for links&lt;/strong&gt;...&lt;/p&gt;

&lt;h3&gt;
  
  
  1 - Stack Overflow View
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FIsaacSomething%2Fstackoverflow-view-vscode%2Fmaster%2Fassets%2Fsnippet.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FIsaacSomething%2Fstackoverflow-view-vscode%2Fmaster%2Fassets%2Fsnippet.gif" alt="Stack Overflow View"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Try this out&lt;/strong&gt; &lt;code&gt;&amp;gt; ext install 4tron.stack-overflow-view&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Use Stack Overflow right inside VS Code with quick actions, and it works beautifully with your existing dark theme... EPIC! 🤯&lt;/p&gt;

&lt;p&gt;No more opening up browser windows, googling for answers, and jumping through tabs when you can fix your code at the speed of light. &lt;/p&gt;

&lt;p&gt;Just type &lt;code&gt;&amp;gt; stackoverflow: search&lt;/code&gt; and paste in a code snippet or error message to fire up Stack Overflow results without ever leaving code. Need I say more?&lt;/p&gt;

&lt;h3&gt;
  
  
  2 - Debug Visualizer
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FjTSuikv.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FjTSuikv.gif" alt="Debug Visualizer REST Output in VS Code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Try this out&lt;/strong&gt; &lt;code&gt;&amp;gt; ext install hediet.debug-visualizer&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Debug Visualizer can do a lot of things, but my favourite feature is exploring the data returned from REST or GraphQL endpoints.&lt;/p&gt;

&lt;p&gt;Sure, you can load a response in Postman but having a table view with filter and sort right in VS Code is super handy, especially when it comes to deeply nested objects or variables.&lt;/p&gt;

&lt;h3&gt;
  
  
  3 - SandDance
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;👉 Try this out&lt;/strong&gt; &lt;code&gt;&amp;gt; ext install msrvida.vscode-sanddance&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F11507384%2F66712891-7d80aa80-ed58-11e9-8b95-d96568c1b240.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F11507384%2F66712891-7d80aa80-ed58-11e9-8b95-d96568c1b240.gif" alt="SandDance"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Working on data sci projects became a lot easier with Jupyter Notebooks. &lt;/p&gt;

&lt;p&gt;SandDance is the next big thing, it's by far the most meaningful way of going from static csv files to understanding the data you're working with.&lt;/p&gt;

&lt;p&gt;Stop writing queries and setting up dashboards when you can easily dump and visualize. The impact of being a data scientist is finding meaningful answers to business questions, this gets you there a lot quicker.&lt;/p&gt;

&lt;h3&gt;
  
  
  4 - Fabulous
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Faffectionate-booth-10a1f4.netlify.app%2Fbanner.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Faffectionate-booth-10a1f4.netlify.app%2Fbanner.png" alt="Fabulous for VS Code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Try this out&lt;/strong&gt; &lt;code&gt;&amp;gt; ext install Raathigeshan.fabulous&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you're into design with Figma or Sketch, it can be a lot easier to visually edit design properties with a native GUI.&lt;/p&gt;

&lt;p&gt;Fabulous does just that on CSS, and it works on &lt;code&gt;styled-components&lt;/code&gt; in JS too! The extension comes in handy if you have long stylesheets and want to quickly customize a few things.&lt;/p&gt;

&lt;h3&gt;
  
  
  5 - Parameter Hints
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FDominicVonk%2FVSCode-Parameter-Hints%2Fmaster%2Fpreview.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FDominicVonk%2FVSCode-Parameter-Hints%2Fmaster%2Fpreview.png" alt="Parameter Hints for VS Code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Try this out&lt;/strong&gt; &lt;code&gt;&amp;gt; ext install DominicVonk.parameter-hints&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Inline parameter hints are subtle, but it's a neat productivity hack. JetBrains has hinting using types by default in their IDEs and this extension brings it to VS Code.&lt;/p&gt;

&lt;p&gt;Why inline? If you type fast or don't like the tooltip covering up lines of code, then this is for you. &lt;/p&gt;

&lt;p&gt;It's in preview and currently supports languages like JS and TypeScript but pull requests are encouraged.&lt;/p&gt;




&lt;p&gt;🛠️ There you have it! Top 5 VS Code Extensions that are awesome for boosting your productivity and becoming a PRO coder.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/IsaacSomething" rel="noopener noreferrer"&gt;
        IsaacSomething
      &lt;/a&gt; / &lt;a href="https://github.com/IsaacSomething/stackoverflow-view-vscode" rel="noopener noreferrer"&gt;
        stackoverflow-view-vscode
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Visual Studio Code extension for access to Stack Overflow inside of the editor.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;No longer maintained :(&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;If i have time i will try to update this, but i just dont have any. Sorry&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Stack Overflow View&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a href="https://lbesson.mit-license.org/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c5600b9a6a41705a179cf09ee5cf81b2a6ee1c857671a9c97a748d9be5d1b63e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e7376673f7374796c653d666c61742d737175617265" alt="MIT license"&gt;&lt;/a&gt;
&lt;a href="https://code.visualstudio.com/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/b01a0d156c2613845d708f1a027dc5755a5a832b72c53d404c921bd0cdbd2ca8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230666f722d5653436f64652d3166343235662e7376673f6c6f676f3d76697375616c2d73747564696f2d636f6465267374796c653d666c61742d737175617265" alt="made-for-VSCode"&gt;&lt;/a&gt;
&lt;a href="https://github.com/sveltejs/svelte" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/48bb3e25f755c8629f39e1311463447b968a4466874e0c486fc145188268f454/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230576974682d7376656c74652d6f72616e67653f7374796c653d666c61742d737175617265" alt="made-with-svelte"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/IsaacSomething/stackoverflow-view-vscode/blob/master/assets/logo.png?raw=true"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FIsaacSomething%2Fstackoverflow-view-vscode%2Fraw%2Fmaster%2Fassets%2Flogo.png%3Fraw%3Dtrue" height="95"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visual Studio Code extension for access to Stack Overflow inside of the editor. &lt;code&gt;["vscode":"^1.37.0"]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/IsaacSomething/stackoverflow-view-vscode/blob/master/assets/snippet.gif?raw=true"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FIsaacSomething%2Fstackoverflow-view-vscode%2Fraw%2Fmaster%2Fassets%2Fsnippet.gif%3Fraw%3Dtrue" alt="snippet"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Configuration&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Supported internationalization&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;English (default)&lt;/li&gt;
&lt;li&gt;Spanish&lt;/li&gt;
&lt;li&gt;Russian&lt;/li&gt;
&lt;li&gt;Portuguese&lt;/li&gt;
&lt;li&gt;Japanese&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;&lt;div class="markdown-heading"&gt;
&lt;h6 class="heading-element"&gt; Please Note: Some of the translation was done by copying Stack Overflows language sites - with the integrated i18n api call - and some of it was done with Google translate - if there are any issues with translation it is unintentional. &lt;/h6&gt;

&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;Set your preferred sort type&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;relevance&lt;/li&gt;
&lt;li&gt;votes&lt;/li&gt;
&lt;li&gt;activity&lt;/li&gt;
&lt;li&gt;newest&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Keyboard Shortcuts&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;not mac&lt;/strong&gt; : ctrl + alt + s&lt;br&gt;
&lt;strong&gt;mac&lt;/strong&gt; : ctrl + cmd + s&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/IsaacSomething/stackoverflow-view-vscode" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;

&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/hediet" rel="noopener noreferrer"&gt;
        hediet
      &lt;/a&gt; / &lt;a href="https://github.com/hediet/vscode-debug-visualizer" rel="noopener noreferrer"&gt;
        vscode-debug-visualizer
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      An extension for VS Code that visualizes data during debugging.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;VS Code Debug Visualizer&lt;/h1&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://github.com/sponsors/hediet" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/26fc79dc604455257dff3a66d12ba3e539f0341496673e43a19292644304aff5/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d736f6369616c266c6162656c3d53706f6e736f72266d6573736167653d254532253944254134266c6f676f3d47697448756226636f6c6f72266c696e6b3d25334375726c253345" alt=""&gt;&lt;/a&gt;
&lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;amp;hosted_button_id=ZP5F38L4C88UY&amp;amp;source=url" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fe5f0b04be4ab60c72098cc27b74abf8219eca10af501a306c84688490540f0c/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d736f6369616c266c6162656c3d446f6e617465266d6573736167653d254532253944254134266c6f676f3d50617970616c26636f6c6f72266c696e6b3d25334375726c253345" alt=""&gt;&lt;/a&gt;
&lt;a href="https://twitter.com/intent/follow?screen_name=hediet_dev" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/85aab395cc1b70af03c564faa406ed1bf89c5f0aebd625347d6f5fa5913a486e/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f666f6c6c6f772f6865646965745f6465762e7376673f7374796c653d736f6369616c" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://github.com/hediet/vscode-debug-visualizer./extension/README.md" rel="noopener noreferrer"&gt;README.md&lt;/a&gt; for the readme of the extension.&lt;/p&gt;
&lt;p&gt;You can get the extension in the &lt;a href="https://marketplace.visualstudio.com/items?itemName=hediet.debug-visualizer" rel="nofollow noopener noreferrer"&gt;marketplace&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://github.com/hediet/vscode-debug-visualizer./CONTRIBUTING.md" rel="noopener noreferrer"&gt;CONTRIBUTING.md&lt;/a&gt; for build instructions and implementation details.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/hediet/vscode-debug-visualizer./docs/doubly-linked-list-reverse-demo.gif"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhediet%2Fvscode-debug-visualizer.%2Fdocs%2Fdoubly-linked-list-reverse-demo.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/hediet/vscode-debug-visualizer" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;

&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/microsoft" rel="noopener noreferrer"&gt;
        microsoft
      &lt;/a&gt; / &lt;a href="https://github.com/microsoft/SandDance" rel="noopener noreferrer"&gt;
        SandDance
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Visually explore, understand, and present your data.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;SandDance&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;Visually explore, understand, and present your data.&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/11507384/189461831-9467863e-bff8-47d2-aa03-ab2b74658814.gif"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F11507384%2F189461831-9467863e-bff8-47d2-aa03-ab2b74658814.gif" alt="sanddance-animation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By using easy-to-understand views, SandDance helps you find insights about your data, which in turn help you tell stories supported by data, build cases based on evidence, test hypotheses, dig deeper into surface explanations, support decisions for purchases, or relate data into a wider, real world context.&lt;/p&gt;

&lt;p&gt;SandDance uses unit visualizations, which apply a one-to-one mapping between rows in your database and marks on the screen
Smooth animated transitions between views help you to maintain context as you interact with your data.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This new version of SandDance has been rebuilt from scratch with the goal of being modular, extensible, and embeddable into your custom applications. We are now on GitHub so that we are open and driven by the community through contributions, feature requests, and discussion.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;SandDance was created by the &lt;a href="https://aka.ms/vida" rel="nofollow noopener noreferrer"&gt;Microsoft Research VIDA Group&lt;/a&gt; which explores novel technologies for visualization and…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/microsoft/SandDance" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Raathigesh" rel="noopener noreferrer"&gt;
        Raathigesh
      &lt;/a&gt; / &lt;a href="https://github.com/Raathigesh/fabulous" rel="noopener noreferrer"&gt;
        fabulous
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🎨 CSS properties sidebar for VS Code
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d484c789d130e4dc2c3b423733fe51edc478785a234ca4c425af5ef6d47634ab/68747470733a2f2f616666656374696f6e6174652d626f6f74682d3130613166342e6e65746c6966792e636f6d2f62616e6e65722e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/d484c789d130e4dc2c3b423733fe51edc478785a234ca4c425af5ef6d47634ab/68747470733a2f2f616666656374696f6e6174652d626f6f74682d3130613166342e6e65746c6966792e636f6d2f62616e6e65722e706e67"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;Fabulous introduces a CSS properties sidebar into Visual Studio Code.&lt;/p&gt;
&lt;p&gt;Fabulous supports the followings&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;💅 CSS-in-JS libs which supports template literal (&lt;a href="https://github.com/styled-components/styled-components" rel="noopener noreferrer"&gt;styled-components&lt;/a&gt;, &lt;a href="https://github.com/emotion-js/emotion" rel="noopener noreferrer"&gt;emotion&lt;/a&gt;, &lt;a href="https://github.com/callstack/linaria" rel="noopener noreferrer"&gt;linaria&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;🎨 CSS rules from &lt;code&gt;.css&lt;/code&gt; files&lt;/li&gt;
&lt;li&gt;🌈 CSS rules from &lt;code&gt;.scss&lt;/code&gt; files&lt;/li&gt;
&lt;li&gt;🌏 CSS rules from &lt;code&gt;.html&lt;/code&gt; files - these must be in a &lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt; tag and the style tag must be within the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; tag&lt;/li&gt;
&lt;li&gt;🌛 CSS rules from &lt;code&gt;component.ts&lt;/code&gt; Angular component files that have inline styles within the &lt;code&gt;@Component({ styles:[``] })&lt;/code&gt; decorator&lt;/li&gt;
&lt;li&gt;🌟 CSS rules from &lt;code&gt;.vue&lt;/code&gt; files that have a &lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt; tag in the root of the file&lt;/li&gt;
&lt;li&gt;💍 CSS rules from &lt;code&gt;.svelte&lt;/code&gt; files that have a &lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt; tag in the root of the file&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Fabulous is still in Preview. Give it a try and &lt;a href="https://github.com/Raathigesh/fabulous/issues" rel="noopener noreferrer"&gt;let us know&lt;/a&gt; when things don't go well.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Getting started&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Install the &lt;a href="https://marketplace.visualstudio.com/items?itemName=Raathigeshan.fabulous" rel="nofollow noopener noreferrer"&gt;Fabulous&lt;/a&gt; extension in VS Code&lt;/li&gt;
&lt;li&gt;After opening a &lt;code&gt;css&lt;/code&gt;, &lt;code&gt;scss&lt;/code&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Raathigesh/fabulous" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/DominicVonk" rel="noopener noreferrer"&gt;
        DominicVonk
      &lt;/a&gt; / &lt;a href="https://github.com/DominicVonk/VSCode-Parameter-Hints" rel="noopener noreferrer"&gt;
        VSCode-Parameter-Hints
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Parameter Hints&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=DominicVonk.parameter-hints" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/6f39bbf8dca4a8fb5959216859c96f40ae9ccfc27faf92d157a66f339631d13b/68747470733a2f2f76736d61726b6574706c61636562616467652e61707068622e636f6d2f76657273696f6e2d73686f72742f446f6d696e6963566f6e6b2e706172616d657465722d68696e74732e7376673f7374796c653d666c6174" alt="VS Marketplace Version"&gt;&lt;/a&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=DominicVonk.parameter-hints" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/ea13b418a8e9458bd9da4180fd969ee92a612493f2031cb1a9c563f1a03300eb/68747470733a2f2f76736d61726b6574706c61636562616467652e61707068622e636f6d2f696e7374616c6c732d73686f72742f446f6d696e6963566f6e6b2e706172616d657465722d68696e74732e7376673f7374796c653d666c6174" alt="VS Marketplace Installs"&gt;&lt;/a&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=DominicVonk.parameter-hints" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/2fb8c5ebdd9bd0489245c5e8911392ba4e4ff0d4e0dd7f838115bf798c6bbdcd/68747470733a2f2f76736d61726b6574706c61636562616467652e61707068622e636f6d2f726174696e672d73686f72742f446f6d696e6963566f6e6b2e706172616d657465722d68696e74732e7376673f7374796c653d666c6174" alt="VS Marketplace Rating"&gt;&lt;/a&gt;
&lt;a href="http://opensource.org/licenses/MIT" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/9d1a240205944500f5e34e1461de24e0b73a25ff1ac68bf9bf9c20d8d9f91ffe/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d6f72616e67652e7376673f7374796c653d666c6174" alt="The MIT License"&gt;&lt;/a&gt;
&lt;a href="https://github.com/DominicVonk/vscode-parameter-hints/issues" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/54f218bac812ce91fc1a958afad300a9f9686a5d1ef5a9a472b4909c03745c60/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f446f6d696e6963566f6e6b2f7673636f64652d706172616d657465722d68696e74732e7376673f7374796c653d666c6174" alt="GitHub"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/DominicVonk/VSCode-Parameter-Hintspreview.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FDominicVonk%2FVSCode-Parameter-Hintspreview.png" alt="Preview"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Shows the parameter name of the called function&lt;/p&gt;
&lt;p&gt; 
 &lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Supported languages *&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Javascript&lt;/li&gt;
&lt;li&gt;Javascript React&lt;/li&gt;
&lt;li&gt;Typescript&lt;/li&gt;
&lt;li&gt;Typescript React&lt;/li&gt;
&lt;li&gt;PHP&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; 
* &lt;em&gt;Feel free to contribute&lt;/em&gt;&lt;/p&gt;
&lt;p&gt; 
 &lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Settings&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;parameterHints.enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Enable Parameter Hints&lt;/td&gt;
&lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;parameterHints.hintingType&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Enable Parameter Hints Type&lt;/td&gt;
&lt;td&gt;&lt;code&gt;variableAndType&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;parameterHints.languages&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Enable Parameter Hints only for the selected languages&lt;/td&gt;
&lt;td&gt;&lt;code&gt;all&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;parameterHints.padding&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Padding&lt;/td&gt;
&lt;td&gt;&lt;code&gt;1 4&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;parameterHints.margin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Margin&lt;/td&gt;
&lt;td&gt;&lt;code&gt;0 1&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;p&gt; 
 &lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Colors&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;The background and foreground colors can be customized under
&lt;code&gt;workbench.colorCustomizations&lt;/code&gt; like this:&lt;/p&gt;
&lt;div class="highlight highlight-source-js notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;// settings.json&lt;/span&gt;
&lt;span class="pl-kos"&gt;{&lt;/span&gt;
    &lt;span class="pl-c"&gt;// ...&lt;/span&gt;
    &lt;span class="pl-s"&gt;"workbench.colorCustomizations"&lt;/span&gt;: &lt;span class="pl-kos"&gt;{&lt;/span&gt;
        &lt;span class="pl-s"&gt;"parameterHints.hintBackground"&lt;/span&gt;: &lt;span class="pl-s"&gt;"#37415180"&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
        &lt;span class="pl-s"&gt;"parameterHints.hintForeground"&lt;/span&gt;: &lt;span class="pl-s"&gt;"#9CA3AF"&lt;/span&gt;
    &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;parameterHints.hintForeground&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Specifies the foreground color for the hint&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;parameterHints.hintBackground&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Specifies the background color for the hint&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;p&gt; 
 &lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Commands&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;parameterHints.toggle&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Hide / Show Hints&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;p&gt; 
 &lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Credits&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a href="https://github.com/goto-bus-stop/dash-ast" rel="noopener noreferrer"&gt;Dash-AST&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/microsoft/typescript/" rel="noopener noreferrer"&gt;TypeScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/glayzzle/php-parser" rel="noopener noreferrer"&gt;php-parser&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/DominicVonk/VSCode-Parameter-Hints" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h4&gt;
  
  
  🐦 Know a developer that would love to try these amazing open source extensions? Share it with them!
&lt;/h4&gt;

</description>
      <category>vscode</category>
      <category>productivity</category>
      <category>tooling</category>
      <category>githunt</category>
    </item>
    <item>
      <title>How to run VS Code as a Container for Remote Development</title>
      <dc:creator>Sar Malik</dc:creator>
      <pubDate>Wed, 30 Dec 2020 20:02:06 +0000</pubDate>
      <link>https://forem.com/quantone/how-to-run-vs-code-as-a-container-for-remote-development-2ng3</link>
      <guid>https://forem.com/quantone/how-to-run-vs-code-as-a-container-for-remote-development-2ng3</guid>
      <description>&lt;p&gt;Launch your own &lt;a href="https://github.com/linuxserver/docker-code-server" rel="noopener noreferrer"&gt;Code Server&lt;/a&gt; container with preloaded dev tools (SDKs, npm packages, CLIs etc) for an efficient and securely accessible Web IDE in your homelab or private cloud!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fcdr%2Fcode-server%2Fmain%2Fdocs%2Fassets%2Fscreenshot.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fcdr%2Fcode-server%2Fmain%2Fdocs%2Fassets%2Fscreenshot.png" alt="vs-code-server"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why VS Code in a Container?
&lt;/h2&gt;

&lt;p&gt;Remote development has taken the world by storm, it's not just a trend but here to stay as a new way that delivers on the promise of work-life balance. &lt;/p&gt;

&lt;p&gt;Teams need to adapt rapidly and deploy out infrastructure which enables developer productivity and one of the best ways we've found is - speed to onboarding. &lt;/p&gt;

&lt;p&gt;Getting up and running is simple as scaling containers with all the tooling and personalized preferences ready to go. Writing code has never been easier, anywhere and on any device powered by your own cloud.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;We've provided the full code samples used in this guide, checkout our &lt;a href="https://github.com/DigitalTransformation/vs-code-container-with-ssl/" rel="noopener noreferrer"&gt;Github&lt;/a&gt; repository to get started.&lt;/p&gt;

&lt;p&gt;👉 Clone the repo&lt;br&gt;
📜 Create an &lt;code&gt;.env&lt;/code&gt; file&lt;br&gt;
🔒 Generate SSL certificates&lt;br&gt;
🐳 &lt;code&gt;vi dockerfile&lt;/code&gt; with your own scripts&lt;br&gt;
🚀 Launch the stack with &lt;code&gt;docker-compose up&lt;/code&gt;!&lt;/p&gt;

&lt;p&gt;Clone the repo on a host server with &lt;code&gt;docker&lt;/code&gt; or &lt;code&gt;podman&lt;/code&gt; configured. It's recommended to attach mount points for storing your codebase isolated from the container runtime for redundancy and failover management.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;git clone https://github.com/DigitalTransformation/vs-code-container-with-ssl.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, we'll setup the required environment variables and data paths using the included &lt;a href="https://github.com/DigitalTransformation/vs-code-container-with-ssl/blob/main/.env.template" rel="noopener noreferrer"&gt;.env.template&lt;/a&gt; replicated as &lt;code&gt;.env&lt;/code&gt; (note: it's excluded by default in .gitignore).&lt;/p&gt;

&lt;p&gt;Persistent storage for extensions and vscode settings can also be enabled by mapping &lt;code&gt;HOST_*&lt;/code&gt; variables for convenience against container restarts and rebuilds. Otherwise you'll be quite unhappy to see all the preferences wiped out! &lt;/p&gt;

&lt;p&gt;The popular vs code extension &lt;a href="https://github.com/shanalikhan/code-settings-sync" rel="noopener noreferrer"&gt;settings-sync&lt;/a&gt; is also another great way to backup preferences onto private gists but does require reinstalling extensions on every new image build.&lt;/p&gt;

&lt;p&gt;Here's an example of what you'll need to define in &lt;code&gt;.env&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;VIRTUAL_HOST=10.0.0.1
VIRTUAL_PORT=8555

HOST_CONFIG_PATH=./config
HOST_LOG_PATH=./logs

HOST_CODE_PATH=/mnt/codebase
CODE_PATH=/code

TZ=America/New_York
PASSWORD=&amp;lt;PASSWORD&amp;gt;
SUDO_PASSWORD=&amp;lt;SUDO_PASSWORD&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nginx is used to reroute traffic from &lt;code&gt;[::]:80&lt;/code&gt; to upstream HTTPS port &lt;code&gt;[::]:8443&lt;/code&gt; with self-signed SSL certificates. Checkout and run the &lt;a href="https://github.com/DigitalTransformation/vs-code-container-with-ssl/blob/main/scripts/generate_certs.sh" rel="noopener noreferrer"&gt;generate_certs.sh&lt;/a&gt; script to emit the required certificates with signing key using &lt;code&gt;openssl&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Place both the &lt;a href="https://github.com/DigitalTransformation/vs-code-container-with-ssl/blob/main/config/nginx.conf" rel="noopener noreferrer"&gt;nginx.conf&lt;/a&gt; and certs under the paths defined in &lt;code&gt;code-server.yaml&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;listen [::]:443 ssl default_server;
        ssl_certificate /etc/nginx/certs/ssl.crt;
        ssl_certificate_key /etc/nginx/certs/ssl.key;
        ssl_protocols TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DHE+AES128:!ADH:!AECDH:!MD5;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, deploy the container stack on the docker host using the command &lt;code&gt;docker-compose -f code-server.yaml up&lt;/code&gt;. It may take 15-20 minutes depending on your hardware and network bandwidth for the initial build. The dockerfile pre-configures a number of devtools and updates the base image packages.&lt;/p&gt;

&lt;p&gt;To comply with Docker CIS, resource limits are defined on each of the containers but can be customized to your hardware in the compose &lt;a href="https://github.com/DigitalTransformation/vs-code-container-with-ssl/blob/main/code-server.yaml" rel="noopener noreferrer"&gt;code-server.yaml&lt;/a&gt; file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pre-Installed Dev Tools
&lt;/h2&gt;

&lt;p&gt;Here's a quick overview of what the &lt;code&gt;dockerfile&lt;/code&gt; does to extend the &lt;a href="https://github.com/linuxserver/docker-code-server" rel="noopener noreferrer"&gt;linuxserver/code-server&lt;/a&gt; base image. This allows containers to be rapidly deployed and scaled up for usage on dev teams with tooling ready to go.&lt;/p&gt;

&lt;p&gt;The output image includes SDKs for cloud native app development workloads such as React, Node, C#, AWS and Azure Cloud CLIs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* AWS CLI Tools
    * aws-shell
    * amplify cli
* Azure CLI
* Netlify CLI
* NPM packages
    * yarn (upstream)
    * gatsby-cli
    * gulp
    * create-react-app
* .NET Core SDK and Runtime
    * 5.0.0
    * 3.1.0
    * 2.1.0
* Python global env
    * python3 python3-pip python3-dev
* Ubuntu apt packages
    * Networking
        * wget
        * apt-transport-https
        * libssl-dev libffi-dev
    * Tools
        * ranger
        * tree
        * unzip
        * ansible
        * vim
        * htop
        * iputils-ping
    * OS/Misc
        * systemd
        * build-essential
        * ffmpeg
        * youtube-dl
        * chromium-browser
    * Default shell --&amp;gt; zsh/oh-my-zsh
        * zsh-syntax-highlighting
        * zsh-autosuggestions
        * zsh-completions
        * history-search-multi-word
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Refer to the &lt;a href="https://github.com/DigitalTransformation/vs-code-container-with-ssl/blob/main/dockerfile" rel="noopener noreferrer"&gt;Dockerfile&lt;/a&gt; for image layers. Our build image size was well over &lt;code&gt;6.5GB&lt;/code&gt; but can be as minimal as your requirements for dev tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  Remote Debugging
&lt;/h3&gt;

&lt;p&gt;By default the &lt;code&gt;dockerfile&lt;/code&gt; and &lt;code&gt;code-server.yaml&lt;/code&gt; are set to expose port ranges &lt;code&gt;5000-5010&lt;/code&gt; and &lt;code&gt;8000-8010&lt;/code&gt; commonly used for web app development. Customize this for your workload such as React, Gatsby, Angular, Django, etc. to allow for remote debugging HTTP instances that are running inside the container.&lt;/p&gt;

&lt;p&gt;To allow external access on node frameworks that depend &lt;code&gt;http-server&lt;/code&gt; (instantiated with &lt;code&gt;npm&lt;/code&gt; or &lt;code&gt;yarn&lt;/code&gt;) you may need to also update your &lt;code&gt;package.json&lt;/code&gt; and bind the runtime to the host ip instead of localhost. &lt;/p&gt;

&lt;p&gt;Here are a few common examples:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"scripts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"ng:start"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ng serve --host 0.0.0.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"npm:start"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"http-server --host 0.0.0.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"gatsby:start"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gatsby develop --host 0.0.0.0"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Alternatively, if you'd prefer not to expose ports, check out the &lt;a href="https://github.com/auchenberg/vscode-browser-preview/" rel="noopener noreferrer"&gt;vscode-browser-preview&lt;/a&gt; extension which enables &lt;code&gt;chromium&lt;/code&gt; based inspection and debugging within the container itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security Considerations
&lt;/h2&gt;

&lt;p&gt;As the base image extends &lt;code&gt;ubuntu:18.04&lt;/code&gt;, additional steps have been taken to add security measures with &lt;code&gt;hosts&lt;/code&gt; file, &lt;code&gt;fail2ban&lt;/code&gt; and &lt;code&gt;clamav&lt;/code&gt; packages preloaded. These are precautionary against attacks but insufficient against (un)known breaches.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Log Analytics&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's strongly recommended to configure a remote syslog daemon for log analytics with &lt;code&gt;auditd&lt;/code&gt; enabled, here's our guide on using solutions such as &lt;a href="https://ix.quant.one/GraylogAnsible" rel="noopener noreferrer"&gt;Graylog2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ports&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There's a wide range of tcp ports exposed and mapped directly to the host for remote debugging apps running inside the container. By default, only the &lt;code&gt;code-server&lt;/code&gt; is allocated on ports &lt;code&gt;8443&lt;/code&gt; and &lt;code&gt;localhost:8080&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;netstat &lt;span class="nt"&gt;-tnlp&lt;/span&gt;

Active Internet connections &lt;span class="o"&gt;(&lt;/span&gt;only servers&lt;span class="o"&gt;)&lt;/span&gt;
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:8443            0.0.0.0:&lt;span class="k"&gt;*&lt;/span&gt;               LISTEN      299/node            
tcp        0      0 127.0.0.1:8080          0.0.0.0:&lt;span class="k"&gt;*&lt;/span&gt;               LISTEN      -     
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For dev workloads outside of a homelab or private cloud behind firewalls, using an nginx reverse proxy with HTTPS and auth redirects is vital to preventing sensitive code exposure.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;Deploying VS Code Server in a container is a great way to provide for flexible development infrastructure in your home lab or for your team.&lt;/p&gt;

&lt;p&gt;Paired with VPN access and all your custom settings, Web IDEs make for the future of remote coding. It's rapidly scalable, gets you to coding a lot quicker, and on any device.&lt;/p&gt;

&lt;p&gt;Be sure to checkout the &lt;a href="https://github.com/DigitalTransformation/vs-code-container-with-ssl/" rel="noopener noreferrer"&gt;Github&lt;/a&gt; repository where we've provided the full code samples that can be used to deploy your own &lt;code&gt;code-server&lt;/code&gt; in minutes.&lt;/p&gt;

&lt;p&gt;I've been using it as my primary development environment and after tweaking &lt;code&gt;vscode&lt;/code&gt; settings and extensions, there's no going back. The speedup of compiling code on a dedicated server alone is worth the change.&lt;/p&gt;

&lt;p&gt;Let me know if you like this homelab setup and what you think!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>docker</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
