Как активировать автоматическое завершение сопряжения c угловых скобок `<>` в Visual Studio Code? - PullRequest
0 голосов
/ 28 мая 2020

Я просто не мог понять, как активировать автоматическое соединение c угловой скобки <> в Visual Studio Code, как это существует для скобок {}, круглых () или квадратных [] скобок. Кто-нибудь знает, где в настройке я мог бы это настроить?

Ответы [ 2 ]

1 голос
/ 10 июня 2020

В vscode нет настройки, которая позволяет вам изменить то, что считается скобкой, например, добавив <>.

Существует проблема Автоматическое закрытие пар должно быть настроено , в котором обсуждается это, и вы можете sh проголосовать за него. В этом выпуске упоминается, что вы можете отредактировать файл языковой конфигурации, чтобы добавить в список свои собственные «скобки». На Windows файл конфигурации javascript языка находится по адресу:

C: \Users\Mark\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\javascript\javascript-language-configuration.json;

, как и другие языки (вы не говорите, какой язык (а) вас интересует). Javascript обычно не поддерживает сопоставление скобок для <>, но я добавил эту функцию, отредактировав файл следующим образом:

{
    "comments": {
        "lineComment": "//",
        "blockComment": [ "/*", "*/" ]
    },
    "brackets": [
        ["<", ">"],                       // added
        ["{", "}"],
        ["{", "}"],
        ["[", "]"],
        ["(", ")"]
    ],
    "autoClosingPairs": [
        { "open": "<", "close": ">" },    // added
        { "open": "{", "close": "}" },
        { "open": "[", "close": "]" },
        { "open": "(", "close": ")" },
        { "open": "'", "close": "'", "notIn": ["string", "comment"] },
        { "open": "\"", "close": "\"", "notIn": ["string"] },
        { "open": "`", "close": "`", "notIn": ["string", "comment"] },
        { "open": "/**", "close": " */", "notIn": ["string"] }
    ],
    "surroundingPairs": [
        ["<", ">"],                       // added
        ["{", "}"],
        ["[", "]"],
        ["(", ")"],
        ["'", "'"],
        ["\"", "\""],
        ["`", "`"]
    ],
    "autoCloseBefore": ";:.,=}])>` \n\t",
    "folding": {
        "markers": {
            "start": "^\\s*//\\s*#?region\\b",
            "end": "^\\s*//\\s*#?endregion\\b"
        }
    }
}

, и он работает - после перезагрузки , демо в файле javascript:

angle bracket demo

Теперь этот файл будет перезаписан при обновлении, поэтому я бы сохранил копию в другом месте с указателем на его местоположение.


Другой вариант - не такой приятный, например, без функции объемного звучания, - это создать фрагмент с префиксом < (в одном из ваших файлов фрагментов) .

"angle bracket": {
  "prefix": "<",
  "body": [
    "<>"
  ],
  "description": "complete angle bracket"
}, 

После того, как вы наберете <</kbd>, вам нужно будет нажать tab , чтобы завершить его. это тоже работает.

0 голосов
/ 10 июня 2020

Like that

если я правильно понял, это в настройках - текстовый редактор - автоматически c завершение скобок

...