Update go example, README
This commit is contained in:
		@@ -23,7 +23,15 @@ RUN go get -u -v \
 | 
				
			|||||||
    github.com/mgechev/revive \
 | 
					    github.com/mgechev/revive \
 | 
				
			||||||
    github.com/derekparker/delve/cmd/dlv
 | 
					    github.com/derekparker/delve/cmd/dlv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Install git, process tools
 | 
					# gocode-gomod
 | 
				
			||||||
 | 
					RUN go get -x -d github.com/stamblerre/gocode \
 | 
				
			||||||
 | 
					    && go build -o gocode-gomod github.com/stamblerre/gocode \
 | 
				
			||||||
 | 
					    && mv gocode-gomod $GOPATH/bin/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copy default endpoint specific user settings overrides into container to specify Python path
 | 
				
			||||||
 | 
					COPY settings.vscode.json /root/.vscode-remote/data/Machine/settings.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Verify git, process tools installed
 | 
				
			||||||
RUN apt-get update && apt-get -y install git procps
 | 
					RUN apt-get update && apt-get -y install git procps
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Clean up
 | 
					# Clean up
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	"name": "Go",
 | 
						"name": "Go",
 | 
				
			||||||
	"dockerFile": "Dockerfile",
 | 
						"dockerFile": "Dockerfile",
 | 
				
			||||||
 | 
						"appPort": 9000,
 | 
				
			||||||
	"extensions": [
 | 
						"extensions": [
 | 
				
			||||||
		"ms-vscode.go"
 | 
							"ms-vscode.go"
 | 
				
			||||||
	],
 | 
						],
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								.devcontainer/settings.vscode.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.devcontainer/settings.vscode.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "go.gopath": "/go"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										4
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
								
							@@ -2,11 +2,11 @@
 | 
				
			|||||||
    "version": "0.2.0",
 | 
					    "version": "0.2.0",
 | 
				
			||||||
    "configurations": [
 | 
					    "configurations": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "Launch file",
 | 
					            "name": "Launch Server",
 | 
				
			||||||
            "type": "go",
 | 
					            "type": "go",
 | 
				
			||||||
            "request": "launch",
 | 
					            "request": "launch",
 | 
				
			||||||
            "mode": "debug",
 | 
					            "mode": "debug",
 | 
				
			||||||
            "program": "${file}"
 | 
					            "program": "${workspaceFolder}/server.go"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										43
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								README.md
									
									
									
									
									
								
							@@ -1,12 +1,43 @@
 | 
				
			|||||||
# Go Sample Project for Visual Studio Remote - Containers
 | 
					# Try Out Development Containers: Go
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is a sample project to go along with the "try" quick start for the VS Code Remote - Containers extension.
 | 
					This is a sample project to go along with the "try" quick start for the **[VS Code Remote - Containers](https://aka.ms/vscode-remote/containers)** extension.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Using the sample:
 | 
					**If you aren't already following the quick start, [see here](#setting-up-the-development-container).**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1. **[Windows]** Disable automatic line ending conversion for Git on the *Windows side* (given Linux and Windows use different line endings). Run: `git config --global core.autocrlf false`
 | 
					## Things to try
 | 
				
			||||||
2. Follow the steps at [https://aka.ms/vscode-remote/containers/getting-started](https://aka.ms/vscode-remote/containers/getting-started).
 | 
					
 | 
				
			||||||
3. Open `hello.go`, edit, launch the program, and try things out!
 | 
					One you have this sample opened in a container, you'll be able to work with it like you would locally.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Some things to try:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2. **Edit:**
 | 
				
			||||||
 | 
					   1. Open `server.go`
 | 
				
			||||||
 | 
					   2. Try adding some code and check out the language features.
 | 
				
			||||||
 | 
					3. **Build, Run, and Debug:**
 | 
				
			||||||
 | 
					   1. Open `sever.go`
 | 
				
			||||||
 | 
					   2. Add a breakpoint.
 | 
				
			||||||
 | 
					   3. Press <kbd>F5</kbd> to launch the app in the container.
 | 
				
			||||||
 | 
					   4. Open a local browser and go to `http://localhost:9000` and note you can connect to the server in the container.
 | 
				
			||||||
 | 
					   5. Once the breakpoint is hit, try hovering over variables, examining locals, and more.
 | 
				
			||||||
 | 
					4. **Forward another port:**
 | 
				
			||||||
 | 
					   1. Stop debugging
 | 
				
			||||||
 | 
					   2. Open `sever.js`
 | 
				
			||||||
 | 
					   3. Change the server port to 5000. (`portNumber := "5000"`)
 | 
				
			||||||
 | 
					   4. Press <kbd>F5</kbd> to launch the app in the container.
 | 
				
			||||||
 | 
					   5. Press <kbd>F1</kbd> and run the **Remote-Containers: Forward Port...** command.
 | 
				
			||||||
 | 
					   6. Select port 5000.
 | 
				
			||||||
 | 
					   7. Click "Open Browser" in the notification that appears to access the web app on this new port.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Setting up the development container
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Follow these steps to open this sample in a container:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. If this is your first time using a development container, please follow the [getting started steps](https://aka.ms/vscode-remote/containers/getting-started) to get set up.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2. If you're not yet in a development container:
 | 
				
			||||||
 | 
					   1. Clone this repository.
 | 
				
			||||||
 | 
					   2. Press <kbd>F1</kbd> and select the **Remote-Container: Open Folder in Container...** command.
 | 
				
			||||||
 | 
					   3. Select the cloned copy of this folder, wait for the container to start, and try things out!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Contributing
 | 
					## Contributing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										10
									
								
								hello.go
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								hello.go
									
									
									
									
									
								
							@@ -1,10 +0,0 @@
 | 
				
			|||||||
/*----------------------------------------------------------------------------------------
 | 
					 | 
				
			||||||
 * Copyright (c) Microsoft Corporation. All rights reserved.
 | 
					 | 
				
			||||||
 * Licensed under the MIT License. See LICENSE in the project root for license information.
 | 
					 | 
				
			||||||
 *---------------------------------------------------------------------------------------*/
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
package main
 | 
					 | 
				
			||||||
import "fmt"
 | 
					 | 
				
			||||||
func main() {
 | 
					 | 
				
			||||||
    fmt.Println("hello world")
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										23
									
								
								server.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								server.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					/*----------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					 * Copyright (c) Microsoft Corporation. All rights reserved.
 | 
				
			||||||
 | 
					 * Licensed under the MIT License. See LICENSE in the project root for license information.
 | 
				
			||||||
 | 
					 *---------------------------------------------------------------------------------------*/
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 package main
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					 import (
 | 
				
			||||||
 | 
					     "io"
 | 
				
			||||||
 | 
					     "net/http"
 | 
				
			||||||
 | 
					     "fmt"
 | 
				
			||||||
 | 
					 )
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					 func hello(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
					     io.WriteString(w, "Hello remote world!")
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					 func main() {
 | 
				
			||||||
 | 
					     portNumber := "9000"
 | 
				
			||||||
 | 
					     http.HandleFunc("/", hello)
 | 
				
			||||||
 | 
					     fmt.Println("Server listening on port ", portNumber)
 | 
				
			||||||
 | 
					     http.ListenAndServe(":" + portNumber, nil)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
		Reference in New Issue
	
	Block a user