Skip to content

Releases: tsdaer/dreamshader-language-support

0.0.3

31 May 00:45

Choose a tag to compare

English

Added

  • Added namespace declaration support in language parsing and navigation flows, including go-to declaration, find usages, and structure/symbol model coverage.
  • Added in-progress action disabling for GitHub package search in the package store dialog to prevent duplicate operations while requests are running.
  • Added cross-file import-closure resolution to support imported-function signature analysis.
  • Added reference-search expansion across import chains and Name="..." form declarations.
  • Added nested-namespace semantic coverage for unknown types and missing out arguments in nested declarations.
  • Added semantic diagnostics for duplicate declaration names within the same scope (top-level and namespace-local scopes), while allowing same names across different namespace scopes.
  • Added duplicate declaration-name quick fix (Rename declaration to '<NameN>') with unique numeric-suffix suggestion in the current scope.
  • Added path-form Name="..." duplicate-name coverage: diagnostics compare path leaf names and quick-fix preserves path prefix while renaming only the leaf.
  • Added stronger unknown-type diagnostics and const-texture default-asset path validation.
  • Added dumb-mode support for the welcome file editor.

Changed

  • Reworked plugin version and changelog loading for the welcome page flow.
  • Reworked Code Vision click handling to improve interaction stability and align with package search state transitions.
  • Improved hover override configuration and welcome guidance: built-in entries can now be edited/reset, and missing project root prompts are clearer.
  • Updated changelog localization pipeline by splitting language files (CHANGELOG.md / CHANGELOG.zh-CN.md) and syncing release CI patching behavior.
  • Updated README release presentation with Marketplace plugin card and static badges.
  • Refactored shared import/signature parsing helpers to consolidate navigation/diagnostics logic.
  • Updated README terminal build guidance to emphasize Java 17+ auto-resolution and GRADLE_USER_HOME.

Fixed

  • Fixed release workflow config-cache and dependency ordering issues in publishing pipeline.
  • Fixed Gradle build conflicts between changelog patching and configuration cache behavior.

中文

新增

  • 新增命名空间声明支持并接入语言解析与导航流程,覆盖跳转声明、查找用法与结构/符号模型。
  • Package Store 中 GitHub 包搜索在请求进行时会禁用操作按钮,避免重复触发。
  • 新增跨文件 import 闭包解析能力,用于支持导入函数的签名分析。
  • 新增引用搜索跨 import 链路扩展,并支持 Name="..." 形式声明的引用场景。
  • 新增嵌套命名空间下未知类型与缺失 out 参数的语义诊断覆盖。
  • 新增同一作用域下的重复声明名语义诊断(覆盖顶层作用域与命名空间局部作用域),并允许不同命名空间作用域中的同名声明共存。
  • 新增重复声明名快速修复:将声明重命名为 '<NameN>',在当前作用域内建议唯一数字后缀名称。
  • 新增 Name="..." 路径形式声明的重名覆盖:按路径叶子名参与重复检测,快速修复仅替换叶子名并保留路径前缀。
  • 新增更严格的未知类型诊断与 const 纹理默认资源路径校验。
  • 新增欢迎文件编辑器的 dumb 模式支持。

变更

  • 重构欢迎页中的插件版本与更新日志加载流程。
  • 重构 Code Vision 点击处理流程,提升交互稳定性并与包搜索状态切换保持一致。
  • 增强 Hover 覆盖设置与欢迎页引导:内置条目支持编辑/重置,缺失项目根目录时的提示更清晰。
  • 更新变更日志本地化流程:拆分语言文件(CHANGELOG.md / CHANGELOG.zh-CN.md)并同步 Release CI 的补丁策略。
  • 更新 README 发布展示方式,加入 Marketplace 插件卡片与静态徽章。
  • 重构共享的 import/签名解析辅助方法,收敛导航与诊断逻辑。
  • 更新 README 终端构建说明,强调 Java 17+ 自动解析与 GRADLE_USER_HOME 使用方式。

修复

  • 修复发布流程中配置缓存与任务依赖顺序问题,提升发布链路稳定性。
  • 修复 CHANGELOG 补丁与 Gradle 配置缓存之间的构建冲突。

0.0.2

30 May 01:11

Choose a tag to compare

English

Added

  • const texture diagnostics now require explicit default assets (for example Path(...)) and report targeted semantic errors.
  • Hover docs overrides now have a visual table editor (Path + Content) with validation summary and sample row insertion.
  • Unsupported import extension quick-fix now surfaces clear “will update preferred default” behavior hints in UI.
  • Added localized changelog strategy for the welcome page, with English CHANGELOG.md and Chinese CHANGELOG.zh-CN.md.

Changed

  • Unsupported import extension quick-fix ranking is now smarter: resolvable candidates are prioritized, preferred defaults are highlighted, and auto-update behavior is explicit.
  • Editor assistance has been expanded: .dsm import completion is richer, hover docs coverage is broader, and user-declared functions participate in signature/inlay hints.
  • Package store dialog UX state handling was tightened and covered by expanded UI regression tests (DPKG-UI-001 to DPKG-UI-006).

Removed

  • Removed built-in library fallback from material expression manifest resolution to avoid stale implicit data sources.

中文

