Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>IVOL CatalogerNew to Visual Studio Code? Get it now.
IVOL Cataloger

IVOL Cataloger

ivol

| (0) | Free
IVOL Cataloger — каталог проектов, последние активные проекты и управление папками в боковой панели VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

IVOL Cataloger

Расширение VS Code с разделом «Проекты» в левой панели. Подключите папку с проектами: дерево сохранит промежуточные группы и покажет найденные проекты, начиная с недавно изменённых.

IVOL Cataloger — локальный каталог проектов без облачного сервиса. VS Code 1.85+; интерфейс на русском языке.

Релизы и VSIX · Сообщить об ошибке · История изменений · MIT

Запуск и установка

В VS Code откройте Расширения, найдите IVOL Cataloger и нажмите Установить. Если поиск ещё не обновился, используйте точный запрос @id:ivol.ivol-project-catalog или прямую ссылку Marketplace. Карточка Open VSX предназначена для совместимых редакторов; доступность новых версий зависит от проверки площадки.

После установки откройте «Проекты» слева → + → выберите папку, в которой хранятся ваши проекты. Дерево построится автоматически.

Для разработки откройте этот проект и нажмите F5 / Fn+F5, конфигурация «Каталог проектов: запуск расширения». Компиляция и зависимости не нужны. Требуется VS Code 1.85 или новее.

Для ручной установки без магазина: Расширения → … → Установить из VSIX…. Выберите пакет расширения. После обновления уже работающего расширения может потребоваться перезапуск окна. Панель автоматически открывается при первом запуске; последующие запуски не перехватывают фокус.

Использование

  • Перетаскивание проекта (0.6.0): из дерева или последних активных на каталог дерева — реальный перенос папки с подтверждением путей. Назначение подсвечивается. Существующие файлы/папки не перезаписываются; перенос в себя, подпапку, другой проект или между дисками запрещён. Сохраните файлы и остановите процессы во всех окнах. Открытые окна остаются на старом пути: откройте проект заново из каталога. Автоматического закрытия окон нет. Настройки и активность проекта сохраняются под новым путём.

  • Плюс в заголовке «Дерево проектов» — создать каталог первого уровня (например JOB). Запрашивается только название каталога; новое окно не открывается. Пустой каталог остаётся в дереве.

  • Проект создаётся внутри каталога, а не непосредственно в подключённом корне. Для этого используйте «Новый проект» или правый клик по каталогу → «Создать тут новый проект».

  • + — подключить папку с проектами; можно подключить несколько.

  • Новый проект (синяя кнопка сверху и иконка в заголовке панели) — пошаговый выбор места: показывается только один уровень папок, нажатие заходит внутрь («Назад» — на уровень выше), «Создать здесь» или значок справа у папки — выбрать её. Можно выбрать и любую папку на диске. После ввода имени пустая папка создаётся и сразу открывается в новом окне VS Code.

  • Правый клик по папке в дереве → «Создать тут новый проект» (0.5.1) — то же самое, но сразу внутри этой папки.

  • Треугольник или название группы — раскрыть её содержимое. Кнопка «Открыть» справа появляется при наведении или клавиатурном фокусе и открывает саму папку в VS Code; дополнительной стрелки ↗ больше нет.

  • Название проекта — открыть его одним нажатием.

  • Новое окно — переключить открытие проектов дерева в новом окне; по умолчанию включено. Верхний список всегда открывает новое окно.

  • Обновить — заново просканировать каталоги.

  • Шестерёнка — открыть отдельную форму настроек: последние проекты (1–50, по умолчанию 7), интервал, исключения, добавление и отключение корней без удаления с диска.

Содержимое всех подключённых корней показывается сразу на верхнем уровне каталога. Лишних строк PO и других корней нет даже после добавления второй папки. Вложенные группы сохраняются. Для одинаковых названий полный путь виден при наведении. Подключайте папки-контейнеры проектов: сам корень намеренно не отображается.

Названия и видимость (0.4.9)

  • ✎ у строки — изменить название только в каталоге. Пустое поле возвращает исходное имя; путь и файлы не меняются.
  • + у папки/проекта — меню: создать новую подпапку на диске или (у группы) добавить ранее пропущенные подпапки, включая пустые. Нажатие «Добавить» сохраняет расширенный режим выбранной группы; повторное нажатие пересканирует каталог. Исключения и запрет обхода симлинков сохраняются.
  • + в заголовке «Дерево проектов» — создать каталог первого уровня внутри подключённого корня (при нескольких корнях — сначала выбрать нужный). Подключение существующего корня — отдельная верхняя кнопка. Пустые созданные папки сохраняются после обновления. Совпадающее имя не перезаписывается; файлы-шаблоны не создаются, окно проекта автоматически не открывается.
  • Пустые папки имеют метку «Пустая», другие добавленные заготовки — «Папка». Заготовки попадают в недавние после открытия, а не просто после обнаружения.
  • ⊘ рядом с карандашом — скрыть строку; скрытие группы убирает всю ветку, в том числе из недавних. На диске ничего не удаляется.
  • Шестерёнка → Скрыть / вернуть папки — отметить несколько папок галочками или снять отметки для восстановления. Скрытие имеет приоритет над добавлением пропущенных папок.

