15.8.x のどこかのバージョンから、以下のようにシェーダーの作成の項目が減ってしまいました。
(自分の記憶では、15.8.1 の時点では大丈夫でした)。 この画面は 15.8.5 のものです。
本来ならば、ここに頂点シェーダーやピクセルシェーダー、ハルシェーダーといった項目も出現していなければなりません。
この問題を解決する方法がわかったので、これについて説明します。
なお、Professional 版、 Community 版ともに同じ問題を抱えているようです。
項目テンプレートを修正する
どうやら設定ファイルに妙な情報が記録されているようなので、それを修正することで直ることがわかりました。
デフォルトの設定だと次の場所になります。
- C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ItemTemplates
- C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTemplates
ここにある次のファイルを編集します。
Program Files 以下になるため、テキストエディタを「管理者として実行」で起動してすることが必要になります。
- Microsoft.VisualStudio.VC.Templates.Pro.Resources.ja-JP.Item..vstman
このファイルを開いて中身を確認すると、以下の囲ったところにあるように、一部のファイルパスがおかしい状態となっています。
これらの “1041\1041” となっている場所を、 “1041”と1回になるように書き換えていきます。
続いて、スタートメニューから 「開発者コマンドプロンプト for VS2017」 を実行します。
そして以下のコマンドを実行します。
devenv /updateconfiguration
あとは新規に VisualStudio を立ち上げて、今まで見えなかったシェーダー項目が増えていることを確認して完了です。
コメント
VS2017 15.9.21ですが、
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTemplates\VC\HLSL\1041\1041
にHeader,HullShader,PixelShader,VertexShaderなどのフォルダが実際にあったため、
それらをひとつ上の1041フォルダに移動させることが必要でした。
私の環境の場合、移動しないと、HLSL選択時の項目は増えているのですが、「テンプレートが存在しない」という趣旨のエラーが表示されました。