Есть несколько способов сделать это в Visual Studio.Вот несколько доступных крючков.
IOleCommandTarget
: нажатия клавиш в Visual Studio в конечном итоге представляются в виде команд и передаются по этой цепочке KeyProcessor
: для прямого ввода с клавиатуры WPF вы можете создать MEF *Компонент 1008 * и пусть созданный KeyProcessor
обрабатывает ввод ITextBuffer::Changed
: непосредственно прослушивает изменения в базовом буфере для интерпретации ввода.
Каждый из них довольно сложен, и добавление полной выборки для них в вопросе SO просто нецелесообразно.Но просто введя их имена в Google, вы должны указать правильное направление.
Обратите внимание, что ввод с клавиатуры в Visual Studio - очень сложный процесс.Он имеет дело с сообщениями Windows, старыми командами Visual Studio, WPF, перехватчиками MEF, переводом акселераторов и т. Д. Это очень грязно, и попытка справиться со всем вводом в любой заданной точке чревата проблемами.Я приложил все усилия, чтобы документировать текущее состояние ввода с клавиатуры в Visual Studio, работая над плагином, и вы можете найти его здесь
Это вряд липолное понимание, хотя.