Note: If you already have a Codespace or dev container, you can jump to the Things to try section.
-
Click the Code drop-down menu. -
Click on the Codespaces tab. -
Click Create codespace on main .
-
If this is your first time using a development container, please ensure your system meets the pre-reqs (i.e. have Docker installed) in the getting started steps . -
To use this repository, you can either open the repository in an isolated Docker volume: -
Press F1 and select the Dev Containers: Try a Sample... command. -
Choose the ". NET Core" sample, wait for the container to start, and try things out! Note: Under the hood, this will use the Dev Containers: Clone Repository in Container Volume... command to clone the source code in a Docker volume instead of the local filesystem. Volumes are the preferred mechanism for persisting container data.
Or open a locally cloned copy of the code: -
Clone this repository to your local filesystem. -
Press F1 and select the Dev Containers: Open Folder in Container... command. -
Select the cloned copy of this folder, wait for the container to start, and try things out!
-
-
If you want to enable HTTPS , see enabling HTTPS to reuse your local development cert in the container.
-
Restore Packages: When notified by the C# extension to install packages, click Restore to trigger the process from inside the container! You can also execute dotnet restore command in a terminal. -
Edit: -
Open Program.cs -
Try adding some code and check out the language features. -
Make a spelling mistake and notice it is detected. The Code Spell Checker extension was automatically installed because it is referenced in .devcontainer/devcontainer.json . -
Also notice that the C# extension is installed. Tools are installed in the mcr.microsoft.com/devcontainers/dotnet image and Dev Container settings and metadata are automatically picked up from image labels .
-
-
Build, Run, and Debug: -
Open Program.cs -
Add a breakpoint (e.g. on line 16). -
Press F5 to launch the app in the container. -
Navigate to the weather endpoint, for example, http://localhost:5000/paris/weather . -
Once the breakpoint is hit, try hovering over variables, examining locals, and more. -
Continue ( F5 ). You can connect to the server in the container by either: -
Clicking on Open in Browser in the notification telling you: Your service running on port 5000 is available . -
Clicking the globe icon in the 'Ports' view. The 'Ports' view gives you an organized table of your forwarded ports, and you can access it with the command Ports: Focus on Ports View .
-
-
Notice port 5000 in the 'Ports' view is labeled "Hello Remote World. " In devcontainer.json , you can set "portsAttributes" , such as a label for your forwarded ports and the action to be taken when the port is autoforwarded.
Note: In Dev Containers, you can access your app at http://localhost:5000 in a local browser. But in a browser-based Codespace, you must click the link from the notification or the Ports view so that the service handles port forwarding in the browser and generates the correct URL. -
-
Rebuild or update your container You may want to make changes to your container, such as installing a different version of a software or forwarding a new port. You'll rebuild your container for your changes to take effect. Open browser automatically: As an example change, let's update the portsAttributes in the .devcontainer/devcontainer.json file to open a browser when our port is automatically forwarded. -
Open the .devcontainer/devcontainer.json file. -
Modify the "onAutoForward" attribute in your portsAttributes from "notify" to "openBrowser" . -
Press F1 and select the Dev Containers: Rebuild Container or Codespaces: Rebuild Container command so the modifications are picked up.
-
-
Install Node.js using a Dev Container Feature: -
Press F1 and select the Dev Containers: Configure Container Features... or Codespaces: Configure Container Features... command. -
Type "node" in the text box at the top. -
Check the check box next to "Node.js (via nvm) and yarn" (published by devcontainers) -
Click OK -
Press F1 and select the Dev Containers: Rebuild Container or Codespaces: Rebuild Container command so the modifications are picked up.
-