GLSL Support

Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand DataGrip Rider MPS Android Studio
Feb 06, 2017
71 406
Support for the OpenGL Shading Language

Download plugin

Recent change notes

1.16

  • Fix certain operator sequences freezing the IDE

1.15

  • Fix '#define's which contain their name freezing the IDE

1.14

  • Allow custom highlighting for uniforms, varyings and attributes

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+