---
type: JS Module
title: vscode-ext-add.mjs
resource: npm/scripts/lib/fix/vscode-ext-add.mjs
docgen:
  crc: 8b3e27a9
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
  issues: judge:inaccurate:0.98
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Цей механізм автоматично ідентифікує та доповнює конфігураційні файли розширень VS Code, корегуючи їх відповідно до вимог, заданих у правилах `vscode_extensions.rego`. Публічна функція `patterns` виконує перехоплення помилок (fail-safe), не генеруючи винятків. Механізм є універсальним для будь-яких правил, що вимагають наявності певної назви розширення у списку рекомендацій, і працює з конфігом `extensions.json`. Він витягує назви розширень із повідомлення про порушення та додає їх у список `recommendations` у `.vscode/extensions.json` при його наявності, без використання кешування.

## Поведінка

1. Ініціалізується набір правил `patterns` для автоматичного виправлення помилок, пов'язаних з конфігурацією розширень VS Code.
2. Кожне правило в `patterns` перевіряє, чи виявлено повідомлення про порушення, що містить вимогу щодо включення назви розширення.
3. Якщо порушення виявлено, система шукає назви розширень у повідомленні про порушення.
4. Перевіряється існування файлу `.vscode/extensions.json` у поточному каталозі.
5. Зчитується вміст файлу `.vscode/extensions.json` і парситься як JSON.
6. Якщо парсинг не вдається або файл відсутній, дія вважається невдалою.
7. Визначається список вже присутніх рекомендацій у файлі.
8. Формується список нових назв розширень, які необхідно додати, відфільтровуючи ті, що вже присутні.
9. Якщо нові розширення є, їх додають до списку `recommendations` у файлі `.vscode/extensions.json`.
10. Оновлений вміст файлу `.vscode/extensions.json` записується назад.
11. Результат операції фіксується відповідним повідомленням.

## Гарантії поведінки

- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
