11

Are there any free components out there that will give highlighting and/or intellisense for HLSL?

I've seen mentions of something called "InteliSense.Net," but the author's site is down and I can't find a download anywhere.

Puppy
  • 138,897
  • 33
  • 232
  • 446
3Dave
  • 26,903
  • 17
  • 82
  • 145
  • The trouble with this is that HLSL changes between D3D versions. If you developed an HLSL Intellisense plugin, you wouldn't know if a construct is valid or not. – Puppy Nov 24 '10 at 17:29
  • Isn't that a concern with any language? VS does quite well telling the difference between different versions of C#, for instance. If this isn't the way to go, is there a dedicated hlsl editor that might provide this functionality? – 3Dave Nov 24 '10 at 17:39
  • You don't use multiple versions of C# in the same project changed by an #ifdef, which you can with HLSL. You also can't change the compiled C# files at runtime, which you also can with HLSL. – Puppy Nov 24 '10 at 17:52

5 Answers5

14

Not a direct answer to your question, but this is what I do to solve the same problem:

I set Visual Studio to open *.fx files in Notepad++. (Right click the file, Open With, Add Notepad++, Set Default). Of course, you can use any editor you like.

I use a HLSL syntax highlighting file for Notepad++ that I found on Google. I think it's this one.

And finally, I keep this MSDN page open in my browser: Intrinsic Functions (DirectX HLSL). Because HLSL is so simple - with no way to mess around defining classes and such - and the programs are usually quite small and self-contained, I find that this is sufficient.

Andrew Russell
  • 26,137
  • 7
  • 54
  • 104
12

Try NShader that is a VS2012/2010/2008 extension for HLSL/CG/GLSL syntax highlighting.

Omar
  • 14,695
  • 8
  • 40
  • 61
jameszhao00
  • 6,903
  • 14
  • 54
  • 109
  • +1 Thanks for the link. I already have syntax highlighting working; was really looking for intellisense. – 3Dave Dec 23 '10 at 16:16
3

With a little effort you can configure manually MSVC2010 IDE in a way it will highlight HLSL files and will do partial auto-completion/intelisense:

Part 1)

  1. In 'Tools' menu click 'Options'
  2. In the 'Options' dialog box expand to 'Text Editor' node and select 'File Extension'
  3. Now on the right side you can add extensions and configure editor for them
  4. Add extensions: hlsl and fx with 'Editor' field set to 'Microsoft Visual C++'
  5. Check 'Map extensions files to' and set it to 'Microsoft Visual C++'

Part 2)

Create 'usertype.dat' text file beside VCExpress.exe or devenv.exe (typically located "c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\"). Populate 'usertype.dat' file with hlsl keywords you want highlighted i.e:

float2
float3
float4
float4x4
matrix
cbuffer
tbuffer

Part 3) Restart MSVC

Part 4) In VC Open 'Tools'\'Options' dialog box again and navigate to 'Environment'\'Fonts and Colors' and configure it to your liking. Color of user keywords added via 'usertype.dat' is controlled through 'C/C++ User Keywords' display item (Personally I matched it with 'Keyword' settings).

Part 4a) In VC 'Tools'\'Options'\'Text Editor'\'C/C++'\'Advanced' on the right side you might want to consider setting field 'Disable Squiggles' to true (since hlsl is not a valid C++ code VC would normally underline C++ compile errors in your shader code)

KonradZ
  • 31
  • 1
2

ShaderSense project seems to solve syntax highlighting and some kind of intellisense for HLSL files

GPUquant
  • 215
  • 1
  • 7
2

HLSL Tools for Visual Studio brings IntelliSense to HLSL in Visual Studio. It includes statement completion, signature help, live errors, quick info, and more.

HLSL Tools screenshot

Disclaimer - I'm the author of HLSL Tools.

Tim Jones
  • 1,696
  • 12
  • 16
  • I don't know if it's a coincidence or not, but after I install this add-on for my Visual Studio 2015, the Rundll32.exe consumes my Ram memory (up to 3Gb) and Disk usage (100%), then wicainventory. exe make my Disk usage 100% - even I restart, turn off, turn on - won't fix it. After I uninstall this add-on, my laptop run fine again (don't see Rundll32.exe & wicainventory. exe anymore). – 123iamking Oct 05 '17 at 23:57
  • Although this add-on for VS is very very great, but because the problem I mention in the previous comment, I think it's better if it's for Notepad++. – 123iamking Oct 06 '17 at 00:00