Предпочтения сохраняются в глобальном состоянии расширения в профиле VS Code. Старая настройка предпочтений читается для совместимости. Обычное обновление не сбрасывает сохранённые данные.

Последние проекты и активность

Панель содержит два постоянно открытых визуальных блока: «Последние активные проекты» и «Дерево проектов». Верхний показывает до 7 уникальных проектов без групп, включая проекты без истории открытий. Текущий проект окна закреплён первым; остальные сортируются по максимуму времени открытия, сохранения и изменения файлов. Лимит меняется через шестерёнку; история сохраняется после перезапуска. В списке остаются только найденные проекты из подключённых корней.

В версии 0.4.7 строки остаются компактными, высотой 27 px: название, количество проектов у группы, метка «Активный» и дата расположены в одну строку. Длинное название сокращается многоточием, полный путь доступен при наведении. Дата показана как ДД.ММ.ГГ, полный год и время — в подсказке; отсутствие даты обозначается тире. Текущий проект выделен контрастным фоном, цветной полосой и меткой в обоих блоках независимо от фокуса. Каждый уровень дерева сдвинут на 16 px и связан направляющими; у конечных проектов сохраняется место под треугольник, чтобы названия не съезжали влево.

При новом открытии панели раскрывается только цепочка предков активного проекта окна; все остальные ветки свёрнуты. Старые сохранённые раскрытия не восстанавливаются. Если данные ещё загружаются, панель ждёт появления активного пути; если после загрузки активного проекта нет, всё остаётся свёрнутым. Затем папки можно раскрывать и сворачивать вручную: фоновые обновления не меняют этот выбор. При реальной смене активного проекта ручные раскрытия сбрасываются и раскрывается только новый путь. В multi-root переход фокуса на панель не меняет активную рабочую папку на первую; локальные пути приводятся к реальному пути на диске. Клик по чужому проекту не делает его активным в исходном окне.

Для доступности используются вложенные списки и кнопки раскрытия с состоянием: Tab/Shift+Tab перемещают фокус, Enter/Space активируют кнопку. Это disclosure-интерфейс, а не ARIA treeview с обязательной навигацией стрелками. Ориентиры: VS Code Views UX, WAI-ARIA Tree View, WAI-ARIA Disclosure.

Открытие через каталог и сохранение файла сразу поднимают проект и его группы на своих уровнях. При запуске окна учитываются открытые рабочие папки и активный файл. Для вложенных проектов файл относится к ближайшему проекту. Активность из другого окна подтягивается примерно за 2 секунды; в нём также должна быть загружена новая версия расширения. Несохранённый набор текста сам по себе не меняет порядок.

История хранится локально в служебном хранилище расширения: у каждого запуска окна собственный атомарно записываемый файл. Окна объединяют максимальные даты без перезаписи чужих событий. Автоматическая очистка старых файлов истории пока не реализована.

Корни и режим открытия сохраняются. Панель использует собственные кнопки: общая настройка Workbench › List: Open Mode не меняет открытие одним нажатием.

Какие папки считаются проектами

С версии 0.4.8 по умолчанию достаточно признаков IDE/Git, файлов сборки или исходников непосредственно в папке. Учитываются настройки VS Code, JetBrains, Fleet, Zed, Eclipse, проекты Sublime/.NET/Xcode; package.json, composer.json, Gradle (в том числе settings.gradle.kts), Cargo, Go, Python и другие конфигурации; исходники JavaScript/TypeScript, PHP, Python, Java/Kotlin, Dart, Swift, Go, Rust, C/C++, C#, Ruby, Vue, Svelte и HTML.

Также учитывается вложенная папка android, если в ней есть файл settings.gradle/build.gradle (включая .kts) и папка app. В таком случае проектом становится родительская папка: например, PLANSHET, а не её android/app. GAME определяется по исходникам в корне. Произвольная непустая папка, только изображения/документы или пустая папка проектом не считаются; группы продолжают содержать найденные проекты.

Detect Build Files включён по умолчанию. Его отключение возвращает строгий режим IDE/Git. Если ранее явно установили значение false, оно сохраняется — включите настройку для нового распознавания. Расширенный режим может включать скачанные шаблоны и библиотеки, а не только ваши рабочие проекты.

Подключённый корень всегда считается контейнером. При обнаружении проекта поиск новых проектов внутри него прекращается: модули, пакеты и примеры не раздувают счётчик. Вложенные исходники по-прежнему учитываются в дате. Для отдельного просмотра вложенных проектов можно подключить их родительскую папку дополнительным корнем.

Распознавание эвристическое: даже скачанный шаблон с настройками IDE может попасть в список. Ненужные папки исключайте по имени. Никакого чтения содержимого файлов нет.

Сортировка и обновление

Порядок учитывает максимум из времени открытия/сохранения проекта и времени изменения его файлов, включая вложенные каталоги. Группы поднимаются по самой свежей активности внутри. На каждом уровне свежие элементы стоят выше, при одинаковой дате — по имени; текущий проект закреплён первым в верхнем списке. Рядом показана именно дата изменения файлов, а не открытия проекта; полное время видно при наведении на дату. Будущие даты файлов из-за неверных часов могут оказаться выше текущей активности.

Файловая часть даты — время существующих файлов, не история удалений: удаление последнего свежего файла может уменьшить её. Записанное время открытия/сохранения при этом остаётся. Проект без файлов и без истории активности показывается без даты. Даты настроек IDE, зависимостей, сборок и исключённых файлов не учитываются сканером.

Обход асинхронный, с максимум 32 параллельными запросами метаданных. Последнее дерево хранится в памяти; во время следующего сканирования оно остаётся доступным. При видимой панели повторный обход выполняется примерно раз в минуту. При скрытой панели периодический обход не запускается. Начальный и ручной обход выполняются независимо от видимости.

Состояния загрузки (0.4.6)

При открытии другого проекта или нового окна подключённая папка не считается пустой до окончания сканирования: панель показывает «Папка подключена. Загружаем проекты…» с вращающимся индикатором. Для нескольких корней — «Папки подключены». Без корней предлагается подключить папку. Только после успешного поиска без результатов появляется «В подключённой папке проекты не найдены» (или «В подключённых папках…»).

При повторном сканировании дерево и последние проекты остаются доступны, над ними появляется компактное «Обновляем…». Ошибки доступа и незавершённый из-за лимита поиск показываются отдельно, а не как отсутствие проектов; подробная диагностика остаётся в журнале. Статус доступен скринридерам, списки отмечаются занятыми во время загрузки; при системном предпочтении уменьшенного движения индикатор не вращается.

Исключения и настройки

В настройках VS Code найдите Каталог проектов:

  • Excluded Directories — точные имена исключаемых папок на любой глубине, без учёта регистра; не шаблоны. По умолчанию исключены «ключи», keys, secrets, credentials, каталоги SSH/GPG, зависимости, кэш, история редактора, сборки и журналы. Добавьте сюда свои нестандартные названия папок с ключами. Исключения не определяют секреты по содержимому.
  • Refresh Seconds — интервал обновления, по умолчанию 60 секунд; 0 отключает периодический обход.
  • Max Scan Entries — бюджет поиска проектов вне уже найденных проектов: 200 000 элементов, глубина 40. При превышении неполный поиск отмечается в журнале «Каталог проектов».
  • Max Project Entries — отдельный бюджет проверки даты каждого проекта: 10 000 элементов, глубина 80. Большой проект не мешает находить остальные; число проектов с приблизительной датой выводится в журнал. Открытия и сохранения учитываются независимо от этого бюджета.
  • Detect Build Files — распознавание по исходникам, конфигурациям сборки и вложенному Android, включено по умолчанию. Отключение оставляет только IDE/Git.

Содержимое файлов никогда не читается сканером: используются имена и время изменения. Исключённые каталоги не обходятся. Символические ссылки пропускаются, чтобы не уходить за пределы дерева или по кругу. Файлы окружения, ключей/сертификатов, журналы, пакеты расширения и файл учёта задачи не влияют на сортировку. Каталоги IDE распознаются как маркеры, но внутрь них обход не заходит.

Подключённый корень сохраняется в форме настроек даже если пуст, исключён или недоступен, чтобы его можно было отключить. Подробная диагностика сканирования выводится в журнал «Каталог проектов»; в панели показываются только загрузка и понятные предупреждения, без технических счётчиков. Поддерживаются только локальные папки. Настройки корней из другого уже открытого окна могут потребовать его перезапуска.

Сборка

Действие check в NPM Scripts проверяет синтаксис пяти модулей расширения и клиентского скрипта панели. package загружает упаковщик из npm; рекомендуется Node.js 22 или новее. История редактора и файл задач исключены из пакета.

Ограничения переноса и приватность

  • Перетаскивание перемещает настоящую папку на диске. Перед подтверждением сохраните файлы и остановите процессы во всех окнах; сделайте резервную копию важных проектов.
  • Окна редактора не закрываются и не перенастраиваются автоматически. После переноса откройте проект по новому пути.
  • История задач, checkpoints и настройки сторонних расширений (включая IVOL Code Agent 5) не мигрируют. Их привязка к старому пути может сохраниться.
  • Сканер использует имена и метаданные файлов, не отправляет каталог во внешний сервис. История активности и абсолютные пути хранятся локально в профиле VS Code.
  • Проверки синтаксиса не заменяют ручную проверку интерфейса. Основная проверенная среда — macOS; поведение на других ОС требует пользовательской проверки.
  • Нейросеть и поиск не реализованы. Изменение названия в каталоге — только отображаемое имя, не переименование папки на диске.

Разработка и публикация

Инструкции для сопровождающего: RELEASING.md. Для сообщений об ошибках укажите версию VS Code и расширения, ОС, шаги воспроизведения и ожидаемое поведение. Не прикладывайте секреты и личные пути без необходимости.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft