Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>BZShaderGUINew to Visual Studio Code? Get it now.
BZShaderGUI

BZShaderGUI

baozouta

|
21 installs
| (0) | Free
提供 Unity Shader 文件中自定义 property tag 的补全提示
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Unity Shader Property Tags

这个 VSCode 扩展为 Unity Shader 文件中的BZShaderGUI 的自定义 propertyag 提供补全提示功能 支持 BZShaderGUI 的所有标签。 BZShaderGUI 商城地址 https://assetstore.unity.com/packages/tools/gui/bzshadergui-279195 BZTA 官方主页 http://www.bzta.top

功能

  • 在 Unity Shader 文件的 Properties 块中,为自定义 property tag 提供智能补全
  • 包含详细的标签说明和文档
  • 支持所有常见的 Unity Shader 文件格式
  • 从 TagsDefinition.json 文件中读取标签定义,便于维护和更新

使用方法

  1. 在 Unity Shader 文件中,当你在 Properties 块内的方括号中输入时,将会显示自定义 property tag 的补全列表
  2. 选择所需的标签,按 Enter 键插入

例如:

Shader "Custom/MyShader"
{
    Properties
    {
        _MainTex ("Texture", 2D) [  // 此处输入 [ 后会显示补全列表
    }
    // ...
}

支持的自定义标签

扩展当前支持以下类型的标签:

分组标签

  • BG(groupName): 简单的分组,将属性归并到一个模块内
  • HG(groupName): 水平排列的分组,组内的属性会水平排列
  • TG(groupName): 开关显隐分组,通过Toggle控制组内其他属性的显示与隐藏
  • FD(groupName): 卷展分组,可以折叠/展开的分组
  • SIF(propertyName): 条件显示标签,当指定属性为真/非零时显示
  • HIF(propertyName): 条件隐藏标签,当指定属性为真/非零时隐藏

数据标签

  • TT(value): 目标值标签,设置一个浮点数或向量目标值
  • Order(orderValue): 排序标签,指定属性的排序优先级。参数:排序值(整数,默认50)
  • Space(spaceValue): 间隔标签,设置当前元素与前一元素的间隔大小。参数:间隔值(浮点数)
  • HideLabel: 隐藏标签,添加此标签的属性不会显示标签文本
  • TTO(textureName): 纹理平铺偏移标签,独立绘制纹理的Tilling和Offset属性。参数:纹理属性名,可选参数是否在属性上方绘制(true/false)
  • TAC(colorName): 纹理与颜色组合标签,将纹理与颜色属性组合显示。参数:颜色属性名
  • MT: 小纹理标签,纹理属性会以小图标的形式绘制
  • URL(linkString,showProperty): URL链接标签,添加一个可点击的URL链接。参数:是否以链接文本形式显示(true/false),是否显示属性(true/false)
  • MB(messageType): 消息框标签,显示一个消息框。参数:消息类型(Info/Warning/Error)。支持条件显示:MB(messageType,propertyName,compareFunc) 或 MB(messageType,propertyName,compareFunc,vectorElement)
  • R: 重置按钮标签,添加一个重置按钮
  • VC(vectorName,componentName,isInt): 向量分量标签,创建一个独立控件来编辑指定向量的单个分量。参数:目标向量属性名,分量名(x/y/z/w),是否为整型(true/false,默认false)

绘制器标签

  • Dir2D: 2D方向绘制器,将向量的xy分量以坐标系的形式绘制。可选参数:是否使用z分量作为强度(true/false)
  • MMS(min,max): 范围滑动条绘制器,将向量的两个分量绘制为范围滑动条。支持多种参数形式,包括负数、指定分量等
  • ST: 平铺与偏移绘制器,将向量的四个分量绘制为平铺(xy)和偏移(zw)。可选参数:是否单行显示(true/false)
  • V(componentNames): 向量动态分量绘制器,根据参数动态显示指定分量。参数:分量组合字符串,如"x"、"xy"、"xyz"、"xyzw"等
  • V4S(name1,name2,name3,name4): 向量分量绘制器,显示向量的1-4个分量
  • VX: 向量X分量绘制器,只显示向量的X分量
  • VXY: 向量XY分量绘制器,只显示向量的XY分量。可选参数:自定义XY分量名称
  • VXYZ: 向量XYZ分量绘制器,只显示向量的XYZ分量。可选参数:自定义XYZ分量名称
  • VX_Y: 向量X_Y分量绘制器,分别显示向量的X和Y分量
  • VX_YZ: 向量X_YZ分量绘制器,分别显示向量的X和YZ分量
  • VX_YZW: 向量X_YZW分量绘制器,分别显示向量的X和YZW分量。可选参数:自定义X、YZ、W分量名称
  • VXY_Z: 向量XY_Z分量绘制器,分别显示向量的XY和Z分量
  • VXY_ZW: 向量XY_ZW分量绘制器,分别显示向量的XY和ZW分量
  • VXYZ_W: 向量XYZ_W分量绘制器,分别显示向量的XYZ和W分量
  • VX_Y_ZW(xName,yName,zwName): 向量X_Y_ZW分量绘制器,分别显示向量的X、Y和ZW分量
  • VXY_Z_W(xyName,zName,wName): 向量XY_Z_W分量绘制器,分别显示向量的XY、Z和W分量

自定义标签

如果你需要添加更多自定义标签,可以修改 TagsDefinition.json 文件,添加新的标签定义。修改后,可以使用命令面板中的 "Unity Shader: 重新加载 Shader 标签定义" 命令重新加载标签定义。

命令

扩展提供以下命令:

  • Unity Shader: 重新加载 Shader 标签定义: 重新从 TagsDefinition.json 文件中加载标签定义

要求

  • VSCode 1.60.0 或更高版本

已知问题

  • 暂无已知问题

项目信息

  • GitHub仓库: https://github.com/BZTATech/BZShaderGUI4VScode
  • 官方网站: http://www.bzta.top/
  • Unity Asset Store: https://assetstore.unity.com/packages/tools/gui/bzshadergui-279195

项目结构

BZShaderGUI4VScode/
├── src/                    # 源代码目录
├── out/                    # 编译输出目录  
├── dist/                   # 打包发布目录
├── test/                   # 测试文件目录
├── docs/                   # 文档目录
├── package.json           # 项目配置
├── TagsDefinition.json    # 标签定义文件
└── README.md              # 项目说明

开发文档

详细的开发、打包和测试流程请参考:开发指南

发布说明

3.1.1

  • 更新标签定义到版本 3.1.1
  • 新增向量分量标签 VC,支持独立编辑向量的单个分量
  • 新增向量动态分量绘制器 V,支持动态显示指定分量
  • 新增多种向量分量绘制器:VX_YZ_W、VXY_Z_W、VX_Y_ZW
  • 扩展 MMS 绘制器,支持负数和指定分量
  • 扩展 URL 标签,支持更灵活的参数配置
  • 扩展 MB 消息框标签,支持条件显示和向量分量判断
  • 扩展 TTO 标签,支持控制绘制位置
  • 更新 compareFunc,新增 HT(有纹理)和 NT(无纹理)
  • 完善所有标签的参数说明和文档

0.1.4

  • 更新项目信息:GitHub仓库地址、官方网站和Unity Asset Store链接
  • 优化开发规范和文档

0.1.3

  • 发布版本0.1.3,修复自动提示问题
  • 优化扩展激活和文件加载逻辑

0.1.2

  • 修复发布版本无法自动提示的问题
  • 使用更宽松的文件匹配模式
  • 优化文件路径解析逻辑
  • 确保TagsDefinition.json文件包含在发布包中

0.1.1

  • 修复发布版本中文件路径读取问题
  • 确保TagsDefinition.json文件能被正确加载
  • 添加备用路径检查和错误处理
  • 优化文件加载逻辑

0.1.0

  • 初始版本
  • 支持 Unity Shader 文件中自定义 property tag 的补全提示
  • 从 TagsDefinition.json 文件中读取标签定义
  • 支持重新加载标签定义的命令
  • 优化了项目结构和开发规范
  • 添加了自定义图标
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft