fatih / vim-go

Vim-go Logo

Eigenschaften

Dieses Plugin fügt Go-Sprachunterstützung für Vim mit den folgenden Hauptfunktionen hinzu:

  • Kompilieren Sie Ihr Paket mit :GoBuild, installieren Sie es mit :GoInstall oder testen Sie es mit :GoTest. Führen Sie einen einzelnen Test mit :GoTestFunc aus).
  • Führen Sie Ihre aktuelle(n) Datei(en) schnell mit :GoRun aus.
  • Verbesserte Syntaxhervorhebung und -faltung.
  • Debug-Programme mit integrierter delve Unterstützung mit :GoDebugStart.
  • Vervollständigung und viele andere Funktionen Unterstützung über gopls.
  • Beim Formatieren beim Speichern wird die Cursorposition beibehalten und der Verlauf rückgängig gemacht.
  • Gehe zu Symbol/Deklaration mit :GoDef.
  • Dokumentation mit :GoDoc oder :GoDocBrowser nachschlagen.
  • Importieren Sie Pakete einfach über :GoImport, entfernen Sie sie über :GoDrop.
  • Präzise typsichere Umbenennung von Bezeichnern mit :GoRename.
  • Sehen Sie, welcher Code von Tests mit :GoCoverage abgedeckt wird.
  • Hinzufügen oder Entfernen von Tags in Strukturfeldern mit :GoAddTags und :GoRemoveTags.
  • Rufen Sie golangci-lint mit :GoMetaLinter auf, um alle möglichen Linter aufzurufen(golint, vet, errcheck, deadcode, etc.) und legen Sie das Ergebnis in thequickfix oder Standortliste.
  • Lint Ihren Code mit :GoLint , führen Sie Ihren Code durch :GoVet , um staticerrors abzufangen, oder stellen Sie sicher, dass Fehler mit :GoErrCheck überprüft werden.
  • Erweiterte Quellenanalysetools, die guru verwenden, wie :GoImplements,:GoCallees und :GoReferrers.
  • … und viele mehr! Siehe doc/vim-go .txt für weitere Informationen.
  • Die gopls -Instanz kann mit anderen Vim-Plugins geteilt werden.
  • Die Verwendung von gopls durch Vim-go kann deaktiviert werden.

Installieren

vim-go benötigt mindestens Vim 8.0.1453 oder Neovim 0.4.0.

Die neueste stabile Version ist die empfohlene Version. Wenn Sie stattdessen den Master-Zweig verwenden möchten, tun Sie dies bitte mit Vorsicht.

vim-go folgt der Standard-Laufzeitpfadstruktur. Nachfolgend finden Sie einige Hilfszeilenfür beliebte Paketmanager:

  • Vim 8 Pakete
    • git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go
  • Pathogen
    • git clone https://github.com/fatih/vim-go.git ~/.vim/bundle/vim-go
  • vim-Stecker
    • Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
  • Vundle
    • Plugin 'fatih/vim-go'

Sie müssen auch alle erforderlichen Binärdateien installieren. vim-go macht es einfach, alle zu installieren, indem es einen Befehl :GoInstallBinaries bereitstellt, dergo get alle erforderlichen Binärdateien enthält.

Weitere detaillierte Anweisungen finden Sie im Abschnitt Installieren in der Dokumentation (:help go-install).

Verwendung

Die vollständige Dokumentation finden Sie unter doc/vim-go.txt. Sie können es in Vim mit :help vim-go anzeigen.

Abhängig von Ihrer Installationsmethode müssen Sie möglicherweise diehelp tags des Plugins manuell generieren (z. B. :helptags ALL).

Wir haben auch ein offizielles vim-go Tutorial.

FAQ und Fehlerbehebung

Die FAQ und Tipps zur Fehlerbehebung finden Sie in der Dokumentation und können mit :help go-troubleshooting schnell aufgerufen werden. Wenn Sie glauben, in vim-go einen Fehler oder ein Problem gefunden zu haben, das weder in der Hilfe noch in vorhandenen Problemen behoben wird, öffnen Sie bitte ein Problem mit klaren Reproduktionsschritten. :GoReportGitHubIssue kann verwendet werden, um viele der Informationen, die beim Erstellen eines neuen Problems benötigt werden, vorab zu füllen.

Alle PRs sind willkommen. Wenn Sie planen, einen großen Patch beizutragen oder ein neues Tool zu integrieren, erstellen Sie bitte zuerst ein Problem, um vorab alle Fragen oder Designentscheidungen aus dem Weg zu räumen.

Sie können die Tests lokal ausführen, indem Sie make ausführen. Es wird die VimL für Sie fusseln, die Dokumentation fusseln und die Tests gegen die minimal erforderliche Version von Vim, andere Versionen von Vim, die für die Unterstützung kritisch sein können, und Neovim ausführen.

Lizenz

Die BSD 3-Klausel Lizenz – siehe LICENSE für weitere Details