数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 34|回复: 0

[科技] 微软官方神器PowerToys要动大手术,代码重写后更快更稳更香!

[复制链接]
发表于 前天 14:32 | 显示全部楼层 |阅读模式
哎,各位没事就爱折腾自己电脑、把Windows系统玩出花来的硬核玩家们,还有那些总觉得电脑用着不得劲儿、想找点神奇工具提效的上班族们,都先停一下手里刷的短视频,我这儿有个关于你们心头好的大消息!

就刚才,我在外网上刷到Neowin发了一篇文章,说的是咱们这群“搞机党”的老朋友,微软官方出品的那个PowerToys,马上要迎来一次从里到外、伤筋动骨式的大升级了!不是加一两个小功能那种,而是直接对着它的核心代码“动手术”,从C++移植到C#。这动静,可不算小。

先给可能还不太熟的朋友们唠两句,这PowerToys到底是个啥神仙玩意儿。简单说,它就是微软自家做的一个高级工具箱,专门给Windows 10和Windows 11系统用的,而且完全免费。你可能会说,Windows 11有啥好吐槽的点我能列出一箩筐,但PowerToys绝对是你骂完系统后,还得回头给它竖大拇指的那个例外。它就好比是系统自带的那个“组策略编辑器”一样,是真正能让爱折腾的用户按照自己心意去驾驭操作系统的神器之一,属于官方给的“外挂”。

听这名字——“PowerToys”,就知道它不是给小白准备的,它的目标用户就是那些“高级用户”。这东西功能多得吓人,全是用来深度定制和增强你系统体验的小工具。它最早的灵感,其实可以追溯到Windows 95那个远古时代,现在这个现代版本,把一堆能帮你提效、让你用电脑更爽的功能,都打包在了一起。

咱随便数几个它里面最受欢迎的功能,你听听看有没有你用过的或者听说过的:

Always on Top:让任何一个窗口“钉”在最前面,看资料写东西时神器。
Advanced Paste:不光能粘贴纯文本,还能处理剪贴板里的各种格式,厉害得很。
Peek:鼠标指到文件上,按一下快捷键就能直接看文件内容,不用打开。
FancyZones:这个我超爱!它能让你自定义桌面上窗口的排版布局,把屏幕划分成各种格子,拖窗口过去自动对齐、排布,治好了我多年的窗口管理困难症。
PowerToys Run:按个快捷键,呼出一个搜索框,秒开应用、找文件、运行命令,比系统自带的搜索快不少。

这还没完呢,里头还有颜色拾取器、批量文件重命名、在文件资源管理器里直接调整图片尺寸、重新映射键盘按键和快捷键的键盘管理器……另外像Awake(防止电脑休眠)、文件资源管理器附加模块、鼠标工具、快捷键指南等等一大堆工具,都塞在这个免费的大礼包里。可以说,一旦用习惯了,你就再也回不去了。

好,背景铺垫完了,说回正题。这么个神器,为啥突然要“大动干戈”升级代码呢?这就要提到一位关键人物了。

PowerToys本身是一个开源项目,谁都可以去GitHub上给它贡献代码。其中一位贡献者,名叫Noora Junker,他在今天(2026年3月15日)发了一篇博客文章,详细说了他正在干的一件大事。虽然目前还标记为“WIP”(进行中),但他正在把PowerToys的“运行器”(Runner)从C++编程语言,移植到C#语言。

等等,这里得先插一嘴解释清楚,他说的这个“运行器”(powertoys.exe),不是上面提到的那个“PowerToys Run”启动器啊,别搞混了。这个“运行器”,你可以理解为整个PowerToys工具箱的大管家或者总调度。它的活儿是啥呢?就是根据用户的设置,去启动不同的功能模块(比如启动颜色拾取器、窗口置顶这些),管理这些模块的运行过程,还要在设置界面和各个功能模块之间传递指令和消息,是个核心后台程序。

那么,Junker为啥非要折腾着换一种编程语言呢?他在博客里解释得挺明白。他说,到目前为止,这个大管家和它的那些活儿,是依赖好几个C++项目,通过导出DLL(动态链接库)的方式来协作完成的。他自己都吐槽,这种方式现在看起来有点混乱、过度设计,而且特别难维护。

说白了,就是原先那套C++的代码底子,经过这么多年添砖加瓦,已经变得有点僵化和笨重了。代码一不灵活,直接后果就是新功能的开发速度被拖慢了,而且对于想加入这个开源项目、贡献点代码的新手开发者来说,一看这复杂又有点“脏乱”的代码结构,头就大了,门槛太高,吓跑不少人。

所以,他们决定,搬家!从C++搬到C#。按照Junker的说法,换成C#之后,他们这些项目维护者和代码贡献者,能指望什么呢?很简单:编译速度更快了,调试起来更简单更容易了,整个代码库对开源社区来说,也变得更好理解、更友好了。​ 这相当于把一条崎岖难走的老路,修成了平坦的柏油马路,以后大家往里加新功能、修修补补,都会顺畅得多。

具体是怎么个“搬家”法呢?按照新的设计,以后每一个功能模块(比如颜色拾取器就是一个模块),都会变成一个单独的类,去实现一个叫“IPowerToyModule”的接口。说人话就是,结构更清晰、更统一了。这样一来,需要的子项目数量能减少,编译过程能简化,而且那些用来处理配置文件的、到处都有的重复代码也能被干掉。Junker拍胸脯保证,这一通操作下来,底层代码的复杂性会大大降低。

我知道你们最关心的是:啥时候能用上这个新版本?Junker也说了,关于这次“运行器”重构的代码合并请求,在GitHub上已经差不多完成了。不过,最后拍板上线,还得等整个项目升级到.NET 10框架之后。等那个准备好了,新的“大管家”就会更新并合并到主分支里。

对我们用户来说,可能感觉不到界面有啥翻天覆地的变化,这都是“引擎盖底下”的改动。但就是这种底层重构,往往意味着以后软件更新会更平稳,出bug的几率可能更低,而且,新功能说不定也能来得更快一些。毕竟,路修好了,往后跑新车(新功能)不就更麻利了嘛。

总之,对于PowerToys这个本就良心到爆的免费官方神器来说,这次代码层面的“大扫除”和“重建”,绝对是件大好事。这说明微软和开源社区的那帮大佬们,没打算让它躺平,而是想着法子让它未来能跑得更快、更稳、更能装(新功能)。这消息,值得所有喜欢折腾Windows、追求效率的玩家们,点个赞,喊声“加油”。具体的代码改动和讨论,感兴趣的去GitHub上搜PowerToys项目,自己也能围观一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2026-3-17 19:40 , Processed in 0.140400 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz!

© MyDigit.Net Since 2006

快速回复 返回顶部 返回列表