| 1 | # Иконки дерева решения (Assets/Icons) |
| 2 | |
| 3 | В дереве решения используются SVG-иконки из каталога **Assets/Icons**: |
| 4 | |
| 5 | - **solution**, **project**, **folder**, **file** — узлы дерева (решение, проект, папка, общий файл). |
| 6 | - По расширению файла: **cs**, **ts**, **json**, **md**, **xml**, **html**, **css**, **js**, **yaml**, **yml**, **py**, **go**, **rs**, **scss**, **less**, **ps1**, **sh**, **bat**, **sql** и др. — имя файла иконки совпадает с расширением (например `cs.svg`, `ts.svg`). |
| 7 | |
| 8 | Если для расширения нет файла (например `rs.svg`), показывается общая иконка **file.svg**. |
| 9 | |
| 10 | ## Текущие иконки по расширениям |
| 11 | |
| 12 | В **Assets/Icons** уже добавлены SVG из набора **vivid** пакета file-icon-vectors для расширений: **cs**, **ts**, **json**, **md**, **xml**, **html**, **css**, **js**, **yaml**, **py**, **go**, **sql**, **ps1**, **sh**, **bat**, **scss**, **less**. Источник: [dmhendricks/file-icon-vectors](https://github.com/dmhendricks/file-icon-vectors) (лицензия MIT / атрибуция по README). |
| 13 | |
| 14 | ## Рекомендуемый пак: file-icon-vectors |
| 15 | |
| 16 | **[dmhendricks/file-icon-vectors](https://github.com/dmhendricks/file-icon-vectors)** — свободный набор SVG по расширениям (MIT, с атрибуцией для части иконок). Около 1170 иконок, имена файлов = расширение: `cs.svg`, `ts.svg`, `json.svg` и т.д. |
| 17 | |
| 18 | ### Как подключить |
| 19 | |
| 20 | 1. Клонировать или скачать репозиторий, перейти в **dist/icons/vivid** (или **classic**, **square-o**). |
| 21 | 2. Скопировать нужные `.svg` в **Assets/Icons** проекта CascadeIDE. |
| 22 | |
| 23 | Расширения, которые поддерживает редактор (подсветка синтаксиса) и для которых в file-icon-vectors есть иконки в наборе vivid: |
| 24 | |
| 25 | | Расширение | Файл иконки | Язык (редактор) | |
| 26 | |------------|-------------|-----------------| |
| 27 | | cs | cs.svg | C# | |
| 28 | | ts, mts, cts | ts.svg | TypeScript | |
| 29 | | js, cjs, mjs | js.svg | JavaScript | |
| 30 | | json | json.svg | JSON | |
| 31 | | md, markdown | md.svg | Markdown | |
| 32 | | html, htm | html.svg | HTML | |
| 33 | | css | css.svg | CSS | |
| 34 | | scss | scss.svg | SCSS | |
| 35 | | less | less.svg | Less | |
| 36 | | xml, config, props, targets, axaml, xaml, csproj | xml.svg | XML / XAML | |
| 37 | | yaml, yml | yaml.svg или yml.svg | YAML | |
| 38 | | py | py.svg | Python | |
| 39 | | go | go.svg | Go | |
| 40 | | rs | (в vivid может не быть — использовать file.svg) | Rust | |
| 41 | | sql | sql.svg | SQL | |
| 42 | | ps1, psd1, psm1 | ps1.svg | PowerShell | |
| 43 | | sh | sh.svg | Bash | |
| 44 | | bat | bat.svg | Batch | |
| 45 | |
| 46 | ### Другие наборы |
| 47 | |
| 48 | - **[file-icons/icons](https://github.com/file-icons/icons)** (ISC) — иконки по имени языка/технологии (C#.svg, TypeScript.svg); для маппинга расширение→имя файла нужна своя таблица. |
| 49 | - **vscode-icons** — расширение VS Code с SVG; можно брать отдельные иконки (лицензия MIT). |
| 50 | |
| 51 | Текущий конвертер ожидает имя файла = расширение (`cs.svg`, `ts.svg`), поэтому без доработок удобнее всего **file-icon-vectors**. |
| 52 | |