Одна вещь, которую вы можете сделать, это установить языковой режим по умолчанию для новых файлов:
"files.defaultLanguage": "javascriptreact",
В противном случае есть хакерский способ, который работает хорошо. Вам понадобится расширение макроса, например multiCommand .
Вот ваш макрос, который идет в ваших настройках:
{
"command": "multiCommand.languageMode",
"sequence": [
// make a new untitled file - you may or may not want this
"workbench.action.files.newUntitledFile",
{
"command": "editor.action.insertSnippet",
"args": {
"name": "new React Pure"
}
},
"workbench.action.editor.changeLanguageMode",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.quickOpenNavigateNext",
"workbench.action.acceptSelectedQuickOpenItem"
]
},
Есть 27 quickOpenNavigateNext
в зависимости от того, как далеко вниз на панели быстрого выбора языкового режима мне нужно прокрутить, чтобы добраться до javascriptreact
. Ваш пробег может отличаться, если вы добавили языковые режимы по умолчанию.
Сначала этот макрос вставляет фрагмент "new React Pure"
из вашего вопроса.
Затем привяжите этот макрос к какому-нибудь брелоку и запустите его. Он создаст новый файл без названия, установит его языковой режим на "javascriptreact"
и введет готовый к редактированию фрагмент реагирования.
{
"key": "ctrl+shift+/",
"command": "multiCommand.languageMode",
},
Это немного болезненно, но я не знаю, как программно обеспечить ввод данных на панель быстрого выбора.
Но я полагаю, что расширение - это действительно путь. Вот этот API, который будет полезен:
openTextDocument({ language: 'javascriptreact' })
но эта команда, я не верю, может быть вызвана без использования расширения.