In addition to the built-in Spotlight in the mac system, there is also a very useful tool called Alfred

In the windows system, there is also a very useful tool called PowerToys, which is an open source project of Microsoft

https://github.com/microsoft/PowerToys
You can download the installation package from the github address above.

It has many quick functions. Please study it yourself. Today is about PowerToys Run

The default shortcut is Alt+Space
But one problem with PowerToys Run is that the built-in file search function is based on the system index. The search speed is slow, and I often can't find the file I want to find. I saw many people mention in Issue that they hope to support Everything search. The official said that a community has provided plug-ins https://github.com/IzaiahSun/PowerToys
Download it from the big guy's releases

Then locate modules\launcher\Plugins in the zip, copy the entire Community.PowerToys.Run.Plugin.Everything folder to the installed PowerToys directory \ modules\launcher\Plugins in the system, and finally restart PowerToys!
Here's the point:
After PowerToys Run is provided in the form of plug-ins, it is very simple to extend our functions. We just need to write code and add our own logic.
Because I often use idea, I wrote a few lines of code to expand it. If it is a folder of java projects, I can open it directly with idea. The effect is as follows:

//Judge whether it is a java project folder public static bool CanRunIdea(string path) { if (File.Exists(path)) { return path.EndsWith("pom.xml"); } var buildGradleFile = System.IO.Path.Combine(path, "build.gradle"); if (File.Exists(buildGradleFile)) { return true; } var pomFile = System.IO.Path.Combine(path, "pom.xml"); if (File.Exists(pomFile)) { return true; } return false; } //Create the button to run the idea and trigger the button click event private static ContextMenuResult CreateRunIdeaContextMenu(SearchResult record) { return new ContextMenuResult { PluginName = Assembly.GetExecutingAssembly().GetName().Name, Title = Properties.Resources.Community_plugin_everything_run_as_idea, Glyph = "\xEC58", FontFamily = "Segoe MDL2 Assets", AcceleratorKey = Key.F1, AcceleratorModifiers = ModifierKeys.Windows, Action = _ => { try { Task.Run(() => { var idea = Environment.GetEnvironmentVariable("idea"); if (string.IsNullOrEmpty(idea)) { RunCommand($"idea \"{record.FullPath}\"", record.FullPath); } else { RunCommand($"\"{idea}\" \"{record.FullPath}\"", record.FullPath); } }); return true; } catch (System.Exception e) { Log.Exception($"Failed to run {record.FullPath} as idea, {e.Message}", e, MethodBase.GetCurrentMethod().DeclaringType); return false; } }, }; }
The code is very simple. If you recognize that it is a java project folder, display an icon button and click open with idea.
You can configure the startup path of idea in the environment variable,

If you use Toolsbox, idea will update the version frequently. It is too troublesome to change the environment variables every time you upgrade. This function of Toolsbox can be set

Then set the folder of the Shell script in the figure above to the PATH of the environment variable once and for all!

To get my modified EveryThing plug-in, I can send text to the official account: PowerToys
After downloading, unzip it to your local PowerToys directory
For example, my local computer is:
C:\Program Files\PowerToys\modules\launcher\Plugins

Enjoy!!!
Pay attention to the official account, and I will share with you the open source tool I developed.