Другое

Полное руководство по скрытию файлов в VS Code

Узнайте, как скрыть определенные файлы и каталоги, такие как .git и .meta, в боковой панели Visual Studio Code с помощью настройки files.exclude. Полное руководство с методами через графический интерфейс и JSON.

Как я могу скрыть определенные файлы и каталоги (например, .git, .meta) в боковой панели проводника файлов Visual Studio Code?

Как скрыть определенные файлы и каталоги в боковой панели проводника Visual Studio Code

Чтобы скрыть определенные файлы и каталоги в боковой панели проводника Visual Studio Code, вам нужно настроить параметр files.exclude в файле settings.json, который использует glob-шаблоны для определения того, что следует скрыть из вида. Это можно сделать либо через графический интерфейс настроек, либо напрямую редактируя файл конфигурации JSON, и шаблоны будут применяться рекурсивно во всей структуре вашего проекта.

Содержание

Базовый метод: Использование графического интерфейса настроек

Самый простой способ скрыть файлы и каталоги — через графический интерфейс настроек Visual Studio Code. Согласно официальной документации, вы можете получить доступ к этим настройкам через:

  1. Откройте палитру команд с помощью Ctrl+Shift+P (Windows/Linux) или Cmd+Shift+P (Mac)
  2. Введите “Preferences: Open Settings (UI)” и выберите его
  3. В строке поиска вверху введите “files exclude”
  4. Нажмите “Add Pattern” рядом с настройкой “Files: Exclude”
  5. Введите шаблон для файла или папки, который вы хотите скрыть (например, .git, .meta)

Этот метод идеален для начинающих, так как он обеспечивает визуальную обратную связь и проверку ваших шаблонов при их добавлении.

Расширенный метод: Прямое редактирование settings.json

Для более сложных конфигураций или точного управления рекомендуется напрямую редактировать файл settings.json. Как объясняет Стив Кинни, параметр files.exclude — это объект, который использует шаблоны в качестве ключей и булевы значения в качестве индикаторов:

json
{
  "files.exclude": {
    ".git": true,
    ".meta": true,
    "node_modules/": true,
    "dist/": true,
    "*.pyc": true,
    "**/__pycache__/": true
  }
}

Чтобы получить доступ к вашему файлу settings.json:

  • Пользовательские настройки: Ctrl+Shift+P → “Preferences: Open User Settings (JSON)”
  • Настройки рабочего пространства: Ctrl+Shift+P → “Preferences: Open Workspace Settings (JSON)”

Настройки рабочего пространства хранятся в .vscode/settings.json в каталоге вашего проекта и будут доступны для совместного использования с командой, если они будут переданы в систему контроля версий.

Синтаксис шаблонов и примеры

Параметр files.exclude поддерживает glob-шаблоны со специфическими правилами синтаксиса. Из примеров на Stack Overflow, вот распространенные форматы шаблонов:

Шаблон Описание Пример
filename Скрыть конкретный файл ".git"
folder/ Скрыть конкретную папку "node_modules/"
*.ext Скрыть файлы с расширением "*.pyc"
**/folder/ Рекурсивно скрыть папку "**/dist/"
**/*.ext Рекурсивно скрыть файлы по расширению "**/*.log"
**/file Рекурсивно скрыть файл "**/config.js"

Распространенные шаблоны, которые используют разработчики:

json
{
  "files.exclude": {
    ".git": true,
    ".svn": true,
    ".hg": true,
    ".meta": true,
    "node_modules/": true,
    "dist/": true,
    "build/": true,
    "*.pyc": true,
    "**/__pycache__/": true,
    ".DS_Store": true,
    "Thumbs.db": true
  }
}

Синтаксис ** особенно мощный, так как он рекурсивно соответствует каталогам, включая все подкаталоги. Например, "**/node_modules" исключит папки node_modules из любого уровня вложенности в структуре вашего проекта.

Настройки рабочего пространства vs пользовательские настройки

Понимание различий между настройками рабочего пространства и пользовательскими настройками важно для эффективного исключения файлов:

Пользовательские настройки:

  • Применяются ко всем экземплярам VS Code на вашем компьютере
  • Расположены в %APPDATA%\Code\User\settings.json (Windows) или ~/.config/Code/User/settings.json (Linux/Mac)
  • Используйте их для личных предпочтений, которые вы хотите использовать во всех проектах

Настройки рабочего пространства:

  • Применяются только к текущему каталогу проекта
  • Расположены в .vscode/settings.json в вашем проекте
  • Идеальны для проектно-специфичных исключений, таких как артефакты сборки или папки контроля версий
  • Могут быть переданы в систему контроля версий для совместного использования с командой

Как объясняется в документации VS Code, настройки рабочего пространства переопределяют пользовательские настройки, что делает их идеальными для проектно-специфичных конфигураций, которые не должны влиять на другие проекты.

Устранение распространенных проблем

Если ваши шаблоны исключения не работают, рассмотрите эти распространенные решения:

  1. Синтаксис шаблона: Убедитесь, что ваши шаблоны используют правильный формат. Отсутствующие прямые слэши или неправильный синтаксис glob могут помешать соответствию шаблонов.

  2. Расположение настроек: Проверьте, что вы редактируете правильный файл настроек. Шаблоны в настройках рабочего пространства не повлияют на пользовательские настройки и наоборот.

  3. Перезагрузка настроек: После внесения изменений перезагрузите VS Code с помощью Ctrl+Shift+P → “Developer: Reload Window” или перезапустите редактор.

  4. Чувствительность к регистру: Glob-шаблоны чувствительны к регистру в Linux, но не чувствительны к регистру в Windows и macOS.

  5. Специальные символы: Некоторые шаблоны могут требовать экранирования специальных символов или использования другого синтаксиса.

Согласно пользователям Stack Overflow, распространенной проблемой является наличие конфликтующих шаблонов в разных файлах настроек или шаблонов, которые слишком широкие и случайно исключают важные файлы.

Альтернатива: Исключение только из поиска

Если вы хотите сохранить файлы видимыми в боковой панели, но исключить их из результатов поиска, используйте параметр search.exclude вместо этого. Как демонстрируется в различных руководствах, этот параметр работает аналогично files.exclude, но влияет только на функциональность поиска:

json
{
  "search.exclude": {
    "/node_modules": true,
    "/dist": true,
    "/build": true
  }
}

Это полезно, когда вы хотите видеть определенные файлы в проводнике файлов, но предотвратить их засорение результатов поиска. Параметр search.exclude наследует все glob-шаблоны из files.exclude, поэтому шаблоны, определенные там, также будут автоматически исключены из поиска.


Источники

  1. Stack Overflow - Как можно скрыть указанные файлы/каталоги (например, .git) в боковой панели? (Visual Studio Code)
  2. KindaCode - VS Code: Скрыть определенные файлы/папки в левой боковой панели
  3. W3Schools.io - Как скрыть определенные файлы из боковой панели в руководствах по Visual Studio Code
  4. Bobbyhadz - VS Code: Скрыть определенные файлы/папки в левой боковой панели
  5. Документация VS Code - Пользовательские и настройки рабочего пространства
  6. Stack Overflow - Как исключить папку из вкладки “Обзор”?
  7. Steve Kinney - Редактирование настроек через JSON | Visual Studio Code
  8. Bobbyhadz - Как исключить папки из поиска в Visual Studio Code
  9. Tim Taurit - Исключить файлы из поиска в VS Code… и поделиться этим с командой!

Заключение

Скрытие определенных файлов и каталогов в боковой панели Visual Studio Code является простым процессом с использованием параметра files.exclude, который поддерживает мощные glob-шаблоны для рекурсивного сопоставления файлов. Вы можете настроить эти исключения либо через графический интерфейс настроек для простоты, либо напрямую редактируя файл settings.json для более сложных конфигураций. Помните, что настройки рабочего пространства (хранящиеся в .vscode/settings.json) являются проектно-специфичными и идеальны для совместного использования с вашей командой, в то время как пользовательские настройки применяются глобально ко всем экземплярам VS Code. Для оптимальной работы рассмотрите возможность использования как files.exclude для скрытия файлов в проводнике, так и search.exclude для поддержания чистоты результатов поиска без влияния на видимость вашего файлового представления.

Авторы
Проверено модерацией
Модерация