# Environment Setup for Making Roomle Content
This document will guide you to setup your environment for the effective scripting of Roomle content using Visual Studio Code and conversion of meshes using Blender.
If you find any inaccuracies in this document, something is not working or you have a problem you need to solve, please, don't hesitate to tell us!
# Visual Studio Code
VS Code a modern, open-source and extendable code editor, which actually has only little in common with Visual Studio. We recommend using it for content creation, because we provide langugage support as an extension. We have decided to prepare those tools for VS Code because it is easy to extend, works on most common platforms and we think it is just good. At the moment, we do not have any intention to adjust another code editor. We require our content development contractors store all data in GIT in a formatted shape, rendering the VS Code as mandatory for internal and contractor use.
You can get VS Code here: https://code.visualstudio.com/
Please, always open the same working folder so that we keep our offline loader snippets (explained further) unified for the use by everybody involved.
The purpose of this document is not to give you a manual for VS Code. So shortly, as opposed to other editors: Everything you do in VS Code is a command, where not all commands have UI features like buttons etc. To start typing a command, press Ctrl+Shift+P or Cmd+Shift+P to invoke the Command Palette. Please, see internet tutorials to learn the features of the editor by yourself.
# VS Code Extensions
There is an extension menu in VS Code. To open it, click on the squarish button on the left black bar, the 5th from the top. We recommend installing and using the following extensions:
Essential
VS Code Extension: Roomle Json Formatter (opens new window) - Provides language support, autocomplete, snippets and diagnostics for the Roomle Componend Definition JSONs.
Live Server (opens new window) - Quick and easy extension for starting a HTTP server, which is useful for loading components from hard drive. You can use a different HTTP server.
Auxiliary
Some useful extensions from the VS Code marketplace we use as well.
Prettify JSON (opens new window) - a code formatter for JSON, usage is by running the
Prettify JSON
command.Highlight-words (opens new window) - keyword highlighter. Allows you to select a piece of text and have all its occurences highlighted. Usage: commands containing
Highlight
.Edit csv (opens new window) - renders CSV files as tables
Rainbow CSV (opens new window) - colors CSV files' columns
# Blender
Blender is a free 3D modelling tool. You can get it at the blender.org website (opens new window). You need to install the Roomle Blender Add-On (opens new window) in order to be able to get the meshes in a correct status to Rubens Admin and also to be able to use them in Component Definitions (more on that later). For installation instructions, please refer to the add-on readme file (opens new window).