# 03. Tools

### Articles

* [ ] [Simple tools to improve your Go code](https://remy.io/blog/simple-tools-to-improve-your-go-code/)
* [ ] [Go tools & GitLab — how to do Continuous Integration like a boss](https://medium.com/pantomath/go-tools-gitlab-how-to-do-continuous-integration-like-a-boss-941a3a9ad0b6)

## Tools

#### **VSCode Go Plugin**:

* <https://github.com/golang/vscode-go/blob/master/docs/features.md>&#x20;
  * Go to definition
  * @ для поиска в файле, # глобально.
  * Refactor
  * Generate interface impl
  * Generate tests
  * Add or remove struct tags &#x20;
* <https://github.com/golang/vscode-go/blob/master/docs/tools.md> &#x20;

### Linter

* <https://golangci-lint.run/> - агрегированный линтер&#x20;
* <https://staticcheck.io/docs>&#x20;
* <https://github.com/dominikh/go-tools>

### Testing

* <https://golang.org/pkg/cmd/go/internal/test/> - документация по go test
* [How to Write Go Code - Testing](https://golang.org/doc/code.html#Testing)&#x20;
* [gotests](https://github.com/cweill/gotests) - generate Go tests from your source code.

### Tools

* [ ] [impl](https://github.com/josharian/impl) - generates method stubs for implementing an interface.
