mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-15 20:19:17 +08:00
c46ccce373
* 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 commitb9cb4586dc
. * Update sln version * supress obsolete warning, since this is not a new development * Partially Revert "Getting stuff .net 6 buildable again" This reverts commit42b4201c6b
. * 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>
102 lines
5.7 KiB
Markdown
102 lines
5.7 KiB
Markdown
# 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](https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry).
|
|
|
|
For advanced information about the Windows registry, see [Windows registry information for advanced users](https://docs.microsoft.com/en-us/troubleshoot/windows-server/performance/windows-registry-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`](https://github.com/dotnet/roslyn-analyzers) | 3.3.0 |
|
|
| [`StyleCop.Analyzers`](https://github.com/DotNetAnalyzers/StyleCopAnalyzers) | 1.1.118 |
|
|
|
|
#### Projects
|
|
|
|
* `Wox.Infrastructure`
|
|
* `Wox.Plugin`
|