К сожалению, это кажется трудным сделать с простым фрагментом.Новый фрагмент будет вставлен там, где находится курсор - и в соответствии с вашим сценарием, который будет находиться в выбранной вами переменной, - а затем остальная часть первой строки останется там после фрагмента.
Это относительно легко сделатьс расширением макроса, которое позволяет вам выполнять несколько команд, например multi-command или другое.
После установки расширения в ваших настройках:
"multiCommand.commands": [
{
"command": "multiCommand.printVariable",
"sequence": [
"editor.action.clipboardCopyAction",
"editor.action.insertLineAfter",
{
"command": "type",
"args": {
"text": "print("
}
},
"editor.action.clipboardPasteAction",
{
"command": "type",
"args": {
"text": ")"
}
},
]
}
},
изатем настройте связывание клавиш в keybindings.json:
{
"key": "alt+q",
"command": "multiCommand.printVariable",
// use the following if you wish to limit the command to python files
"when": "resourceExtname == .py"
}
Как показывает демонстрационный рисунок, выделенный текст может находиться в любом месте строки иесли в строке, расположенной непосредственно под строкой, имеется код, то print()
будет вставлен в том месте, где вы ожидаете.
Внимание! Это позволит сохранить выбранную переменную в буфере обмена, чтобы она была перезаписана.