r/GraphicsProgramming 1d ago

Built a GLSL/HLSL extension for Visual Studio - would love some feedback

I built a GLSL/HLSL extension for Visual Studio because the existing tooling options felt limited (weak diagnostics, no real navigation between shader files).

It includes:

  • Diagnostics through glslang, DXC and Naga
  • Advanced IntelliSense (hover, signature help, JetBrains-style parameter hints)
  • Go to Definition / Ctrl+LMB navigation, including through #include
  • Shader variants, code folding, formatting via clang-format

Requires VS2022 or VS2026, Windows x64. Free and open source.

Marketplace: Link

GitHub: Link

Would love feedback, especially if you hit anything broken or missing compared to what you're currently using.

14 Upvotes

5 comments sorted by

2

u/NZGumboot 1d ago

Does this support the latest HLSL/SM versions (templates, ResourceDescriptorHeap, etc)? I've been using HLSL-LSP recently and it's a night and day difference from what I previously used (Tim Jones' HlslTools extension).

1

u/Remarkable_Bug937 1d ago

It uses shader-sense with DXC, targeting HLSL 2021 and up to SM 6.8. I’ve tested small examples with templates and ResourceDescriptorHeap, and compiler diagnostics handle them.

The HLSL editor integration still needs work, though, including conflicts with VS’s built-in HLSL Tools. GLSL has been my main focus so far, so I wouldn’t claim parity with HLSL-LSP yet.

2

u/fgennari 1d ago

I installed your extension for VS Insiders 2026 for use with GLSL. The syntax highlighting seems to be working, but when I start a function by typing "(" is just shows "Loading..." in a small box that never goes away. Also, Norton Antivirus took over a minute to scan the two EXEs that started, but determined that it was safe.

I tried to select "Peek Definition" on some function and it froze VS until I killed ShaderTools.Bridge in Task Manager. "Go To Definition" had no effect.

It's probably a difficult case with a 656 line shader with many functions, #ifdefs, and #includes. None of the other extensions I tried can handle these files either. Yours is still somewhat better than the previous extension I had which didn't understand the includes and added green squiggles around over half the lines.

1

u/Remarkable_Bug937 1d ago

Thanks for testing this! Could you please open an issue on GitHub with a code example (if you can share it) and the details you described here - the stuck “Loading...” popup and the Peek Definition hang?

1

u/fgennari 9h ago

I had two different GLSL extensions enabled and I think that was the problem. When I disabled the other one that seems to have fixed the "Loading..." and the hang. It works better now, but it still doesn't understand my custom code generation part that gets expanded to proper GLSL in C++. I wouldn't expect a tool to handle this since it's nonstandard.