Update go example, README
This commit is contained in:
Родитель
aafae304bf
Коммит
5066da6e19
|
@ -23,7 +23,15 @@ RUN go get -u -v \
|
|||
github.com/mgechev/revive \
|
||||
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
|
||||
|
||||
# Clean up
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"name": "Go",
|
||||
"dockerFile": "Dockerfile",
|
||||
"appPort": 9000,
|
||||
"extensions": [
|
||||
"ms-vscode.go"
|
||||
],
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"go.gopath": "/go"
|
||||
}
|
|
@ -2,11 +2,11 @@
|
|||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Launch file",
|
||||
"name": "Launch Server",
|
||||
"type": "go",
|
||||
"request": "launch",
|
||||
"mode": "debug",
|
||||
"program": "${file}"
|
||||
"program": "${workspaceFolder}/server.go"
|
||||
}
|
||||
]
|
||||
}
|
47
README.md
47
README.md
|
@ -1,16 +1,47 @@
|
|||
# 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`
|
||||
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!
|
||||
## Things to try
|
||||
|
||||
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
|
||||
|
||||
This project welcomes contributions and suggestions. Most contributions require you to agree to a
|
||||
This project welcomes contributions and suggestions. Most contributions require you to agree to a
|
||||
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
|
||||
the rights to use your contribution. For details, visit https://cla.microsoft.com.
|
||||
|
||||
|
@ -25,4 +56,4 @@ contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additio
|
|||
## License
|
||||
|
||||
Copyright © Microsoft Corporation All rights reserved.<br />
|
||||
Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
|
|
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")
|
||||
}
|
|
@ -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)
|
||||
}
|
Загрузка…
Ссылка в новой задаче