GithubHelp home page GithubHelp logo

dtanner / go-lang-idea-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from go-lang-plugin-org/go-lang-idea-plugin

0.0 2.0 0.0 19.11 MB

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

Home Page: http://plugins.intellij.net/plugin/?idea&id=5047

Shell 0.41% AppleScript 0.11% Makefile 0.01% Go 22.22% Java 77.26%

go-lang-idea-plugin's Introduction

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 Coverity Scan Build Status

![Gitter](https://badges.gitter.im/Join Chat.svg)

TOC

Current WIP

We are working towards 0.9.16 release (https://github.com/go-lang-plugin-org/go-lang-idea-plugin/milestones/0.9.16) and the main things we want to fix are:

  • fix default imports of packages where the last part of the import path differs from the package name
  • remove dependency on environment variables and use IDEA configured paths only
  • add a supported alpha/beta channel so we don't have to push people to dropbox
    • build the app to support custom channels
    • wait for JetBrains to fix the issue with saving custom channels (fixed in IDEA 14 RC2)
    • define a way to build releases that can be automatically upgraded by IDEA
    • define an official URL for the alpha / beta channels
  • improve the documentation of what the plugin can/can't do
    • improve the usage docs for what it can do
  • various type inference fixes

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

This is not supported anymore. We are in progress of defining a proper release channel for alpha / beta builds.

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:

go-lang-idea-plugin's People

Contributors

alexandre-normand avatar amoghe avatar anidotnet avatar bronze1man avatar catalinc avatar coocood avatar ctoforaday avatar dlsniper avatar dmarcotte avatar dtanner avatar dvirsky avatar etiennebruines avatar everson avatar fritsstegmann avatar fxkr avatar gaku avatar gregko avatar hfinger avatar ikarienator avatar jhsx avatar joefitzgerald avatar landaire avatar leojay avatar m0sth8 avatar mtoader avatar pa001024 avatar shiftb avatar wallyworld avatar xpoft avatar yole avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.