Updates given #5
This commit is contained in:
@@ -6,9 +6,10 @@
|
|||||||
"appPort": [9000],
|
"appPort": [9000],
|
||||||
|
|
||||||
"runArgs": [
|
"runArgs": [
|
||||||
// Comment out the next line to run as root instead. Linux users,
|
// Uncomment the next line to run as root instead. Linux users,
|
||||||
// update Dockerfile with your user's UID/GID if not 1000.
|
// update Dockerfile with your user's UID/GID if not 1000 when
|
||||||
"-u", "vscode",
|
// using the default "vscode" user.
|
||||||
|
// "-u", "root",
|
||||||
|
|
||||||
"--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"
|
"--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"
|
||||||
],
|
],
|
||||||
|
|||||||
18
README.md
18
README.md
@@ -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.
|
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:
|
Some things to try:
|
||||||
|
|
||||||
@@ -29,13 +29,13 @@ Some things to try:
|
|||||||
- Open `server.go`
|
- Open `server.go`
|
||||||
- Try adding some code and check out the language features.
|
- 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. **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`
|
- Open `server.go`
|
||||||
- Add a breakpoint (e.g. on line 22).
|
- Add a breakpoint (e.g. on line 22).
|
||||||
- Press <kbd>F5</kbd> to launch the app in the container.
|
- Press <kbd>F5</kbd> to launch the app in the container.
|
||||||
- Once the breakpoint is hit, try hovering over variables, examining locals, and more.
|
- 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.
|
- 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.
|
- Stop debugging and remove the breakpoint.
|
||||||
- Open `server.go`
|
- Open `server.go`
|
||||||
- Change the server port to 5000. (`portNumber := "5000"`)
|
- 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.
|
- Press <kbd>F1</kbd> and run the **Remote-Containers: Forward Port from Container...** command.
|
||||||
- Select port 5000.
|
- Select port 5000.
|
||||||
- Click "Open Browser" in the notification that appears to access the web app on this new port.
|
- 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.
|
- 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 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.
|
- 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.
|
- 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, "},`
|
- 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**
|
- 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**
|
- 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.
|
- 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`
|
- 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.
|
- 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.
|
- 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.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user