Go language (golang.org) support plugin
Support for Go programming language.(see
Release notes for version 0.9.15
The plugin provides the following features:
- Basic language parsing and highlighting
- Code folding and Brace matching
- Comment/Uncomment (Single/Multiple line) support
- 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)
- Native plugin code formatter
- GoTo class (go types) implementation
- ColorsAndSettings page with a new color scheme
- Completion/Resolution of vars/types/functions/structs/methods (works across some expression chains).
- Refactorings: Introduce variable/constant
- Inspections: Unused imports/variables/constants/parameters/symbols
- Inspections: Validate the format param for the fmt.Print suite of functions
- Inspections: Detect non constant expression used in constant declarations
- Intentions: Invert if condition/Merge nested 'if's/Split into 2 'if's/Convert switch statement to if chain.
- Intentions: Convert between interpreted string and raw string.
- Intention: go get a package.
- Intention: Add/Remove parentheses.
- Intention: Move simple statement out.
- Inspection: Validate that the package names in files are correct with respect of the folder name.
- Documentation for functions, methods, variable, constants and types.
- Function parameter information.
- Ctrl+Shift+T to jump between source file and test file.
- Navigation from stack trace in output panel.
- Ctrl+Shift+Enter to add curly brackets for "func", "if" and "for" statements.
- Live templates: "sout", "souf", "soutm" and "soutp".
- Go aware imports optimizer and auto import generator
- Import usage highlighting (and detecting of wrong imports)
- Better Structure view
- Automatically add new line at end of file
- Force UTF-8 encoding for go files
- Detection of bundled Go Sdk packages (useful when deployed as GoIde)
- Run configuration creator (right click on a program file and you can run it).
- Go SDK (Go 1.2 on linux/mac/windows)
- Go module type
- Go App engine sdk type
- Go App engine credentials safe storage
- Added go application wizard
- Makefile based build system (bring your own Makefile). Experimental. Configured in project settings.
- Always use tabs instead of spaces (but configurable if desired).
- go fmt integration via Tools -> Go menu options (default CTRL+ALT+SHIFT+F for file and CTRL+ALT+SHIFT+G for project)
Recent change notes:
Fix project creation in multiple IntelliJ products.
General usage instructions:
After the plugin is installed any file named *.go inside the source path for the current module will be parsed and highlighted as a go source code file. You will also need to download / compile and define a Google Go SDK and add a facet google go to your module in order to be able to compile and run go applications. There might be issues when editing (the parsing is not perfect) and i would like to know about it so i can fix it.