Обратные кавычки в файле JavaScript не закрываются автоматически в VSCode

Когда я редактирую файл JavaScript внутри VSCode и пытаюсь использовать обратные кавычки (`), он не закрывается автоматически. Я хочу иметь ту же функцию автоматического закрытия, что и в кавычках, где, если я наберу ", я получу:

"|"

(| = мой курсор)

Я попытался отключить все свои расширения, но это не помогло. Если я попробую его внутри Atom, все будет нормально. Я использую бельгийскую раскладку клавиатуры на Mac.

Теперь удаленный ответ относился к этой исправленной ошибке, но, к сожалению для меня, набрав пробел после обратной кавычки (как описано в исправлении) просто оставляет меня с обратной кавычкой и пробелом.


person Thiebe    schedule 30.10.2018    source источник
comment
Отличное включение деталей в вопрос. Хороший!   -  person T.J. Crowder    schedule 30.10.2018
comment
Это странно, для меня обратные кавычки - это автозаполнение, я попытался запустить vs code без расширений (code . --disable-extensions), чтобы убедиться, что это не один из них, выполняющий автозаполнение, и у меня все еще есть автозаполнение. Какую версию вы используете? (справка ›о или code -v)   -  person L. Faros    schedule 30.10.2018
comment
Вы не меняли этот параметр: editor.autoClosingQuotes: languageDefined - я считаю, что это значение по умолчанию, если я изменил его, чтобы он никогда не заполнялся обратными кавычками. Но с LanguageDefined они это делают. Вы также можете попробовать всегда.   -  person Mark    schedule 31.10.2018
comment
Попробуйте ввести пробел перед обратным апострофом, в моем случае он не закрывается автоматически, если сразу следует за символом. Конечно не идеально, но при автоформатировании пространство удаляется.   -  person antoine129    schedule 20.06.2019


Ответы (1)


Я не пытался найти способ обойти это, но, по крайней мере, в моей системе (установленной на немецкий язык) описанное поведение, похоже, исходит из того факта, что по умолчанию обратная кавычка (`) является мертвой клавишей, что означает, что она не будет производить символ, пока не будет нажата следующая клавиша. Как ни странно, обратная кавычка, которую вы видите на экране, фактически создается потому что VSCode пытается автоматически завершить обратную кавычку (с другой обратной кавычкой), но начальный символ проглатывается (потому что нет такой вещи, как акцентный акцент, для чего обычно используется эта клавиша).

Если я введу пробел после обратной кавычки, он будет автоматически заполнен. Запуск VSCode 1.36.0 на MacOS.

Надеюсь, мое объяснение достаточно ясное.

person Smoerrebroed    schedule 05.07.2019