用VS编辑shader时候,安装HLSL插件,还是很少提示,不会代码补全,高亮也比较少。
用VS Code也不会代码补全,也不会跳转,试了试sublime,似乎是更好一些,没有用过sublime,把安装和设置步骤总结一下。
一、下载安装sublime
1.下载: http://www.sublimetextcn.com/Sublime%20Text3_64.exe
2.安装:
我安装之后就是已经汉化的了,这里不需要汉化。
3.设置环境变量
(这里设置环境变量是为后面配置unityshder跳转使用)
设置Sublime Text的环境变量 SublimeText_Path
二、设置Unity的Shader文件双击跳转sublime
1.在Assets的Editor文件夹中添加ShaderEditor.cs,代码如下:
using UnityEngine; using UnityEditor; using System; public class LuaTxtEditor { //http://www.xuanyusong.com/archives/3702 [UnityEditor.Callbacks.OnOpenAssetAttribute(1)] public static bool step1(int instanceID, int line) { return false; } [UnityEditor.Callbacks.OnOpenAssetAttribute(2)] public static bool step2(int instanceID, int line) { string strFilePath = AssetDatabase.GetAssetPath(EditorUtility.InstanceIDToObject(instanceID)); string strFileName = System.IO.Directory.GetParent(Application.dataPath) + "/" + strFilePath; if (strFileName.EndsWith(".shader")) { string strSublimeTextPath = Environment.GetEnvironmentVariable("SublimeText_Path"); if (strSublimeTextPath != null && strSublimeTextPath.Length > 0) { System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; startInfo.FileName = strSublimeTextPath + (strSublimeTextPath.EndsWith("/") ? "" : "/") + "sublime_text.exe"; startInfo.Arguments = """ + strFileName + """; process.StartInfo = startInfo; process.Start(); //Debug.Log(startInfo.FileName + " " + startInfo.Arguments); return true; } else { Debug.Log("Not Found Enviroment Variable 'SublimeText_Path'."); return false; } } return false; } }
2.重启Unity,即可实现shader双击跳转
三、安装sublime的unityshader插件,实现高亮和代码补全
1.下载sublime的插件:
github中下载zip即可: https://github.com/cjsjy123/Unity-Shader
或者通过我已上传的压缩包直接下载:https://files.cnblogs.com/files/weigangblog/Unity-Shader.zip
2.安装插件:
将压缩包解压到sublime安装目录的Data中的Package目录,或通过sublime面板的 首选项--浏览插件 查看目录。
随后就可以在 首选项--插件设置 中看到UnityShader
3.设置插件解压目录下的UnityShader.sublime-settings文件
{ // must set the path and version u5 or u4 "Unity_Version":"U5", "Shader_path": "D:/Program Files/Unity2018.4.21/Editor/Data/CGIncludes", "U5_Shader_path":"D:/Program Files/Unity2018.4.21/Editor/Data/CGIncludes" }
Shader_path和U5_Shader_path是Unity安装文件夹下的CGIncludes文件夹
随后再打开unity的shader就会显示高亮,并且可以自动补全。