Skip to content
Rácz Zalán edited this page Nov 25, 2023 · 2 revisions

This is the wiki of WebGL GLSL Editor, a VS Code extension to support GLSL ES.

About this wiki

The goal of this wiki is to make it easier to understand how this project works. When I explain something, I try to give you some context, but I won't describe the underlying technologies in detail. For this, each page has a Useful resources section, where you can find links that give you more in-depth explanations. In these wiki pages, I'd like to focus on the project structure, ideas behind decisions, tips, and tricks.

The extension

This is a VS Code extension, and its goal is to add full language support for GLSL ES 100 and GLSL ES 300 (the versions that are usable in WebGL 1 and 2). If you want to know more about the extension's features, read the README.md, and the CHANGELOG.md files. The extension is published under the MIT license, which you can read in the LICENSE.txt file. The extension is published, and it's available both in Visual Studio Marketplace, and in VS Code's extensions tab.

Contributions

If you have an idea to improve the project, feel free to implement it, and create a Pull Request. However, in order to accept your Pull Request, it has to satisfy the following requirements:

  • It has to add something useful to the extension or fix a bug
  • Good code quality
  • It can't go beyond the scope of GLSL ES 100 and 300 (so please, don't implement features that are not available there, like the #include directive)
  • The CI pipeline has to run successfully

Feature requests

At the moment, the extension is not under regular development. Sometimes there are new releases, but they usually only contain bug fixes and sometimes very small features. If you have a feature request, feel free to create an issue, but I don't promise, that I'll implement it.

Reporting bugs

Contrary to feature requests, I still fix bugs. If you find one, create an issue, but please give me as much information as possible. If it's not obvious, what's the cause of the problem, please include the extension's version, VS Code's version, the operating system, create screenshots or videos, or anything that might be helpful.

The future

As I mentioned, the extension is not under regular development, and I don't plan to continue it. I still fix bugs, and sometimes add some small improvements. However, I'll create a new extension, that will hopefully surpass this one in almost all aspects. The main advantages will be:

  • It'll support all 17 GLSL versions, instead of just 2
  • It'll properly support preprocessing, like #defines, #ifs, #includes, etc.
  • It'll be available in both VS Code, and in Visual Studio
  • Smaller improvements for all features

At the moment, I don't have the time to develop it, but hopefully, it'll change after a couple of months. If you're interested, check out the GLSL Language Server.

The author

My name is Zalán Rácz and I implemented almost the whole extension. You can find the other contributors in the readme file. If you want to ask or suggest something, create an issue, but if it's more personal, feel free to write a message to my email address: [email protected].

Useful resources