PowerToys/doc/devdocs/modules/launcher/plugins/registry.md
Clint Rutkas c46ccce373
[build]Update to .net 6 framework and VS 2022 (#15741)
* Update release.yml

* Update ColorPickerUI.csproj

* Update release.yml

adding in .net6 sdk and moving stuff sooner

* Update release.yml

* Update release.yml

* fixing test

* Forcing vs17 and adding in .net 6 sdk

* forcing pool

* fixing issues in each pipeline

* moving release .net up

* fixing diff on agent version for nuget installer

* Removing system.text.json.dll as included now

* getting unit tests it looks like to work

* updating everythign to .net 6 minus wxs for runtime

* unit test still have

* getting 6.0 stuff up and going.  Terminal Unit tests have file max length issue ....

* found i think the last .net 5 issue

* looks like i wasn't aggressive enough with the 6.0 upgrade

* Getting stuff .net 6 buildable again

* tweaking with new stuff for installer

* Update newly added merged projects to .net 6

* Fix HeatDirectory bug on VS 2022

* Settings still needs JSON dependency

* Revert "getting 6.0 stuff up and going.  Terminal Unit tests have file max length issue ...."

This reverts commit b9cb4586dc.

* Update sln version

* supress obsolete warning, since this is not a new development

* Partially Revert "Getting stuff .net 6 buildable again"

This reverts commit 42b4201c6b.

* supress another obsolete warning, since this is not a new development

* Reduce the unit test project name to avoid MAX PATH in CI

* Upgrade project's toolset in the main solution

* Some TODOs to review HttpClient usage

* Upgrade project toolsets from other solutions

* Install .net 6 instead of .net 5

* Fix issue when disabling PowerToys Run on .net framework 6

* Update docs for Visual Studio 2022

* PR comments: manually upgrade missing VS 2019 references

* Discard no discard values to solve compiler warnings

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2022-02-07 14:08:30 +00:00

5.7 KiB

Registry Plugin

The registry plugin allows users to search the Windows registry.

Special functions (differ from the regular functions)

  • Support full base keys and short base keys (e.g. HKLM for HKEY_LOCALE_MACHINE).
  • Show count of subkeys and count of values in the second result line.
  • Search for value names and value data inside a registry key (syntax: [RegistryKey]\\[ValueName] and [RegistryKey]\\[ValueData])

The Windows Registry

The registry contains all settings for the Windows operating system and many settings of the installed (Windows only) programs.

Note: Linux and macOS program ports typical store the settings in it's own configuration files and not in the Windows registry.

For more information about the Windows registry, see the official documentation.

For advanced information about the Windows registry, see Windows registry information for advanced users.

Score

The score is currently not set on the results.

Important for developers

General

  • The assembly name is cached into _assemblyName (to avoid to many calls of Assembly.GetExecutingAssembly())

Results

  • All results override the visible search result via QueryTextDisplay to avoid problems with short registry base keys (e.g. HKLM).
  • The length of a Title and Subtitle is automatic truncated, when it is to long.

Microsoft.Plugin.Registry project

Important plugin values (meta-data)

Name Value
ActionKeyword :
ExecuteFileName Microsoft.PowerToys.Run.Plugin.Registry.dll
ID 303417D927BF4C97BCFFC78A123BE0C8

Interfaces used by this plugin

The plugin use only these interfaces (all inside the Main.cs):

  • Wox.Plugin.IPlugin
  • Wox.Plugin.IContextMenu
  • Wox.Plugin.IPluginI18n
  • System.IDisposable

Program files

File Content
Classes\RegistryEntry.cs Wrapper class for a registry key with a possible exception on access
Constants\KeyName.cs Static used short registry key names (to avoid code and string doubling)
Constants\MaxTextLength.cs Contain all maximum text lengths (for truncating)
Enumeration\TruncateSide.cs Contain the possible truncate sides
Helper\ContextMenuHelper.cs All functions to build the context menu (for each result entry)
Helper\QueryHelper.cs All functions to analyze the search query
Helper\RegistryHelper.cs All functions to search into the Windows registry (via Win32.Registry)
Helper\ResultHelper.cs All functions to convert internal results into WOX results
Helper\ValueHelper.cs All functions to convert values into human readable values
Images\reg.dark.png Symbol for the results for the dark theme
Images\reg.light.png Symbol for the results for the light theme
Properties\Resources.Designer.resx File that contain all translatable keys
Properties\Resources.resx File that contain all translatable strings in the neutral language
GlobalSuppressions.cs Code suppressions (no real file, linked via *.csproj)
Main.cs Main class, the only place that implement the WOX interfaces
plugin.json All meta-data for this plugin
StyleCop.json Code style (no real file, linked via *.csproj)

Important project values (*.csproj)

Name Value
TargetFramework net6.0-windows (.NET 5) or net6.0-windows10.0.18362.0 (OS version specific)
LangVersion 8.0 (mean C# 8.0)
Platforms x64
Nullable true
Output ..\..\..\..\..\x64\Debug\modules\launcher\Plugins\Microsoft.Plugin.Registry\
RootNamespace Microsoft.PowerToys.Run.Plugin.Registry
AssemblyName Microsoft.PowerToys.Run.Plugin.Registry

Project dependencies

Packages

Package Version
Microsoft.CodeAnalysis.FxCopAnalyzers 3.3.0
StyleCop.Analyzers 1.1.118

Projects

  • Wox.Infrastructure
  • Wox.Plugin