如何开发FluentTweaker扩展元数据、Host模式与参数传递完整参考【免费下载链接】FluentTweakerWindows Slop Remover项目地址: https://gitcode.com/gh_mirrors/wi/FluentTweakerFluentTweakerWindows Slop Remover是一款开源的 Windows 系统优化工具它的扩展系统非常友好你只需要把一个 PowerShell 脚本放进scripts文件夹就能自动出现在Tools工具页面中。本文是面向新手的 FluentTweaker 扩展开发完整参考讲清楚三件最核心的事脚本头部的元数据怎么写、Host 运行模式怎么选、以及程序如何把参数传给你的脚本。读完你就能独立写出第一个扩展 一、FluentTweaker 扩展系统是什么FluentTweaker 的扩展Extensions本质上就是带注释头部的.ps1PowerShell 脚本你把脚本放进安装目录下的.\scripts\文件夹支持子文件夹程序会解析脚本前 15 行左右的头部注释读取Description、Category、Host、Options、Input等元数据满足条件的脚本会自动出现在 Tools 页面并根据文件名的关键字如 update、debloat、network智能匹配图标。官方技术指南在仓库中有完整文档docs/extensions.md本文的内容就是基于它整理的新手版。 扩展Extensions和插件Plugins是两套不同的脚本系统区别见文末第四节。二、快速上手三步写出第一个 FluentTweaker 扩展第 1 步新建一个.ps1文件写好头部元数据# Description: 清理临时文件 # Category: Post # Host: embedded第 2 步在下面写你的 PowerShell 逻辑例如Write-Output Cleaning temp... # 你的清理逻辑写在这里第 3 步把文件放进.\scripts\文件夹重启 FluentTweaker脚本就会出现在 Tools 页面。就是这么简单 ✅如果没有声明# Options:和# Input: true脚本就以零参数直接运行不需要param()块。三、FluentTweaker 扩展元数据完整清单所有元数据都写在.ps1文件顶部的注释里格式统一为# 键名: 值元数据写法必填作用描述# Description: 字符串建议显示在标题下方的用户友好说明分类# Category: Pre \| Mid \| Post \| All \| Tool否用于按安装阶段过滤省略或All则全部分类可见运行模式# Host: embedded \| console \| log否默认embedded决定脚本在哪里运行选项# Options: 选项1; 选项2; 选项3否出现下拉框选中值作为第一个位置参数传入输入框# Input: true否在选项下方显示文本框内容作为第二个位置参数传入输入提示# InputPlaceholder: 字符串否输入框的占位提示文字需配合# Input: true3.1 Category 分类怎么选分类决定了扩展在安装前 / 配置中 / 安装后哪个阶段的工具集中展示分类适用场景典型用途Pre系统安装初期、个性化之前瘦身Debloat、开启服务、网络配置Mid核心系统配置阶段功能开关、性能调优、注册表调整Post系统装好之后的收尾资源管理器优化、主题、隐私设置Tool任意时刻的独立工具安装器助手、升级工具All全部分类通用随时可执行的通用工具分类的定义可见源码 ExtensionsCategory.cs。四、FluentTweaker Host 模式详解embedded / console / log 怎么选# Host:决定脚本以什么方式运行这是扩展开发里最影响用户体验的设置1️⃣ embedded嵌入式默认脚本在程序内部无头运行stdout/stderr被捕获并显示在 UI 控件中适合大多数静默执行的脚本。 写法# Host: embedded或直接不写。2️⃣ console外部控制台启动一个外部 PowerShell 窗口并加-NoExit用户可以交互输入适合需要人工确认的操作。 写法# Host: console。3️⃣ log实时日志同样在内部运行但额外打开一个 Live Log 窗口实时滚动输出适合耗时较长、需要盯进度的脚本。 写法# Host: log。4.1 单个选项的 Host 覆盖后缀除了全局# Host:还可以给# Options:里的单个选项加后缀覆盖默认模式后缀在传给脚本前会被自动剥掉后缀效果重启资源管理器 (console)强制用外部控制台打开快速刷新 (silent)强制 embedded 且不打开 Live Log详细执行 (log)强制 embedded 且打开 Live Log例如# Options: 隐藏扩展名; 显示扩展名; 打开此电脑 (console)这样打开此电脑这一项就会弹出交互控制台而其他选项仍走默认模式。五、FluentTweaker 参数传递机制位置参数详解这是新手最容易踩坑的一点。FluentTweaker 用位置参数调用脚本powershell.exe -NoProfile -ExecutionPolicy Bypass -File 脚本.ps1 Option ArgsText也就是说位置 0→ 下拉框选中的# Options:值读作$Option或$args[0]位置 1→ 输入框里的文本读作$ArgsText或$args[1]。推荐在脚本开头显式声明param()可读性最好param([string]$Option, [string]$ArgsText) # 位置 0 和位置 1如果脚本没有param()块也可以直接通过$args[0]、$args[1]读取。两种方式完全兼容不需要定义-Option/-ArgsText这类命名参数。六、三个典型扩展脚本范例范例 1带选项 输入的完整扩展# Description: 通过 ViVeTool 管理功能 ID # Category: Post # Host: log # Options: 启用 ID; 禁用 ID; 查询 ID # Input: true # InputPlaceholder: 输入逗号分隔的 ID如 123,456 param([string]$Option, [string]$ArgsText) switch ($Option) { 启用 ID { $ids $ArgsText -split , | ForEach-Object { $_.Trim() } # 调用 ViVeTool.exe 的逻辑…… } default { Write-Error 未知选项$Option } }范例 2利用选项后缀切换 Host 模式# Description: 文件资源管理器小工具 # Category: Post # Host: embedded # Options: 显示扩展名; 隐藏扩展名; 打开此电脑 (console) param([string]$Option) # 打开此电脑 会自动弹出可交互的控制台窗口范例 3静默后台任务# Description: 清理系统临时文件 # Category: Post # Host: embedded Write-Output Cleaning temp... Remove-Item $env:TEMP\* -Recurse -Force -ErrorAction SilentlyContinue仓库中 plugins/DemoPluginPack.ps1 和 plugins/File Extensions Visibility (NX).ps1.ps1) 等文件是很好的真实参考注意它们是插件格式结构略有不同。七、扩展Extensions与插件Plugins的区别FluentTweaker 里其实有两套脚本体系别搞混了对比项扩展 Extensions插件 Plugins头部格式# 键名: 值注释INI 风格[Commands]/[Expect]段放置位置.\scripts\文件夹plugins文件夹运行方式三种 Host 模式任选Check → Do → Undo 规则驱动典型用途独立小工具、批量操作可检查、可修复、可撤销的开关类调优插件的执行模型是先跑Check读取当前状态用[Expect]校验输出需要修复时执行Do并可选提供Undo回退。完整格式说明见 docs/plugins.md。插件的远端清单由 plugins/plugins_manifest.txt 维护程序按其中的名称与描述下载对应脚本。八、FluentTweaker 扩展开发最佳实践✍️描述要短、要有动作感Description直接决定用户在界面里看到的说明文字️善用 Options 减少重复脚本一个脚本 下拉框胜过五个几乎一样的脚本尽早校验输入输入不合法时用Write-Error报错UI 会把错误直观展示给用户️避免破坏性默认值危险操作一定要让用户明确选一个Option才执行按语义命名文件文件名含 update / debloat / network 等词会帮助程序自动挑选合适的图标 了解脚本如何被装载和管理的可以看看源码 ExtensionsHelper.cs 和 ExtensionsDefinition.cs。九、参考资料扩展官方技术指南docs/extensions.md插件格式文档docs/plugins.md内置功能注册表开关清单docs/features.md插件示例目录plugins/把.ps1脚本写对头部元数据、选对 Host 模式、按位置参数接收选项和输入——这就是开发 FluentTweaker 扩展的全部核心。动手写一个放进scripts文件夹Tools 页面见分晓 【免费下载链接】FluentTweakerWindows Slop Remover项目地址: https://gitcode.com/gh_mirrors/wi/FluentTweaker创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?