Skip to content
This repository

Google Go language IDE built using the Intellij Platform. Released both an integrated IDE and as a standalone Intellij IDEA plugin

Merge pull request #681 from sbrady/fixInitializeStruct

Fix initialize struct formatting
latest commit a0a54f281e
Mihai Claudiu Toader mtoader authored April 22, 2014
Octocat-spinner-32 .idea Added thread-list-ids parser February 22, 2014
Octocat-spinner-32 go-ide Improve GoCallOrConvExpressionImpl to get the return types of literal… February 10, 2014
Octocat-spinner-32 mock-sdks Added code formatting support. September 27, 2010
Octocat-spinner-32 src Merge pull request #681 from sbrady/fixInitializeStruct April 22, 2014
Octocat-spinner-32 test Merge pull request #681 from sbrady/fixInitializeStruct April 22, 2014
Octocat-spinner-32 testdata Merge pull request #681 from sbrady/fixInitializeStruct April 22, 2014
Octocat-spinner-32 .gitignore Fix Issue Finding JDK “lib” Directory January 08, 2014
Octocat-spinner-32 .travis.yml Cosmetics and make things run on IDEA 13 February 13, 2014
Octocat-spinner-32 CHANGELOG.md Cosmetics and make things run on IDEA 13 February 13, 2014
Octocat-spinner-32 Missing ENV.md Update Missing ENV.md March 04, 2014
Octocat-spinner-32 README 0.9.15.md Changed URLs to reflect the new repository url January 05, 2014
Octocat-spinner-32 README.md Merge pull request #640 from dlsniper/add-beta-link March 04, 2014
Octocat-spinner-32 a.test test January 08, 2014
Octocat-spinner-32 build-distribution.xml Remove deprecated calls and suppress warnings which can't be fixed December 08, 2013
Octocat-spinner-32 build-package.xml Remove deprecated calls and suppress warnings which can't be fixed December 08, 2013
Octocat-spinner-32 build-test.xml Don’t Halt On Failure Of A Single Test January 08, 2014
Octocat-spinner-32 compileGoLexer.sh Mark '\' rune as wrong. January 17, 2014
Octocat-spinner-32 contributing.md Changed URLs to reflect the new repository url January 05, 2014
Octocat-spinner-32 google-go-language.iml Fix formatter to match gofmt December 03, 2013
Octocat-spinner-32 howtobuild.md Changed URLs to reflect the new repository url January 05, 2014
Octocat-spinner-32 status.txt More work in variable and expression types resolving. June 02, 2011
Octocat-spinner-32 travis.sh Fix Issue Finding JDK “lib” Directory January 08, 2014
README.md

Google Go language plugin for IntelliJ Idea

Google go language plugin is an attempt to build an outstanding IDE for Google Go language using Intellij IDEA.

Build Status

TOC

Links

What it does

  • Basic language parsing and highlighting
  • Code folding
  • Brace matching
  • Comment/Uncomment (Single/Multiple line) support
  • Go SDK (work with the latest release and on windows)
  • File type icon
  • Go application file and library generation.
  • Auto completion of sdk package names and/or local application packages.
  • Compilation of the go applications (supported semantics are similar to those of gobuild)
  • Go To definition (for types) works across files and Go SDK
  • Code formatting - experimental (disabled)
  • Type name completion
  • ColorsAndSettings page with a new color scheme
  • Automatically add new line at end of file
  • Force UTF-8 encoding for go files
  • Go module type
  • Go SDK indexing mode

How to use it

  • Download and install Intellij IDEA (Ultimate or Community edition) or any other IntelliJ IDE that is build on the IDEA 133.326+ platform
  • Open the Plugins installation page: File -> Settings -> Plugins -> Browse Repositories...
  • Search for "golang"
  • Right click on the proper plugin and install
  • Download latest release of the Google Go language.
  • Build and install it.
  • Open IDEA and create an empty Go project.
  • Go to File -> Project Structure and select SDKs entry in the left column of the new window
  • Add a new Google Go SDK by clicking the plus sign an choosing the appropriate SDK type. (See MacOS note below)
  • After the SDK is defined go to the Modules entry and add a new google facet to your default module. Select the proper sdk for the module.
  • If you have only one directory in the GOPATH and you are creating a project inside that path when you are working with packages that are part of the project you must still specify the whole import path for them, not the relative one. Example:
    • GOPATH is: /home/florin/go
    • the correct way to setup a project called demogo is: /home/florin/go/src/github.com/dlsniper/demogo/
    • new package is: /home/florin/go/src/github.com/dlsniper/demogo/newpack
    • the correct import statement is: github.com/dlsniper/demogo/newpack not newpack

Now you are ready to play with golang.

NOTE: In MacOS you may need to press ++G in Finder dialog and enter /usr/local/go if Go in installed using package installer)

Tutorials

Bugs

If you found a bug, please report it at the Google Go plugin project's tracker on GitHub: http://github.com/go-lang-plugin-org/go-lang-idea-plugin/issues.

When reporting a bug, please include the following:

  • IDEA version
  • OS version
  • JDK version

Please ensure that the bug is not reported already.

EAP download

There will always be at least one EAP downloadable on @dlsniper's dropbox built from master. The folder may contain other builds as well such as issue prefixed builds that attempt to fix a specific issue and have not been merged to master yet. They are meant to be a convenient way to quickly test upcoming changes without the hasle of building the plugin but it also means that you should take them with a grain of salt, they are after all, beta builds. Also, after you've done testing, please remember to check the official plugin repository in order to ensure you always have the latest stable build or that there's no new release as automatic updates won't work with EAP releases of the plugin.

Contributing

If you want to contribute to this effort you should read the following page: how to contribute.

Authors

Thank you

We would like to thank YourKit for supporting the development of this plugin by providing us licenses to their full-featured Yourkit Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products:

Something went wrong with that request. Please try again.