Другой альтернативой является использование обычных фрагментов кода. Это для vscode:
"link snippet": {
"prefix": "link",
"body": [
"<url>"
"<loc>$TM_SELECTED_TEXT</loc>",
"<lastmod>2020-01-16T22:59:45+00:00</lastmod>", // if date is fixed ahead of time
// use below if date is dynamic at creation time
"<lastmod>${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}T${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}+00:00</lastmod>"
"<priority>0.80</priority>",
"</url>",
""
],
"description": "Wrap link with url, etc."
},
Тогда, поскольку вам нужно будет объединить 3 команды, чтобы упростить эту задачу, используйте расширение макроса, например multi-command . Введите это в свои настройки. json:
"multiCommand.commands": [
{
"command": "multiCommand.expandLink",
"sequence": [
"editor.action.insertCursorAtEndOfEachLineSelected",
"cursorHomeSelect",
{
"command": "editor.action.insertSnippet",
"args": {
"name": "link snippet",
}
},
]
}
]
Это вызовет фрагмент после того, как он выберет каждую из ваших строк отдельно. Для запуска самого макроса вам нужна привязка клавиш (в сочетаниях клавиш. json):
{
"key": "shift+alt+l",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.expandLink" },
},
Достаточное количество настроек, но тогда это всего лишь одна связка клавиш для запуска всего этого. Демо: