2010-11-24 5 views
11

Y a-t-il des composants libres qui donneront de la surbrillance et/ou de l'intellisense pour HLSL?VS2010 - HLSL Intellisense?

J'ai vu des mentions de quelque chose appelé "InteliSense.Net", mais le site de l'auteur est en panne et je ne trouve pas de téléchargement nulle part.

+0

Le problème avec ceci est que les changements HLSL entre les versions D3D. Si vous avez développé un plug-in HLSL Intellisense, vous ne savez pas si une construction est valide ou non. – Puppy

+0

N'est-ce pas un problème avec n'importe quelle langue? VS fait assez bien la différence entre différentes versions de C#, par exemple. Si ce n'est pas le chemin à parcourir, y a-t-il un éditeur hlsl dédié qui pourrait fournir cette fonctionnalité? –

+0

Vous n'utilisez pas plusieurs versions de C# dans le même projet modifié par un #ifdef, ce qui est possible avec HLSL. Vous ne pouvez pas non plus modifier les fichiers C# compilés lors de l'exécution, ce que vous pouvez également faire avec HLSL. – Puppy

Répondre

14

Pas une réponse directe à votre question, mais ce que je fais pour résoudre le même problème:

Je mis Visual Studio pour ouvrir *.fx fichiers dans Notepad ++. (Clic droit sur le fichier, Ouvrir avec, Ajouter Notepad ++, Définir par défaut). Bien sûr, vous pouvez utiliser n'importe quel éditeur que vous aimez. J'utilise un fichier de mise en évidence de la syntaxe HLSL pour Notepad ++ que j'ai trouvé sur Google. Je pense que c'est this one.

Enfin, je garde cette page MSDN ouverte dans mon navigateur: Intrinsic Functions (DirectX HLSL). Parce que HLSL est si simple - sans aucun moyen de déranger la définition des classes et autres - et les programmes sont généralement assez petits et autonomes, je trouve que c'est suffisant.

+1

Exactement ce dont j'avais besoin, mais pas ce que j'ai demandé. Merci! –

+0

J'ai découvert hier que HLSL * supporte * les cours. Qui savait?! –

+1

Son tellement _sad_ que les développeurs doivent utiliser Notepad ++ pour obtenir la coloration syntaxique pour HLSL. Tu m'entends MSFT ?? TRISTE!! – bobobobo

12

Essayez NShader qui est une extension VS2012/2010/2008 pour la coloration syntaxique HLSL/CG/GLSL.

+0

+1 Merci pour le lien. J'ai déjà la syntaxe soulignant le travail; était vraiment à la recherche d'intellisense. –

3

Avec un petit effort, vous pouvez configurer manuellement MSVC2010 IDE d'une façon il mettra en évidence les fichiers HLSL et fera l'auto-complétion partielle/intelisense:

Partie 1)

  1. menu 'Outils' cliquez sur « options »
  2. Dans la boîte de dialogue « options » étendre au nœud « éditeur de texte » et sélectionnez « Extension du fichier »
  3. maintenant sur le côté droit, vous pouvez ajouter des extensions et configurer éditeur pour les
  4. Ajouter des extensions: HLSL et FX avec jeu de champ 'éditeur' à 'Microsoft Visual C++'
  5. Vérifiez 'extensions CARTOGRAPHIE à' et réglez-le sur Microsoft Visual C++ '

Partie 2)

Créez le fichier texte "usertype.dat" à côté de VCExpress.exe ou devenv.exe (généralement situé "c: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \"). Peupler 'usertype.dat' fichier avec les mots clés que vous souhaitez mettre en relief HLSL-à-dire:

float2 
float3 
float4 
float4x4 
matrix 
cbuffer 
tbuffer 

Partie 3) Relancer MSVC

Partie 4) Dans 'Outils' VC Open \ boîte de dialogue 'Options de nouveau et naviguer vers 'Environnement' \ 'Polices et Couleurs' et configurez-le à votre goût. La couleur des mots-clés des utilisateurs ajoutés via 'usertype.dat' est contrôlée par l'élément d'affichage 'C/C++ User Keywords' (Personnellement, je l'ai mis en correspondance avec les paramètres 'Keyword').

Partie 4a) Dans VC 'Outils' \ 'Options' \ 'Éditeur de texte' \ 'C/C++' \ 'Avancé' sur le côté droit, vous pouvez considérer le champ 'Disable Squiggles' sur true (depuis HLSL est pas un code C++ valide VC soulignerait normalement C++ des erreurs de compilation dans votre code shader)

2

projet ShaderSense semble résoudre la coloration syntaxique et une sorte de IntelliSense pour les fichiers HLSL

+0

Vous devez construire vous-même ShaderSense en utilisant MSVC 2008 qui nécessite MSVC 2008 SP1 et le SDK Visual Studio. –

1

HLSL Tools for Visual Studio apporte IntelliSense à HLSL dans Visual studio . Il comprend la complétion des relevés, l'aide à la signature, les erreurs en direct, les infos rapides et plus encore.

HLSL Tools screenshot

Disclaimer - Je suis l'auteur des outils HLSL.

+0

Je ne sais pas si c'est une coïncidence ou non, mais après avoir installé ce module pour mon Visual Studio 2015, le Rundll32.exe consomme ma mémoire Ram (jusqu'à 3Gb) et l'utilisation du disque (100%), puis wicainventory . exe rendre mon utilisation du disque 100% - même je redémarre, éteint, allumer - ne le résoudra pas. Après avoir désinstallé ce module, mon ordinateur portable fonctionne correctement (ne voyez plus Rundll32.exe et wicainventory .exe). – 123iamking

+0

Bien que ce module pour VS est très très bien, mais parce que le problème que je mentionne dans le commentaire précédent, je pense que c'est mieux si c'est pour Notepad ++. – 123iamking