Skip to content

Resolves: Add GitHub Codespaces configuration#1599

Merged
alexeyzimarev merged 2 commits intorestsharp:devfrom
pipeline-foundation:feature/codespace
Jul 15, 2021
Merged

Resolves: Add GitHub Codespaces configuration#1599
alexeyzimarev merged 2 commits intorestsharp:devfrom
pipeline-foundation:feature/codespace

Conversation

@aleks-ivanov
Copy link
Copy Markdown
Contributor

@aleks-ivanov aleks-ivanov commented Jun 18, 2021

  • ready-to-start GitHub Codespaces configuration

  • it provides basic tools for:

    • .NET development
    • GitHub support
    • overall more pleasant VS Code experience

The configuration consists of:

  • "settings": - a list of VS Code settings to be applied automatically after the Codespace container is created (.editorconfig overrides these)

    • "workbench.colorTheme": "Default Dark+" - sets the theme of the VS Code workbench to the Default Dark+ theme
    • "terminal.integrated.defaultProfile.linux": "pwsh" - sets the default VS Code terminal to PowerShell Core
  • extensions: - a list of VS Code extensions that are automatically installed after the Codespace container is created

    • "eamodio.gitlens" - provides git information directly inside the code
    • "ms-dotnettools.csharp" and "VisualStudioExptTeam.vscodeintellicode" - provide basic Visual Studio tooling
    • "ms-vscode.powershell" - provides the functionality of Windows PowerShell ISE inside VS Code
    • "cschleiden.vscode-github-actions" and "redhat.vscode-yaml" - provide YAML and GitHub Actions support
    • "bierner.markdown-preview-github-styles" and "ban.spellright" - provide assistance with writing Markdown documentation
    • "jmrog.vscode-nuget-package-manager" - provides use of the NuGet library through the Command Palette
    • "coenraads.bracket-pair-colorizer" - sets different colors for each nested pair of brackets
    • "vscode-icons-team.vscode-icons" - provides a huge set of icons for the VS Code explorer
    • "editorconfig.editorconfig" - attempts to override user/workspace settings with those in the .editorconfig
  • "postCreateCommand" - is a string of commands separated by && that execute after the container has been built and the source code has been cloned. For RestSharp, build of the solution and run of the unit tests are executed.

  • "build" - declares the Docker configuration that the container would use to run.

  • Dockerfile:

    • "mcr.microsoft.com/vscode/devcontainers/dotnet:0.201.7-5.0" - the Codespace container runs from an Ubuntu 20.04 image with .NET Core SDK installed (0.201.7 is the latest .NET Core SDK Docker image tagged version)
    • Additional installed tools:
      • Mono - required by some of the unit tests
      • wget - used to install the .NET SDK
      • .NET Core SDK 3.1 - required by some of the unit tests

This GitHub Codespace configuration can also be used locally with the Remote - Containers extension for VS Code. It automatically creates and runs a Docker container based on the devcontainer.json configuration inside the repo, so anyone could work on the project from any computer, without the need to install anything other than VS Code and Docker.

Resolves #1598

@alexeyzimarev alexeyzimarev merged commit 56c3098 into restsharp:dev Jul 15, 2021
@aleks-ivanov aleks-ivanov deleted the feature/codespace branch July 15, 2021 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add GitHub Codespaces configuration

2 participants