Перехватить действие вставки Visual Studio - PullRequest
1 голос
/ 02 января 2011

Можно ли перехватить событие вставки в Visual Studio для преобразования вставляемого текста? Я знаю, что могу написать собственную команду для выполнения умной вставки, но для большинства людей непросто сопоставить эту команду с сочетанием клавиш. Кроме того, большинство людей привыкли к Ctrl + V. Есть ли шанс, что я могу подключить свои товары там?

Ответы [ 2 ]

6 голосов
/ 02 января 2011

Это команда, и вы можете обработать ее, добавив фильтр команд в расширение и обработав команду до того, как реализация обработки команд редактора увидит ее.

Вот шаблон обработчика команды ,Я полагаю, что идентификатор команды вставки равен VSConstants.VSStd2KCmdID.PASTE (с использованием VSConstants.VSStd2K для команды группы).

Обратите внимание, однако, что вставка может быть намного сложнее, чем кажется, если принять во внимание такие вещи, каквставка скопированного содержимого, вставка в многострочное выделение, пустое выделение вырезать / копировать и вставить, а также форматирование языковой службы после вставки.Итак, если вы пытаетесь сделать это с расширением, которое хотите опубликовать, оно может оказаться сложнее, чем вы ожидаете: - /

2 голосов
/ 02 января 2011

Это должно быть возможно, потому что CodeRush делает это.Ознакомьтесь с CodeRush xPress и DXCore от DevExpress (http://www.devexpress.com/), они оба бесплатны, а DXCore дает вам несколько простых способов подключиться к таким вещам.

...