Как правило, нет никакой математики для переменной сниппета без действительно уродливого преобразования условной замены. Тем не менее, какой-то блестящий парень нашел способ сделать простое увеличение / уменьшение на 1 (или 10 или 0,1 или кратные и их комбинации!).
См. Как увеличить переменную, например, номер строки, во фрагменте vscode , а также Найти номер и заменить + 1 . {Но, похоже, никто этого не заметил.]
В вашем случае, если вы подаете в суд на расширение макроса multi-command , введите это в свои настройки. json:
"multiCommand.commands": [
{
"command": "multiCommand.decrementHourInSnippet",
"sequence": [
{
"command": "editor.action.insertSnippet",
"args": {
"snippet": "[$CURRENT_HOUR"
}
},
"editor.emmet.action.decrementNumberByOne",
{
"command": "editor.action.insertSnippet",
"args": {
"snippet": ":$CURRENT_MINUTE]"
}
}
]
}
]
чтобы трюк emmet decrementNumberByOne
сработал, в строке не должно быть двух чисел, одно из которых вы хотите уменьшить. Вот почему ваш фактический фрагмент делится пополам, с добавлением минут после того, как произошло уменьшение.
Теперь назначьте выбранную привязку клавиш этому макросу в сочетаниях клавиш. json:
{
"key": "ctrl+shift+i",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.decrementHourInSnippet" }
}
и все работает. Демонстрация:
Конечно, как вы сказали, вам не нужно переходить от 0
к -1
, что Я предполагаю, что это будет после полуночи в течение часа.