Windows system utilities to maximize productivity
Go to file
Seraphima Zykova f6e7635a4e
[FancyZones]UI testing that works in CI (#29453)
* added test project

* run fz test

* rename proj

* editor test project

* check if FZ is running

* rename

* added assert messages

* spelling

* dev docs

* spelling

* update to latest stable

* exclude ui tests deps

* update packages list in notice.md

* added sample tests

* added file for tests run

* removed unrecognized

* removed run

* fix test configuration

* rename job

* change dependance

* run test template

* removed condition

* tabulation fix

* removed arg

* removed dependance

* removed log

* removed parameters

* test

* test

* added parameters

* pool

* pool

* vs test

* dependance

* download artifact

* publish artifact

* artifact publish conditions

* artifact name, default download path

* set folders

* prepare dotnet and vstest platform

* copy all

* target dotnet8

* test build agents

* set vs test version

* spellcheck

* set test platform version

* package feed selector

* hardcoded vstest location

* are other tests running?

* location

* vstest.console

* upd command

* script path

* search vstest.console

* vs path

* tools dir

* check files

* try full path

* try vstest task

* try full path in vstest task

* change path, remove unnecessary

* test with full vsconsole path

* winappdriver task

* changed args and condition

* default address

* added start operation type

* task name

* remove resolution

* Update run-ui-tests-ci.yml

* Update run-ui-tests-ci.yml

* Update run-ui-tests-ci.yml

* Update run-ui-tests-ci.yml

* AgentResolution should be a string

* Update run-ui-tests-ci.yml

testing against what WinUI gallery has for agent

* Update run-ui-tests-ci.yml

* Update run-ui-tests-ci.yml

* added WinAppDriver.exe

* spellcheck

* remove task

* checkout

* path

* src dir variable

* added init to the second project

* set longer timeout

* try waiting

* rerun

* log session info

* exclude WinAppDriver files from spell-check

* split io class: editor params

* remove unnecessary

* move data to the common project

* io test helper

* write retry

* Moved constants

* file utils

* prepare editor files before launch

* remove unused file

* spellcheck

* create directory

* fixed cleaning up

* remove WinAppDriver from deps

* start WinAppDriver from the default installation path

* installation script

* Revert "spellcheck"

This reverts commit 4bdc395730.

* Revert "exclude WinAppDriver files from spell-check"

This reverts commit 21ee6db3f5.

* install

* installation argument

* spellcheck

* change winappdriver path in fz tests

* delete iohelper

* update docs

* deleted obsolete winappdriver tests

* net version

* try without vstest location

* spellcheck

* Revert "try without vstest location"

This reverts commit 7cd39f3ae6.

* moved json tag constants to the common project
2024-03-22 12:10:10 +00:00
.config [Build]Use XamlStyler to check XAML formatting (#28643) 2023-10-09 15:58:13 +01:00
.configurations [Dev]Add additional Winget DSC scripts for VS Pro and Enterprise (#31325) 2024-02-08 09:50:37 +00:00
.github [FancyZones]UI testing that works in CI (#29453) 2024-03-22 12:10:10 +00:00
.pipelines [FancyZones]UI testing that works in CI (#29453) 2024-03-22 12:10:10 +00:00
deps Update cziplib to 0.25 (#21198) 2022-10-13 00:12:17 +03:00
doc [FancyZones]UI testing that works in CI (#29453) 2024-03-22 12:10:10 +00:00
installer [Build]Unify PCH usage (#31055) 2024-03-22 10:29:14 +00:00
src [FancyZones]UI testing that works in CI (#29453) 2024-03-22 12:10:10 +00:00
tools [Build]Unify PCH usage (#31055) 2024-03-22 10:29:14 +00:00
.gitattributes Update .gitattributes 2022-07-19 13:06:16 -07:00
.gitignore [Build]Add Microsoft.MSBuildCache (#30100) 2024-01-15 21:45:28 +00:00
.gitmodules Delete cxxopts (#21197) 2022-10-13 00:09:47 +03:00
.vsconfig [Dev]Add missing ATL lib to .vsconfig (#26953) 2023-06-20 14:45:46 +01:00
CODE_OF_CONDUCT.md adding in a Code of Conduct 2020-03-05 10:11:27 -08:00
COMMUNITY.md [Docs]Update core team in COMMUNITY.md (#27934) 2023-08-14 07:37:49 -07:00
CONTRIBUTING.md Add bot trigger for contribution thread (#28221) 2023-11-15 15:46:52 -08:00
Cpp.Build.props [Build]Unify PCH usage (#31055) 2024-03-22 10:29:14 +00:00
CppRuleSet.ruleset [Analyzers][CPP] Turn on warning 26493 (#23990) 2023-02-13 16:37:26 +00:00
Directory.Build.props [Build]Unify PCH usage (#31055) 2024-03-22 10:29:14 +00:00
Directory.Build.targets [Build]Add Microsoft.MSBuildCache (#30100) 2024-01-15 21:45:28 +00:00
Directory.Packages.props [FancyZones]UI testing that works in CI (#29453) 2024-03-22 12:10:10 +00:00
LICENSE Fix license file (#2626) 2020-05-02 15:59:18 -07:00
NOTICE.md [FancyZones]UI testing that works in CI (#29453) 2024-03-22 12:10:10 +00:00
nuget.config [Build]Update MSBuildCache to 0.1.258-preview (#31123) 2024-01-30 13:36:25 -08:00
packages.config [Build]Update MSBuildCache to 0.1.258-preview (#31123) 2024-01-30 13:36:25 -08:00
PowerToys.sln [FancyZones]UI testing that works in CI (#29453) 2024-03-22 12:10:10 +00:00
README.md 0.79 changelog (#31648) 2024-03-04 09:58:05 -08: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

Build status

Architecture Solution (Main) Solution (Stable) Installer (Main)
x64 Build Status for Main Build Status for Stable Build Status Installer pipeline
ARM64 Build Status for Main Build Status for Main Build Status Installer pipeline

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:
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 Peek
Paste as Plain Text PowerRename PowerToys Run
Quick Accent Registry Preview Screen Ruler
Shortcut Guide Text Extractor Video Conference Mute

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.79.0-x64.exe CF1C715F952A34416CDBE5D06D24FFF47790DDA1D4CA3F81BCAD9D28FF0039A1
Per user - ARM64 PowerToysUserSetup-0.79.0-arm64.exe ADE572B6F1B59DCDC60A2550D9FD00B8CC7C78BE9330F534691CE4B056ED76F1
Machine wide - x64 PowerToysSetup-0.79.0-x64.exe 3FD2A6BD9C8F8973BFBBF5DB9236C3D8AF3AE57E5AEC275DDEB5EF31581F80FE
Machine wide - ARM64 PowerToysSetup-0.79.0-arm64.exe B93017C2A5CFB0DEF708DB412570AA39828E91D85E800EFD22481B46F0DC6852

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.79 - February 2024 Update

In this release, we focused on stability and improvements.

Highlights

  • New feature: Keyboard Manager allows mapping shortcuts to start applications or opening URIs. Thanks @jefflord!
  • New feature: Keyboard Manager allows shortcuts with chords. Thanks @jefflord!
  • Modernized Color Picker with Fluent UX. Thanks @niels9001!
  • Peek now is able to preview drives. Thanks @davidegiacometti!
  • File Locksmith has now an entry in the Windows 11 tier 1 context menu.

General

  • Refactored code so that English is used as a fallback language when a localized resource cannot be found.

Awake

  • The setting now reverts to "Keep using the current power plan" after Awake deactivates itself after any of the timed modes has expired.

Color Picker

  • Now uses WPFUI and the UI was updated to follow Fluent UX principles. Thanks @niels9001!
  • Added enable and disable telemetry to align it with the other utilities.

Command Not Found

  • Added telemetry for when a module instance is created in PowerShell.

FancyZones

  • Fixed a memory leak occurring on work area changes.

File Explorer add-ons

  • Added support to the .ksh, .zsh, .bsh and .env file types to Monaco previewer. Thanks @Aaron-Junker!
  • Re-enabled the RendererAppContainer feature in WebView2, since the associated crash has been fixed in the latest WebView2 releases.

File Locksmith

  • Added as an entry in the Windows 11 tier 1 context menu.

Hosts File Editor

  • Tweaked filter button style to indicate if filters are applied.
  • Added an error indicator to each input field to indicate why a new entry can't be created.
  • Added an in-line delete button for each entry.

Image Resizer

  • Units and resize modes are now localized.
  • Tweaked and improved UI. Thanks @Jay-o-Way!

Keyboard Manager

  • Added a feature that allows remapping a shortcut to starting an application. Thanks @jefflord!
  • Added a feature that allows remapping a shortcut to open a URI. Thanks @jefflord!
  • Added chords to shortcuts. Thanks @jefflord!
  • Send telemetry about the key/shortcut to key/shortcut remappings that are set. This doesn't include remap to text, application or URI since those might contain personal information.
  • Added telemetry to send a daily event that at least a key/shortcut to key/shortcut remapping was used.
  • Tweaked and fixed the chords code to better follow conventions when trying to call the same chord multiple times.

Mouse Without Borders

  • Fixed an issue causing the target path string to be corrupted when registering as a service.

Paste as Plain Text

  • Prevent the start menu from activating when the Windows key is part of the activation shortcut and is released sooner.

Peek

  • Fixed a title bar issue after maximizing Peek's window. Thanks @davidegiacometti!
  • Fixed a crash when trying to use Peek in File Explorer alternatives.
  • Added a previewer for drives. Thanks @davidegiacometti!
  • The folder previewer will now asynchronously calculate size, similar to the Properties screen in File Explorer. Thanks @davidegiacometti!
  • Added support to the .ksh, .zsh, .bsh and .env file types to Monaco previewer. Thanks @Aaron-Junker!

PowerRename

  • PowerRename context menu accelerator key readded.
  • Tweaked PowerRename apply button style. Thanks @niels9001!

PowerToys Run

  • Fixed an issue causing win32 application icons to not appear correctly in the Programs plugin.
  • Unified phrasing in the plugin descriptions.
  • Fixed an issue causing the PowerToys Run plugin settings to be cleared with each upgrade.
  • Fixed an issue causing VSCodeWorkspaces plugin to not find WSL workspaces.
  • Fixed results tooltip closing fast. Thanks @davidegiacometti!
  • Improved the Registry plugin tooltip spacing. Thanks @davidegiacometti!
  • Allow pressing '=' to replace the query with the current result when using the calculator plugin. Thanks @davidegiacometti!
  • Optimized the code that gathers results from the plugin to reduce CPU consumption.
  • Optimized memory usage in the Window Walker plugin.
  • Fixed crashes and improved error handling when saving json configuration files.
  • The Program plugin will now correctly get the icon for a newly installed packaged application. Thanks @davidegiacometti!

Quick Accent

  • Added support for the Slovenian character set. Thanks @aklemen!

Registry Preview

  • Fixed a crash when closing the application and the editor's right click menu is opened.

Settings

  • Fixed an alignment issue in the flyout icons causing some icons to be centered when they shouldn't. Thanks @niels9001!
  • Added the mention that Monaco supports .txt files. Thanks @Aaron-Junker!
  • Fixed an issue causing the Settings window to lose its previous maximized state. Thanks @davidegiacometti!

Documentation

Development

  • Updated Microsoft.MSBuildCache to 0.1.258-preview. Thanks @dfederm!
  • Fixed CI to point VCToolsVersion to VC.CRT instead of VC.Redist version. Thanks @snickler!
  • Updated MSTest adapter and framework to 3.2.
  • Fixed CI by pointing WiX 3.14 urls and hashes to the latest release on GitHub.
  • Added Pro and Enterprise editions of Visual Studio to the repository's development configuration DSC scripts.
  • Updated CppWinRT to 2.0.240111.5.
  • Updated System.Drawing.Common to 8.0.2 to fix CI builds after the .NET 8.0.2 upgrade was released.
  • Updated WPFUI version to 3.0.0. Thanks @niels9001!
  • XAML Styler is now fully tested in the solution when CI runs. Thanks @davidegiacometti!
  • Fixed a faulty XAML binding in the Text Extractor settings page.
  • Updated Microsoft.Web.WebView2 to 1.0.2365.46.

What is being planned for version 0.80

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

  • Stability / bug fixes
  • Language selection
  • Automated UI testing through WinAppDriver
  • Develop support for Desired State Configuration
  • New module: File Actions Menu

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 telemetry. Our Telemetry Data page (Coming Soon) has the trends from the telemetry. Please read the Microsoft privacy statement for more information.