How-To's

Space Dev Environments: Support for Rider, Devfile Configuration, and More

Space dev environments: Support for Rider, Devfile configuration, and more

With the latest Space update, dev environments have received some amazing new features:

Configure dev environments with devfiles

If you have already tried our remote development solution, you’ll know that one of the best things about it is that you get pre-configured, reproducible dev environments. You can start developing almost immediately because you don’t have to prepare your local machine for a project. With the latest Space update, you can configure almost anything with the help of devfiles, though you should note that Space currently supports only a subset of the Devfile 2.2.0 features.

A devfile is an open-source specification that uses YAML formatting for configuring and running build environments. A project may have a single devfile.yaml file or several *.devfile.yaml files located in the .space folder in the repository root. When you create a dev environment, you can choose from all the devfiles available in the project. Space automatically fills in the settings for the dev environment based on the selected devfile:

To get started, create a devfile.yaml file in the .space folder of your project. It makes sense to edit your devfile in Space, as you can copy-paste configuration examples from the snippets panel there:

Note that you can’t currently use a devfile to prepare a warm-up snapshot. For that, you still need to use an Automation job. In future updates, we plan to implement warm-up configurations with devfiles as well. For details about what you can configure with devfiles, refer to our documentation.

Support for JetBrains Rider

The next big thing in this update is the ability to use dev environments for developing .NET projects with JetBrains Rider. All you need to do to get started is specify a path to your existing solution in a devfile. For example:

schemaVersion: 2.2.0
attributes:
  space:
    editor:
      type: Rider
      version: '2022.1'
    # projectRoot is specified
    # relative to repository root
    projectRoot: projects/my-project/MySolution.sln

Read this article to learn more about how to get started with Rider using dev environments.

Change IDE versions in existing environments

Another important feature is the ability to change the IDE version used in an already created environment. Just go to the list of your dev environments (on the personal navigation sidebar), select a dev environment, and change the settings. The dev environment will automatically be relaunched with the updated IDE version. Don’t worry, all of your uncommitted data is safe, and will be available after the restart.

That’s all for today! These features are already available, so you’re now able to try them in action. As always, we welcome your feedback.