2018-07-17

Adding VS Code Theme to CodeSandBox

vscode, codesandbox

banner

Have you ever wanted to match your CodeSandBox Editor Theme to match your Visual Studio Code Color Theme? Well, you can.

It's because of CodeSandBox uses Monaco (a VS Code editor engine) by default.

Follow along to make the magicย โœจ happen~

๐Ÿ‘ฃ Steps

Here are the steps to make it happen.

    1. Get VS Code Color Theme Settings
    2. Open CodeSandBox Preference
    3. Paste the Setting in CodeSandBox Preference modal box

Let's do this ๐Ÿ’ช.

๐Ÿ€ 1. Get VS Code Color Theme Settings

Let's grab the color theme settings from VS Code. I am using Cobalt2 theme on CodeSandBox, and will be updating it to use Fairy Floss theme (Found from this post) on VS Code.

From VS Code,

  1. show all commands by pressing Control+Shift+P
  2. Enter Developer: Generate Color Theme From Current Settings

[caption id="attachment_1091" align="aligncenter" width="643"]

show all commands
show all commands[/caption]

After executing the command, you will see a new tab, Untitled-1 popping up with Color Theme in JSON format.

[caption id="attachment_1092" align="aligncenter" width="713"]

untitled-1
untitled-1[/caption]

Now select all (Ctrl+A) and copy the content.

๐Ÿ€ 2. Open CodeSandBox Preference

Click on "Preferences" gear โš™๏ธ button to open PREFERENCES modal box.

[caption id="attachment_1093" align="aligncenter" width="1064"]

Click Preference
Click Preference[/caption]

Custom VSCode Theme

๐Ÿ€ 3. Paste the Settings

And now paste the VS Code Color Theme copied from the previous step in the Custom VSCode Theme text area. You can now see that the theme has been updated globally.

[caption id="attachment_1095" align="aligncenter" width="1536"]

result
result[/caption]

Ok, now Enjoy the new Look & Feel ๐Ÿ˜Ž.

๐Ÿ‘ฉโ€๐Ÿญย Working Demo

Here is the video of steps above.

https://youtu.be/HhaOuFMl9zI

โš ๏ธย A Word of Caution

Note that the change is global. That means, all previous SandBoxes (that's what CodeSandBox calls each project) will be affected as well.

But I am sure that the default behavior is probably what you want, anyways ๐Ÿ˜›.