From b9661a14eabeb6ee3b9bf4a001aed4c88991be28 Mon Sep 17 00:00:00 2001 From: Zac Bergquist Date: Mon, 24 Jul 2017 19:05:43 -0400 Subject: [PATCH] doc: add Atom to editor guide Fixes #20569 Change-Id: I752a49ed50c1567f8db7112859ac073f37dd77dc Reviewed-on: https://go-review.googlesource.com/50952 Reviewed-by: Jaana Burcu Dogan --- doc/editors.html | 27 ++++++++++++++++++++++++--- doc/editors/go-plus.png | Bin 0 -> 15558 bytes 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 doc/editors/go-plus.png diff --git a/doc/editors.html b/doc/editors.html index 1448781036..5228dfc7a8 100644 --- a/doc/editors.html +++ b/doc/editors.html @@ -24,6 +24,7 @@ editing, navigation, testing, and debugging experience. an extension for Visual Studio Code to provide support for the Go programming language
  • Gogland: Gogland is distributed either as a standalone IDE or as a plugin for the IntelliJ Platform IDEs
  • +
  • Go-Plus: Go-Plus is an Atom package that provides enhanced Go support
  • @@ -44,6 +45,7 @@ The following feature matrix lists and compares the most significant features.
    Vim Go
    Visual Studio Code Go
    Gogland +
    Go-Plus Editing features @@ -53,42 +55,49 @@ The following feature matrix lists and compares the most significant features. Yes Yes Yes + Yes Autocompletion of identifers (variable, method, and function names) Yes Yes Yes + Yes Autocompletion based on type No No Yes + No Rename identifiers Yes Yes Yes + Yes Auto format, build, vet, and lint on save Yes Yes Yes1 + Yes Auto insert import paths and remove unused on save Yes Yes Yes2 + Yes Auto generate JSON, XML tags for struct fields Yes Yes Yes + Yes Navigation features @@ -98,30 +107,35 @@ The following feature matrix lists and compares the most significant features. Yes Yes Yes + Yes Switch between *.go and *_test.go file Yes Yes Yes + No Jump to definition and referees Yes Yes Yes + Yes Look up for interface implementations Yes Yes Yes + Yes Search for callers and callees Yes Yes Yes + Yes Testing and debugging features @@ -131,36 +145,43 @@ The following feature matrix lists and compares the most significant features. No Yes Yes + Yes3 + Run a single test case, all tests from file, or all tests from a package Yes Yes Yes + No Auto generate tests for packages, files and identifiers No Yes No + No Debug tests No Yes Yes + Yes3 Display test coverage Yes Yes Yes + Yes Install Install Install + Install @@ -168,6 +189,8 @@ The following feature matrix lists and compares the most significant features. 1: Possible when enabled via Settings > Go > On Save, go vet and golint are available via plugins. Also runs tests on save if configured.
    2: Additionally, user input can disambiguate when two or more options are available. +
    +3: Available if the go-debug package is installed.

    @@ -205,6 +228,4 @@ The following feature matrix lists and compares the most significant features. background-color: #ebebeb; font-weight: bold; } - - - \ No newline at end of file + \ No newline at end of file diff --git a/doc/editors/go-plus.png b/doc/editors/go-plus.png new file mode 100644 index 0000000000000000000000000000000000000000..c09c7fe6756a7203964d15d079593811557c9672 GIT binary patch literal 15558 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

    BWKGZcbk|EF4l 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