Releases: tsdaer/dreamshader-language-support
Releases · tsdaer/dreamshader-language-support
0.0.3
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
outarguments 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
English
Added
consttexture diagnostics now require explicit default assets (for examplePath(...)) 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.mdand ChineseCHANGELOG.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:
.dsmimport 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-001toDPKG-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 扩展名的快速修复排序更智能:优先可解析候选、突出首选默认项,并明确自动更新行为。
- 编辑辅助能力增强:
.dsmimport 补全更丰富,Hover 文档覆盖面更广,用户声明函数已接入签名提示/参数内联提示。 - Package Store 对话框状态管理进一步收敛,并补充 UI 回归测试覆盖(
DPKG-UI-001到DPKG-UI-006)。
移除
- 移除了 Material Expression Manifest 解析中的内置库兜底,以避免陈旧隐式数据源。
Dreamshader Language Extension v0.0.1-alpha.2 (Test Build)
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:
.dsfnow enforces a top-level declaration whitelist.dsmnow disallows top-levelShaderFunction/ShaderLayer/ShaderLayerBlend.dshnow 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
- disallow
- 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
- Download the plugin ZIP from this release assets.
- In Rider:
Settings->Plugins-> gear icon ->Install Plugin from Disk... - Select the ZIP and restart Rider.
Dreamshader Language Extension v0.0.1-alpha.1 (Test Build)
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
Installation
- Download the plugin ZIP from this release assets.
- In Rider:
Settings->Plugins-> gear icon ->Install Plugin from Disk... - Select the ZIP and restart Rider.