Is it possible to know if a Visual Studio command was triggered from the keyboard or a menu? I'd like to write a plugin that monitored VS commands and suggested keyboard shortcuts for any commands chosen from a menu.
How can you tell if a Visual Studio command was triggered by keyboard or menu?
214 views Asked by citizenmatt At
1
There are 1 answers
Related Questions in VISUAL-STUDIO
- The current .NET SDK does not support targeting .NET Core 6.0. Brand new WPF Project VS Community 2022 17.9.5
- Dotnet Run is not working but the application is running in Visual Studio
- Is there a way to support Tailwind @apply in Visual Studio?
- How can I eliminate compile warnings using ZLib in Visual Studio
- C++(or Visual Studio) saving the file will not preserve the original file contents
- VS Community 2022 cannot install dotnet-ef when i try to publish
- Visual Studio 2022 convert spaces to tabs on checkout and back to spaces on checkin
- What should I do if Visual Studio has a restriction on creating files with a long name or a long path to these files?
- Command line error D8036 - not allowed with multiple source files with node-gyp and VS2022
- Migrate Old VS 2015 .suo file to the New VS 2022 DocumentLayout.json
- How to make one executable visual studio, that users can run?
- Use tabs instead of spaces in .csproj file in Visual Studio 2022
- Unity - scrollview/dragging breaks after specific scene inactivity
- How to make Visual Studio 2022 project launch Windows Terminal instead of PowerShell?
- Why is 'EDITBIN /STACK:2097152 w3wp.exe' cmd is giving me an LNK1342 error?
Related Questions in VSIX
- Is it possible to refresh filters instead of reloading project
- "Visual Studio stopped responding for 12 seconds,uninstalling extension might help" getting this message on installing VSIX and on opening the project
- How to Format xml based files (csproject) in vsix?
- How to add console when debugging VSIX project
- VSIX Show ContextMenu after Multi-File Selection in Two or More Projects
- In VSIX, reading Configuration Properties of CSPROJ throws COMException (method or operation not implemented)
- Reclassify text in span as different IClassifierProvider
- How to add a File in vstemplate in a back folder?
- How do you set the connection for the activewindow (EnvDTE.Window) in a VSIX extension?
- Error in displaying the Extension in SSMS created in Visual Studio (VSIX project) when right clicking any tables
- How to get the top/bottom line numbers of MSVC pane
- How to add file type validation , when trying to add existing item in solution explorer of visual studio experimental instance?
- How to display two custom tool windows in a same place as tabbed format
- How to suppress, VS detects EXE is not in synch with Custom File so give Stop Debugging error box during Edit& Continue
- How to dock a tool window when it open for the first time in vsix?
Related Questions in VSIP
- How do I get access to existing icons from other components from a VS package?
- How can you tell if a Visual Studio command was triggered by keyboard or menu?
- Programmatically open a Remote url in Visual Studio
- Customising project debugging in Visual Studio project flavor
- Adding a TestSettings file to SolutionItems in VisualStudio
- How to Extending vs2010 editor context menu for .js file?
- VSPackage fails PLK verification on clean machine, but passes on Dev machine when /noVSIP is set
- Drag Drop Within WPF ToolWindow in VS2010 Extension Not Allowed
- Troubleshooting Plk Verification for Visual Studio Package in a VSIP Development Edition
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
It is not possible to determine from the Command itself, how it was triggered. Neither can you get this information from the CommandEvent. This is by design, because Commands can be bound to an arbitrary number of triggers of any kind (including explicit invocation in some code).
What you can do, however, is to register yourself as a listener on all CommandBarButton.OnClick and CommandBarComboBox.OnChange in the tree DTE.CommandBars.Controls. Whenever one of the above events occurs, capture the very next CommandEvent. This is the command immediately triggered by the respective CommandBarControl.
I guess this is sufficient for the scenario you describe. Note, however, that you cannot conclude from this that all other commands are triggered by some shortcut, since commands can be triggered implicitly (through other commands). You can approximate this by checking whether or not a key is pressed, when a command occurs, but this is a rather fragile approach... If someone knows a better approach here, adds are welcome!