新增

  • const 纹理语义诊断现在要求显式默认资源(例如 Path(...)),并提供更精准的错误定位。
  • Hover 文档覆盖项新增可视化表格编辑器(Path + Content),支持校验摘要与示例行插入。
  • 不受支持的 import 扩展名快速修复在 UI 中新增“将更新默认偏好”的明确提示。
  • 欢迎页变更说明支持本地化分文件策略:英文使用 CHANGELOG.md,中文使用 CHANGELOG.zh-CN.md

变更

  • 不受支持 import 扩展名的快速修复排序更智能:优先可解析候选、突出首选默认项,并明确自动更新行为。
  • 编辑辅助能力增强:.dsm import 补全更丰富,Hover 文档覆盖面更广,用户声明函数已接入签名提示/参数内联提示。
  • Package Store 对话框状态管理进一步收敛,并补充 UI 回归测试覆盖(DPKG-UI-001DPKG-UI-006)。

移除

  • 移除了 Material Expression Manifest 解析中的内置库兜底,以避免陈旧隐式数据源。

Dreamshader Language Extension v0.0.1-alpha.2 (Test Build)

23 May 16:46

Choose a tag to compare

DreamShader Language Extension - Test Release (v0.0.1-alpha.2)

This is a manual test release for local/closed testing.
It is not a JetBrains Marketplace release yet.

Highlights since v0.0.1-alpha.1

  • Expanded section-shape diagnostics:
    • .dsf now enforces a top-level declaration whitelist
    • .dsm now disallows top-level ShaderFunction / ShaderLayer / ShaderLayerBlend
    • .dsh now disallows asset-generating top-level declarations
  • Added declaration-level section schema validation (first stage):
    • unsupported section detection per declaration kind
    • required section checks (for covered declaration kinds)
    • duplicate section detection
  • Added stricter Graph control-flow diagnostics:
    • disallow for / while / do
    • disallow switch / case / default
    • disallow break / continue
    • disallow return
  • Improved diagnostics consistency and coverage with additional regression tests.

Implemented so far

  • DreamShaderLang file type registration for .dsm, .dsf, .dsh
  • Lexer/parser foundation and syntax highlighting
  • Comment support, brace matching, folding
  • Completion baseline:
    • top-level declarations
    • section/type completion
    • settings/options completion
    • Base.*, UE.*, HLSL intrinsics, import path completion
  • Navigation/intelligence baseline:
    • structure view
    • go to declaration
    • find usages / references
    • rename support
    • hover documentation
    • parameter info / signature help
    • inlay hints
  • Bridge tooling baseline:
    • diagnostics tool window
    • refresh/open-location/open-bridge-dir actions
    • recompile current/all and clean generated actions
    • manifest-aware UE.Expression(...) completion with fallback
  • Package tooling baseline:
    • browse package store UI
    • install/update/remove package
    • open packages folder
    • add/remove package index source
    • multi-source index support + legacy single-source compatibility
  • Project settings page and DreamShader hub action
  • Basic formatter and code style integration baseline

Current status

  • Development is still in progress.

  • Remaining parity gaps (tracked in README):

    • full section-shape validation across all declaration/file combinations
    • full semantic diagnostics parity
    • full Graph grammar validation beyond current permissive parser stage
    • formatting parity with upstream conventions
    • semantic token parity with VS Code extension
    • inlay hint parity/workflow polish

    Installation

  1. Download the plugin ZIP from this release assets.
  2. In Rider: Settings -> Plugins -> gear icon -> Install Plugin from Disk...
  3. Select the ZIP and restart Rider.

Dreamshader Language Extension v0.0.1-alpha.1 (Test Build)

22 May 17:55

Choose a tag to compare

Dreamshader Language Extension - Test Release (v0.0.1-alpha.1)

This is a manual test release for local/closed testing.
It is not a JetBrains Marketplace release yet.

Implemented so far

  • DreamShaderLang file type registration for .dsm, .dsf, .dsh
  • Lexer/parser foundation and syntax highlighting
  • Comment support, brace matching, folding
  • Completion baseline:
    • top-level declarations
    • section/type completion
    • settings/options completion
    • Base.*, UE.*, HLSL intrinsics, import path completion
  • Navigation/intelligence baseline:
    • structure view
    • go to declaration
    • find usages / references
    • rename support
    • hover documentation
    • parameter info / signature help
  • Bridge tooling baseline:
    • diagnostics tool window
    • refresh/open-location/open-bridge-dir actions
    • recompile current/all and clean generated actions
    • manifest-aware UE.Expression(...) completion with fallback
  • Package tooling baseline:
    • browse package store UI
    • install/update/remove package
    • open packages folder
    • add/remove package index source
    • multi-source index support + legacy single-source compatibility
  • Project settings page and DreamShader hub action

Current status

  • Development is still in progress.
  • Some parity features (advanced diagnostics, full formatting/semantic parity, remaining workflow polish) are still pending.

Some screenshot

屏幕截图 2026-05-23 015247 图片 图片 图片 图片

Installation

  1. Download the plugin ZIP from this release assets.
  2. In Rider: Settings -> Plugins -> gear icon -> Install Plugin from Disk...
  3. Select the ZIP and restart Rider.