Updates given #5

This commit is contained in:
Chuck Lantz
2019-09-23 16:24:39 +00:00
parent b0951769f0
commit 08f29d614b
2 changed files with 13 additions and 12 deletions

View File

@@ -21,7 +21,7 @@ Follow these steps to open this sample in a container:
Once you have this sample opened in a container, you'll be able to work with it like you would locally.
> **Note:** This container runs as a non-root user with sudo access by default. Comment out `"-u", "vscode"` in `.devcontainer/devcontainer.json` if you'd prefer to run as root.
> **Note:** This container runs as a non-root user with sudo access by default. Uncomment `"-u", "root"` in `.devcontainer/devcontainer.json` if you'd prefer to run as root.
Some things to try:
@@ -29,13 +29,13 @@ Some things to try:
- Open `server.go`
- Try adding some code and check out the language features.
2. **Terminal:** Press <kbd>ctrl</kbd>+<kbd>shift</kbd>+<kbd>\`</kbd> and type `uname` and other Linux commands from the terminal window.
2. **Build, Run, and Debug:**
3. **Build, Run, and Debug:**
- Open `server.go`
- Add a breakpoint (e.g. on line 22).
- Press <kbd>F5</kbd> to launch the app in the container.
- Once the breakpoint is hit, try hovering over variables, examining locals, and more.
- Continue, then open a local browser and go to `http://localhost:9000` and note you can connect to the server in the container.
3. **Forward another port:**
4. **Forward another port:**
- Stop debugging and remove the breakpoint.
- Open `server.go`
- Change the server port to 5000. (`portNumber := "5000"`)
@@ -43,22 +43,22 @@ Some things to try:
- Press <kbd>F1</kbd> and run the **Remote-Containers: Forward Port from Container...** command.
- Select port 5000.
- Click "Open Browser" in the notification that appears to access the web app on this new port.
3. **Refactoring - rename:**
5. **Refactoring - rename:**
- Open `hello.go`, select method name `Hello` press <kbd>F1</kbd> and run the **Rename Symbol** command.
3. **Refactoring - extract:**
6. **Refactoring - extract:**
- Open `hello.go` and select string, press <kbd>F1</kbd> and run the **Go: Extract to variable** command.
- Open `hello.go` and select line with return statement, press <kbd>F1</kbd> and run the **Go: Extract to function** command.
3. **Generate tests:**
7. **Generate tests:**
- Open `hello.go` and press <kbd>F1</kbd> and run the **Go: Generate Unit Tests For File** command.
- Implement a test case: Open file `hello_test.go` and edit the line with the `TODO` comment: `{"hello without name", "Hello, "},`
- You can toggle between implementation file and test file with press <kbd>F1</kbd> and run the **Go: Toggle Test File**
- Tests can also run as benchmarks: Open file `hello_test.go`, press <kbd>F1</kbd> and run the **Go: Benchmark File**
4. **Stub generation:** ( [details](https://github.com/josharian/impl))
8. **Stub generation:** ( [details](https://github.com/josharian/impl))
- define a struct `type mock struct {}`, enter a new line , press <kbd>F1</kbd> and run the **Go: Generate interface stubs** command.
- edit command `m *mock http.ResponseWriter`
4. **Fill structs:** ([details](https://github.com/davidrjenni/reftools/tree/master/cmd/fillstruct))
9. **Fill structs:** ([details](https://github.com/davidrjenni/reftools/tree/master/cmd/fillstruct))
- Open `hello.go` and select `user{}` of variable asignment, press <kbd>F1</kbd> and run the **Go: Fill struct** command.
4. **Add json tags to structs:** ([details](https://github.com/fatih/gomodifytags))
10. **Add json tags to structs:** ([details](https://github.com/fatih/gomodifytags))
- Open `hello.go` and go with cursor in to a struct, press <kbd>F1</kbd> and run the **Go: Add Tags To Struct Fields** command.