#visual-studio-code #vscode-extensions
#visual-studio-code #vscode-расширения
Вопрос:
Я пишу плагин vscode для одновременного закомментирования и дублирования строки. Ключевая последовательность действий в плагине (по модулю нескольких выборок и т. Д.) Следующая:
vscode.commands.executeCommand("editor.action.commentLine");
vscode.commands.executeCommand("editor.action.copyLinesDownAction");
vscode.commands.executeCommand("editor.action.commentLine");
Так что это нормально, и это работает. Единственная проблема: история отмены / повтора рассматривает все эти команды как отдельные операции… итак, я делаю все это одним нажатием клавиши, но если я хочу отменить, мне нужно нажать Cmd Z 3 раза, что сбивает с толку.
Как я инструктирую VSCode обрабатывать последовательность команд как единый «блок» в истории отмены / повтора?
Комментарии:
1.при использовании a
TextEditorEdit
editor.edit()
вы можете пометить операцию, чтобы сохранить точку отмены. Запрограммируйте действие самостоятельно и установите только один вызов с точкой отмены2. @rioV8 Вы хотите сказать, что мне нужно заменить вызовы на
executeCommand
мои собственные реализации? Не могли бы вы привести пример?3. если вы сами пишете эту модификацию, вам нужен только один
editor.edit()
вызов4. Хорошо, я понятия не имею, как я мог бы реализовать что-то столь сложное
editor.action.commentLine
, поэтому, если вы предлагаете мне повторно реализовать это самостоятельно, я думаю, я ухожу…