#regex #visual-studio-code #glob
#visual-studio-code
Вопрос:
Я хочу связать все файлы без расширения с форматом xml в VSCode.
Когда я делаю это ниже, он создает все файлы (даже с расширениями) в формате xml. «files.associations»: { «*»: «xml» }
Есть ли способ добиться этого?
Комментарии:
1.
{ "*.": "xml" }
?2. Это не сработает. это похоже на регулярное выражение для имени файла без расширения
3. Нет, это подстановочное выражение, которое, похоже
files.associations
, использует. В примере в документации / комментарии используются подстановочные знаки: «Настройте ассоциации файлов с языками (например"*.extension": "html"
)».
Ответ №1:
Это решение не работает для последних версий.
"files.associations": {
"[!.]*": "xml",
},
Для последних версий вам необходимо добавить правило для каждой длины файла.
В примере показано решение для файлов длиной до 30 символов.
Далеко не лучшее решение, но лучшего решения пока не найдено.
"files.associations": {
"[!.]": "xml",
"[!.][!.]": "xml",
"[!.][!.][!.]": "xml",
"[!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
"[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "xml",
}
Комментарии:
1. Это работало для меня для c Linux, включая файлы, например, при открытии
<string>
; хотя, обратите внимание, что это работало только тогда, когда я это делал"cpp"
, правильная строка языкового режима, а не"c "
, которая не работала. Спасибо.2. Обновление: на самом деле, похоже, это приводит к открытию всех файлов в любом языковом режиме… :/
3. из ваших комментариев я не понял, что нужно сделать или что работает не так, как должно
4. Подход этого ответа приведет к тому, что буквально все открытые файлы будут открываться в указанном языковом режиме, который был указан, т. Е.
"xml"
Или"cpp"
, Независимо от того, что было указано здесь.5. все файлы без расширения (без точки в полном имени) будут открываться как файлы «xml».