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