Я сомневаюсь, что вы можете сделать то, что вы хотите, за один шаг, без запуска некоторого кода.Но вы можете сделать это с помощью макроса, чтобы вы могли запускать несколько шагов одновременно.В этом примере я использую расширение макроса multi-command , но есть и другие расширения макроса.
В вашем файле settings.json:
"multiCommand.commands": [
{
"command": "multiCommand.pad--'s",
"interval": 750, // you don't need this, just for illustration
"sequence": [
{
"command": "type", // add 80 -'s'
"args": {
"text": "--------------------------------------------------------------------------------"
}
},
//select this wrapped line so the next snippet can use TM_SELECTED_TEXT
"cursorHomeSelect",
"cursorHomeSelect",
{
"command": "editor.action.insertSnippet", // trim to first 80 characters
"args": {
"snippet": "${TM_SELECTED_TEXT/(.{80}).*/$1/g}",
}
}
]
}
],
Изатем, какую бы привязку клавиш вы ни выбрали в keybindings.json
{
"key": "ctrl+alt+-",
"command": "multiCommand.pad--'s",
},
В демоверсии ниже я оставил interval
только для того, чтобы вы могли видеть шаги, но вы можете это закомментировать.Кроме того, мой vscode настроен на перенос 80 символов.
Основная идея состоит в том, чтобы добавить слишком много дефисов - 80 - и затем выделить всю перенесенную строку и оставить только первые 80 символов, таким образом обрезая конечные дефисыдля заполнения до 80 символов в строке.