Go to file
Jeremy Sinclair 00ee6c1510
[Dev][Build] .NET 9 Upgrade (#35716)
* [Deps] Upgrade Framework Libraries to .NET 9 RC2

* [Common][Build] Update TFM to NET9

* [FileLocksmith][Build] Update TFM to NET9 in Publish Profile

* [PreviewPane][Build] Update TFM to NET9 in Publish Profile

* [PTRun][Build] Update TFM to NET9 in Publish Profile

* [Settings][Build] Update TFM to NET9 in Publish Profile

* [MouseWithoutBorders][Analyzers] Resolve WFO1000 by configuring Designer Serialization Visibility

* [Deps] Update Microsoft.CodeAnalysis.NetAnalyzers

* [Analyzers] Set CA1859,CA2263,CA2022 to be excluded from error

* [MouseWithoutBorders] Use System.Threading.Lock to lock instead of object instance

* [ColorPicker] Use System.Threading.Lock to lock instead of object instance

* [AdvancedPaste] Use System.Threading.Lock to lock instead of object instance

* [TextExtractor] Use System.Threading.Lock to lock instead of object instance

* [Hosts] Use System.Threading.Lock to lock instead of object instance

* [MouseJump] Use System.Threading.Lock to lock instead of object instance

* [PTRun] Use System.Threading.Lock to lock instead of object instance

* [Wox] Use System.Threading.Lock to lock instead of object instance

* [Peek] Use System.Threading.Lock to lock instead of object instance

* [PowerAccent] Use System.Threading.Lock to lock instead of object instance

* [Settings] Use System.Threading.Lock to lock instead of object instance

* [Deps] Update NOTICE.md

* [CI] Update .NET version step to target 9.0

* [Build] Attempt to add manual trigger for using Visual Studio Preview for building

* [Build] Fix variable typo

* [Build][Temporary] set to use preview builds

* [Build] Add missing parameters

* [Build][Temporary] directly hardcode preview image

* [Build][Temporary] Trying ImageOverride

* [Build] Revert hardcode and use ImageOverride

* [Build] Add env var for adding prerelease argument for vswhere

* [Build] Update VCToolsVersion script to use env var to optionally add prerelease version checking

* [Build] Remove unneeded parameter

* [Build] Re-add parameter in all the right places

* [CI][Build] Add NoWarn NU5104 when building with VS Preview

* [Deps] Update to stable .NET 9 packages

* [Deps] Update NOTICE.md

* Everything is WPF and WindowsForms now to fix .NET 9 dependency conflicts

* Ensure .NET 9 SDK for tests too

---------

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2024-11-13 12:36:45 -05:00
.config [Deps]Update Xamlstyler.console to 3.2404.2 (#32567) 2024-06-20 10:15:55 +01:00
.configurations [Dev]Add additional Winget DSC scripts for VS Pro and Enterprise (#31325) 2024-02-08 09:50:37 +00:00
.github Adding in our "Data and Privacy" documentation (#35601) 2024-10-30 11:53:19 -07:00
.pipelines [Dev][Build] .NET 9 Upgrade (#35716) 2024-11-13 12:36:45 -05:00
deps Update cziplib to 0.25 (#21198) 2022-10-13 00:12:17 +03:00
doc [RegistryPreview] Adopt Monaco Editor (#35122) 2024-10-24 21:55:51 +02:00
installer [General]Add an option for telemetry opt-in and visualization(#34078) 2024-10-24 21:04:32 +01:00
src [Dev][Build] .NET 9 Upgrade (#35716) 2024-11-13 12:36:45 -05:00
tools [General]Add an option for telemetry opt-in and visualization(#34078) 2024-10-24 21:04:32 +01:00
.gitattributes Update .gitattributes 2022-07-19 13:06:16 -07:00
.gitignore [DSC] Implement Microsoft.PowerToys.Configure DSCResource & winget support (#30918) 2024-04-02 00:09:47 +01:00
.gitmodules Delete cxxopts (#21197) 2022-10-13 00:09:47 +03:00
.vsconfig Community Toolkit upgrade to 8.1.240821 (after .84 is verified stable) (#34419) 2024-09-12 09:30:44 -07:00
CODE_OF_CONDUCT.md adding in a Code of Conduct 2020-03-05 10:11:27 -08:00
COMMUNITY.md Update COMMUNITY.md (#32725) 2024-06-12 09:34:32 -07:00
CONTRIBUTING.md Add bot trigger for contribution thread (#28221) 2023-11-15 15:46:52 -08:00
Cpp.Build.props Community Toolkit upgrade to 8.1.240821 (after .84 is verified stable) (#34419) 2024-09-12 09:30:44 -07:00
CppRuleSet.ruleset [Analyzers][CPP] Turn on warning 26493 (#23990) 2023-02-13 16:37:26 +00:00
DATA_AND_PRIVACY.md Update DATA_AND_PRIVACY.md (#35678) 2024-10-30 18:45:14 -07:00
Directory.Build.props [Build] Set NuGet Audit Mode to Direct to revert changes made with VS 17.12 (#34314) 2024-08-16 11:16:43 +02:00
Directory.Build.targets [Build]Add Microsoft.MSBuildCache (#30100) 2024-01-15 21:45:28 +00:00
Directory.Packages.props [Dev][Build] .NET 9 Upgrade (#35716) 2024-11-13 12:36:45 -05:00
LICENSE Fix license file (#2626) 2020-05-02 15:59:18 -07:00
NOTICE.md [Dev][Build] .NET 9 Upgrade (#35716) 2024-11-13 12:36:45 -05:00
nuget.config [EnvVar][Hosts][RegPrev]Decouple and refactor to make it "packable" as nuget package (#32604) 2024-04-26 18:41:44 +01:00
packages.config Update MSBuildCache to 0.1.283-preview (#33988) 2024-07-24 12:18:24 -07:00
PowerToys.sln [General]Add an option for telemetry opt-in and visualization(#34078) 2024-10-24 21:04:32 +01:00
README.md updating the README.md for better clarity (#35885) 2024-11-13 10:43:41 -06:00
SECURITY.md Update SECURITY.md from 0.0.2 to 0.0.9 (#28289) 2023-09-06 09:14:28 -07:00
Settings.XamlStyler [Build]Use XamlStyler to check XAML formatting (#28643) 2023-10-09 15:58:13 +01:00
Solution.props [PowerRename] Fluent UX (#13678) 2021-10-25 14:40:19 +01:00
SUPPORT.md [Docs]Replace docs.micrososft.com with learn.microsoft.com (#20662) 2022-09-28 17:18:55 +01:00

Microsoft PowerToys

Hero image for Microsoft PowerToys

How to use PowerToys | Downloads & Release notes | Contributing to PowerToys | What's Happening | Roadmap

About

Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity. For more info on PowerToys overviews and how to use the utilities, or any other tools and resources for Windows development environments, head over to learn.microsoft.com!

Current utilities:
Advanced Paste Always on Top PowerToys Awake
Command Not Found Color Picker Crop And Lock
Environment Variables FancyZones File Explorer Add-ons
File Locksmith Hosts File Editor Image Resizer
Keyboard Manager Mouse utilities Mouse Without Borders
New+ Peek Paste as Plain Text
PowerRename PowerToys Run Quick Accent
Registry Preview Screen Ruler Shortcut Guide
Text Extractor Video Conference Mute Workspaces

Installing and running Microsoft PowerToys

Requirements

  • Windows 11 or Windows 10 version 2004 (code name 20H1 / build number 19041) or newer.
  • x64 or ARM64 processor
  • Our installer will install the following items:

Go to the Microsoft PowerToys GitHub releases page and click on Assets at the bottom to show the files available in the release. Please use the appropriate PowerToys installer that matches your machine's architecture and install scope. For most, it is x64 and per-user.

Description Filename sha256 hash
Per user - x64 PowerToysUserSetup-0.86.0-x64.exe CFB9608B28B8FF12C9A7C9814A6EF981636EB5AB261DC278C28EC93FD959CCE2
Per user - ARM64 PowerToysUserSetup-0.86.0-arm64.exe 861CEDBFDCDA993D1D1056E3280319D5EA45D142CA3C737AB1FB4FABD651A5F5
Machine wide - x64 PowerToysSetup-0.86.0-x64.exe 857DE9DC5938D9602F82DFD6183DB5E6823B875A412AEC59B4BE93617E27E9CD
Machine wide - ARM64 PowerToysSetup-0.86.0-arm64.exe 6F37192534C195A02A80AAE1E449DF61C894C50763096A06195581801943FA31

This is our preferred method.

Via Microsoft Store

Install from the Microsoft Store's PowerToys page. You must be using the new Microsoft Store which is available for both Windows 11 and Windows 10.

Via WinGet

Download PowerToys from WinGet. Updating PowerToys via winget will respect current PowerToys installation scope. To install PowerToys, run the following command from the command line / PowerShell:

User scope installer [default]

winget install Microsoft.PowerToys -s winget

Machine-wide scope installer

winget install --scope machine Microsoft.PowerToys -s winget

Other install methods

There are community driven install methods such as Chocolatey and Scoop. If these are your preferred install solutions, you can find the install instructions there.

Third-Party Run Plugins

There is a collection of third-party plugins created by the community that aren't distributed with PowerToys.

Contributing

This project welcomes contributions of all types. Besides coding features / bug fixes, other ways to assist include spec writing, design, documentation, and finding bugs. We are excited to work with the power user community to build a set of tools for helping you get the most out of Windows.

We ask that before you start work on a feature that you would like to contribute, please read our Contributor's Guide. We would be happy to work with you to figure out the best approach, provide guidance and mentorship throughout feature development, and help avoid any wasted or duplicate effort.

Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you grant us the rights to use your contribution and that you have permission to do so.

For guidance on developing for PowerToys, please read the developer docs for a detailed breakdown. This includes how to setup your computer to compile.

What's Happening

PowerToys Roadmap

Our prioritized roadmap of features and utilities that the core team is focusing on.

0.86 - October 2024 Update

In this release, we focused on new features, stability, and improvements.

Highlights

  • Advanced Paste has new abilities: Image to text, and paste to file (text / png / html).
  • In settings, we've adjusted the left navigation to group the utilities. As the number of utilities shipped with PowerToys keeps growing, we felt this was a needed adjustment. Thanks everyone for your feedback!
  • Workspaces received many bug fixes, including the proper launching of many instances of the same application in the same workspace. Note, we are still actively looking at how to properly handle PWA detection.
  • We've added a diagnostic data (telemetry) opt-in option in the Settings General tab. As it is off-by-default, we encourage users to turn it on as that helps direct our development efforts and their journeys. More information about the data we collect can be found in the PowerToys Data and Privacy documentation and what each event does.

General

  • Added a setting for diagnostic data (telemetry) opt-in (off by default, however, see above for why we encourage you to opt-in!) and user controls to view data.
  • Improved exception logging by adding the type of Exception and InnerException. Thanks @davidegiacometti!

Advanced Paste

  • Added new built-in actions: Image to text, and paste txt, png or html as a file.

Mouse Jump

  • Refactored the common classes into a separate project. Thanks @mikeclayton!
  • Brought back the telemetry events that were deleted across previous refactoring efforts.

Mouse Without Borders

  • Refactored the Logger common classes. Thanks @mikeclayton!

New+

  • Fixed the telemetry event for when the modules is enabled or disabled. (This was a hotfix for 0.85)
  • Fixed bug when creating folders or files that contain Unicode characters. Thanks @cgaarden!
  • Fixed bug when the name of a new folder collided with an already existing folder. Thanks @cgaarden!
  • Updated the New+ icons to the fluent style.

Peek

  • Folder preview enumeration of size and number of files is now more responsive and faster. Thanks @daverayment!

PowerToys Run

  • Handled a culture not found error when checking for right-to-left languages.
  • Fixed the WebSearch plugin results title being trimmed in the UI. Thanks @octastylos-pseudodipteros!
  • The Unit Converter plugin will now show more significant digits. Thanks @PesBandi!
  • Improved error handling when copying to the clipboard results in an error. Thanks @PesBandi!

Quick Accent

  • Added support for the Serbian Cyrillic character set. Thanks @Sirozha1337!

Registry Preview

Settings

  • Fixed a crash when trying to access a non-existing templates folder from the New+ page. (This was a hotfix for 0.85)
  • Added a navigation tree to group utilities in the left navigation menu.
  • Sorted the list of languages in the language selection combo box in the General tab. Thanks @davidegiacometti!
  • Fixed the state of the info bar about templates not being backed up to not close and react to the module's enabled state in the New+ page. Thanks @htcfreek!
  • Fixed a crash caused by a dangling thread.
  • Clicking a notification about there being an update available should now correctly open the Settings application in the General tab.
  • Fixed a UI freeze when trying to access the Diagnostic Data Viewer files. Thanks @davidegiacometti!

Workspaces

  • Fixed launching the incorrect workspace when launching many workspaces quickly through shortcuts. (This was a hotfix for 0.85)
  • Fixed launching many instances of the same application in a workspace.
  • Fixed a crash when a previously captured monitor ID no longer existed.
  • Fixed an issue causing the wrong coordinates to be saved for minimized applications.
  • Fixed an issue causing a crash when stress testing workspace launching.
  • Fixed application launching when UAC is off and every application always runs elevated.

Documentation

Development

  • Fixed the CI precheck action to take into account the recent changes in CI actions.
  • Added the new Microsoft org issue types to the issue templates. Thanks @Aaron-Junker!
  • Updated System.Text.Json to 8.0.5 and System.Runtime.Caching to 8.0.1 and related dependencies to the latest to address security reports. Thanks @snickler!
  • Updated WinAppSDK to 1.6.1 and CsWinRT to 2.1.5. Thanks @snickler!
  • Upgraded the WpfUI dependency to 3.0.5.
  • Updated MessagePack to 2.5.187 and StreamJsonRpc to 2.19.27 to address security reports.
  • Removed some of the hacks that are no longer needed that tried to force same dependency versions in .csproj files.
  • Removed the Markdown file exclusions from the conditions that trigger a full CI test.
  • CI fails again when there are XAML style errors in a PR.
  • Fixed CI actions that were not failing when one of the powershell scripts they tried to run was failing.
  • Fixed analyzer violations to allow fully building PowerToys on Visual Studio 17.12. Thanks @snickler!

What is being planned for version 0.87

For v0.87, we'll work on the items below:

  • Stability / bug fixes
  • New module: File Actions Menu
  • Integrate Sysinternals ZoomIt

PowerToys Community

The PowerToys team is extremely grateful to have the support of an amazing active community. The work you do is incredibly important. PowerToys wouldnt be nearly what it is today without your help filing bugs, updating documentation, guiding the design, or writing features. We want to say thank you and take time to recognize your work. Month by month, you directly help make PowerToys a better piece of software.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct.

Privacy Statement

The application logs basic diagnostic data (telemetry). For more information on privacy and what we collect, see our PowerToys Data and Privacy documentation.