Update README
This commit is contained in:
Родитель
a36203f0b7
Коммит
f7bb680b25
73
README.md
73
README.md
|
@ -2,37 +2,58 @@
|
|||
|
||||
[![Join the chat at https://gitter.im/Microsoft/vscode-go](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Microsoft/vscode-go?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://travis-ci.org/Microsoft/vscode-go.svg?branch=master)](https://travis-ci.org/Microsoft/vscode-go)
|
||||
|
||||
This extension adds rich language support for the Go language to VS Code.
|
||||
|
||||
Read the [Release Notes](https://github.com/Microsoft/vscode-go/wiki/Release-Notes) to know what has changed over the last few versions of this extension.
|
||||
|
||||
This extension adds rich language support for the Go language to VS Code, including:
|
||||
## Language Features
|
||||
|
||||
- Completion Lists (using `gocode`)
|
||||
- Signature Help (using `gogetdoc` or `godef`+`godoc`)
|
||||
- Snippets
|
||||
- Quick Info (using `gogetdoc` or `godef`+`godoc`)
|
||||
- Goto Definition (using `gogetdoc` or `godef`+`godoc`)
|
||||
- Find References (using `guru`)
|
||||
- Find implementations (using `guru`)
|
||||
- References CodeLens
|
||||
- File outline (using `go-outline`)
|
||||
- Workspace symbol search (using `go-symbols`)
|
||||
- Rename (using `gorename`. Note: For Undo after rename to work in Windows you need to have `diff` tool in your path)
|
||||
- Build-on-save (using `go build` and `go test`)
|
||||
- Lint-on-save (using `golint`, `gometalinter`, `megacheck`,`golangci-lint` or `revive`)
|
||||
- Format on save as well as format manually (using `goreturns` or `goimports` or `gofmt`)
|
||||
- Generate unit tests skeleton (using `gotests`)
|
||||
- Add Imports (using `gopkgs`)
|
||||
### IntelliSense
|
||||
|
||||
- Auto Completion of symbols as you type (using `gocode`)
|
||||
- Signature Help for functions as you type (using `gogetdoc` or `godef`+`godoc`)
|
||||
- Quick Info on the symbol as you hover over it (using `gogetdoc` or `godef`+`godoc`)
|
||||
|
||||
### Code Navigation
|
||||
|
||||
- Go to or Peek Definition of symbols (using `gogetdoc` or `godef`+`godoc`)
|
||||
- Find References of symbols and Implementations of interfaces (using `guru`)
|
||||
- Go to symbol in file or see the file outline (using `go-outline`)
|
||||
- Go to symbol in workspace (using `go-symbols`)
|
||||
- Toggle between a Go program and the corresponding test file.
|
||||
|
||||
### Code Editing
|
||||
|
||||
- Code Snippets for quick coding
|
||||
- Format code on file save as well as format manually (using `goreturns` or `goimports` or `gofmt`)
|
||||
- Symbol Rename (using `gorename`. Note: For Undo after rename to work in Windows you need to have `diff` tool in your path)
|
||||
- Add Imports to current file (using `gopkgs`)
|
||||
- Add/Remove Tags on struct fields (using `gomodifytags`)
|
||||
- Semantic/Syntactic error reporting as you type (using `gotype-live`)
|
||||
- Run Tests under the cursor, in current file, in current package, in the whole workspace (using `go test`)
|
||||
- Show code coverage
|
||||
- Generate method stubs for interfaces (using `impl`)
|
||||
- Fill struct literals with default values (using `fillstruct`)
|
||||
- [_partially implemented_] Debugging (using `delve`)
|
||||
- Upload to the Go Playground (using `goplay`)
|
||||
|
||||
### IDE Features
|
||||
![IDE](https://i.giphy.com/xTiTndDHV3GeIy6aNa.gif)
|
||||
### Diagnostics
|
||||
|
||||
- Build-on-save to compile code and show build errors. (using `go build` and `go test`)
|
||||
- Vet-on-save to run `go vet` and show errors as warnings
|
||||
- Lint-on-save to show linting errors as warnings (using `golint`, `gometalinter`, `megacheck`, `golangci-lint` or `revive`)
|
||||
- Semantic/Syntactic error reporting as you type (using `gotype-live`)
|
||||
|
||||
### Testing
|
||||
|
||||
- Run Tests under the cursor, in current file, in current package, in the whole workspace using either commands or codelens
|
||||
- Run Benchmarks under the cursor using either commands or codelens
|
||||
- Show code coverage either on demand or after running tests in the package.
|
||||
- Generate unit tests skeleton (using `gotests`)
|
||||
|
||||
### Debugging
|
||||
|
||||
- Debug your code, binaries or tests (using `delve`)
|
||||
|
||||
### Others
|
||||
|
||||
- Install/Update all dependent Go tools
|
||||
- Upload to the Go Playground (using `goplay`)
|
||||
|
||||
## How to use this extension?
|
||||
|
||||
|
@ -44,9 +65,9 @@ You will see `Analysis Tools Missing` in the bottom right, clicking this will of
|
|||
|
||||
**Note 1**: Read [GOPATH in the VS Code Go extension](https://github.com/Microsoft/vscode-go/wiki/GOPATH-in-the-VS-Code-Go-extension) to learn about the different ways you can get the extension to set GOPATH.
|
||||
|
||||
**Note 2**: Users may want to consider turning `Auto Save` on in Visual Studio Code (`"files.autoSave": "afterDelay"`) when using this extension. Many of the Go tools work only on saved files, and error reporting will be more interactive with `Auto Save` turned on. If you do turn `Auto Save` on, then the format-on-save feature will be turned off.
|
||||
**Note 2**: The `Format on save` feature has a timeout of 750ms after which the formatting is aborted. You can change this timeout using the setting `editor.formatOnSaveTimeout`. This feature gets disabled when you have enabled the `Auto Save` feature in Visual Studio Code.
|
||||
|
||||
**Note 3**: This extension uses `gocode` to provide completion lists as you type. If you have disabled the `go.buildOnSave` setting, then you may not get fresh results from not-yet-built dependencies. In this case, to get fresh results from such dependencies, enable the `go.gocodeAutoBuild` setting. This will make the extension use `gocode`'s `autobuild=true` setting. If you experience any performance issues with autocomplete, you should try setting `"go.gocodeAutoBuild": false` in your VS Code settings.
|
||||
**Note 3**: This extension uses `gocode` to provide completion lists as you type. If you have disabled the `go.buildOnSave` setting, then you may not get fresh results from not-yet-built dependencies. Therefore, ensure you have built your dependencies manually in such cases.
|
||||
|
||||
### Customizing the Go extension features
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче