Categories


Authors:
yngvedh
Darkyen

GLSL Support

Products: IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, PyCharm, AppCode, Android Studio, 0xDBE, CLion, Rider

Vendor: Foundation

Source code: https://github.com/Darkyenus/glsl4idea

License: http://www.gnu.org/licenses/lgpl.html

Bugtracker page

Support for the OpenGL Shading Language
Downloads: 34512
Rating:
Participated in rating: 9
Version Compatible builds Date
1.13 139.1117 + 17.02.2016 Download
0.1 118.1 + 24.08.2012 Download
0.1 117.1 + 05.05.2012 Download
8 updates are hidden show all updates
Screenshot #15030

Recent change notes

1.13

  • Add autocompletion for struct members
  • Add checking of constructor call parameters
  • Support scalar conversion constructors
  • Fix support for modulo operator
  • Minor fixes and improvements

1.12

  • Fix lexer not being thread safe and failing when parsing many files at the same time
  • Many minor fixes in parsing and error reporting

1.11

  • Major improvements to handling of preprocessor #define directives
  • Add checking of switch statement correctness
  • Improvements to Deduce Expression Type action
  • Distinguish between function call and constructor

1.10

  • Rewrite preprocessor token parsing to be much more robust
  • Parse multidimensional struct members correctly
  • Improve autocomplete and finding usages
  • Parse switch statements correctly
  • Overhaul new file creation, allow custom templates for all supported file extensions
  • Warn on incorrect array indexes
  • Warn on incorrect const variable handling
  • Add function parameter lookup
  • Support 4.50 opaque types (samplers)
  • Many smaller fixes and improvements

1.9

  • Vastly improved under-the-hood handling of types, operators and arrays
  • Added basic renaming and find-usages support (WIP feature)
  • Parse initializer lists correctly
  • Allow the use of multi-dimensional arrays
  • Added retina icons
  • Changed highlighting of unreachable code
  • Warn on use of reserved identifiers
  • Repeated swizzles are no longer L values
  • Add type checking for conditional expressions
  • Fix issues with return types
  • Improve unreachable statement marking
  • Many small fixes and improvements

1.8

  • Support for basic #define token replacement (everything except function-like)
  • Parse "layout qualifier statements"
  • Handling syntax and grammar errors is more robust
  • Fix variable declarations with already-defined struct types not parsing correctly
  • Improve highlighting of GLES precision statements

1.7.1

  • Fix problem in parsing which could cause the plugin to freeze
  • Improve handling of GLES precision statements

1.7

  • Add missing return; warning
  • Add support for layout qualifiers
  • Add support for interface blocks
  • Add error highligting in Project view
  • Add invalid initializer type warning
  • Add support for bitwise operators
  • Fix Convert Vector Components action

1.6

  • Improved unreachability analyzing
  • Recognize more file extensions
  • Improved token lexing around #if preprocessor statements
  • Added support for more native types (uint, double, uvec, dvec, dmat)

1.5

  • Brace folding for compound statements
  • Added more qualifiers from glsl 450
  • Improved highlighting, especially on dark themes
  • Parsing is a bit more robust

1.4

  • Added support for GL ES precision modifiers and statements

1.3

  • Fixed compatibility with CLion
  • Fix minor bugs

Notable older changes

  • Update to support Intellij 14
  • Update color scheme handling

General usage instructions

Compatibility: WebStorm 4.0+, PhpStorm 4.0+, IntelliJ IDEA Community or Ultimate 11.1+, PyCharm 2.5+, AppCode 1.5+

Comments:

dodecahedron
2016-01-27 07:36:40
Works well except for problems dealing with macro function definitions.
.
OrWhatever
Rated:
2015-05-03 20:52:36
The new version works absolutely wonderfully. It does appear to have issues with layout(), though? I use layout(location=X) for some shaders, and the plugin is giving me an error when it parses it.
.
Anonymous
Rated:
2014-10-23 11:33:37
Crashes android studio 0.8.9 (windows 7, 64bit) every time I open a GLSL file. By crash I mean freezes up and uses 100% cpu.
.
crashedsnow
Rated:
2014-06-09 05:00:23
This plugin has numerous catastrophic bugs that cause Intellij to become unresponsive and peg the CPU at 100%. Project is not actively updated and seems to have been abandoned.
.
IorPerry
Rated:
2013-08-29 21:48:18
Hello, maybe You can help me with my question http://devnet.jetbrains.com/message/5496644#5496644 Why do you not upload the new version instead of put the link? Thanks, Perry
.
shole
2013-05-30 17:22:22
Apparently the comment form stripped out my xml :( Anyway, copy an option under attribuges, name it "GLSL.TEXT" and set style value as with others
.
shole
2013-05-30 15:04:41
Those with dark color schemes might find it frustrating that unidentified areas of text are just colored black. You can overwrite this by editing the style .icls file manually and add this under attributes; This colors those parts white.
.
Anonymous
2013-05-28 17:32:15
Nice plugin! and thanks Eugene for adding that feature!
.
Eugene.Seliverstov
Rated:
2013-04-15 03:40:12
I fixed the plugin for the Darcula theme by adding a new color category for various tokens previously shown in black. Compiled plugin: http://gluon.omniverse.ru/dist/GLSLPlugin.jar Source code: http://code.google.com/r/theirix-glsl4idea/source/browse/?name=dark
.
crashedsnow
Rated:
2013-03-24 10:29:03
Nice idea, but crashes my Intellij every time by hammering the CPU to the point that intellij stops responding and has to be killed. MacOSX 10.7.5 Intellij 12.0.4
.
mortiy
Rated:
2013-02-21 01:48:55
Having the same problem as photex. Hard to use with Darcula theme.
.
photex
Rated:
2012-12-01 03:03:33
It's nice to have GLSL support! Works pretty well, but please add support for configuring the color scheme for braces, commas, semicolons, dots, etc etc. They are by default set to black and people like me who use dark color schemes can't use this plugin.
.
TarasT
Rated:
2012-05-06 01:37:21
This is a great improvement from having to edit GLSL files as plain text in IntelliJ.

I hope the plugin will get a bit of support from JetBrains.

Some obvious suggestions:
1) Provide an exception reporter
2) "Deduce expression type" action (in context menu) is added to all file types, instead of just GLSL
3) Some support for WebGL/GLSL ES

.