Раскрашивание в VS Code — приоритет правил

В проводнике VS Code я хочу, чтобы файлы gitignored были серыми.

Мне удалось добавить "gitDecoration.ignoredResourceForeground":"#CCCCCC", однако теперь у меня есть различные файлы и папки, в которых есть другие украшения, и, похоже, explorer.decorations.colors имеет приоритет над этим. Этот механизм теперь снова уничтожает окраску игнорируемых ресурсов, так как похоже, что это правило проверяется позже.

Как я могу исправить это и применить правило gitignored независимо от того, что произойдет в противном случае?

Это для:

VSCode: Версия: 1.73.1 Релиз: 22314 Фиксация: 14f2d26367b7e8f03ff2352516ba27d6302dd7b1 Дата: 2022-11-10T18:37:51.314Z (2 недели назад) Электрон: 19.0.17 Хром: 102.0.5005.167 Node.js: 16.14.2 V8: 10.2.154.15-электрон.0 ОС: Дарвин x64 19.6.0 Песочница: Нет

MacOS: Каталина 10.15.7

Гит: 2.38.1

На скриншоте показана ситуация, когда chamaeleon/ является частью .gitignore. Все файлы выделены серым цветом, за исключением ChameleonTemplate.php, который содержит ошибку PHP, а также src, который содержит файл, содержащий ошибку, и Components, который содержит другой файл с оформлением редактора из-за проблемы с типом в PHP.

Уточнение: мой вопрос касается не только файлов, которые игнорируются git (они показывают uo правильно), а файлов, которые игнорируются git и имеют дополнительное оформление редактора (например, синтаксическую ошибку). Если эти два украшения применимы к обоим, то возникает вопрос, какое из них имеет приоритет. Вот в чем проблема.

Мой вопрос скорее не баг (как в "не работает как положено"), а концептуальный. Если у нас есть две разные причины для установки цвета переднего плана и применимы обе причины, какой цвет выбрать?

Обходной путь был бы, если бы мы могли установить другие атрибуты, такие как подчеркивание, зачеркивание, цвет фона или тип шрифта, а не только цвет переднего плана, потому что такие атрибуты можно комбинировать. Цвет переднего плана и цвет переднего плана нельзя комбинировать, но требуется правило приоритета.

есть ли шанс сделать снимок экрана, чтобы лучше прояснить ваш вопрос? Кроме того, кажется, что gitDecoration.ignoredResourceForeground конфигурация зависит от какого-то расширения - середине, чтобы уточнить, к какому из них он принадлежит?

ymz 29.11.2022 20:28

Добавлен скриншот.

Nobody-Knows-I-am-a-Dog 30.11.2022 12:54

Вопрос не связан с программированием. Пожалуйста, перенесите его на суперпользователя.

kometen 30.11.2022 13:41

@kometen Как мне мигрировать? Особенно со всей той активностью, которая у нас уже была здесь?

Nobody-Knows-I-am-a-Dog 30.11.2022 14:32
Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
0
4
134
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

У меня это произошло автоматически... Я думаю, вам просто нужна высококонтрастная темная цветовая тема в vscoode. Вы также можете выбрать другую цветовую тему, но это изменится. Вы также можете создать собственную цветовую тему для vscode, как это сделал я, и отредактировать цвета по своему вкусу.

Как видите, fort-bishop.exe неактивно. Я проигнорировал это в моем .gitignore.

Файлы, которые в моем случае игнорируются только git, отображаются правильно. Проблема заключается в файлах, где применяется не только gitignore, но и аннотация редактора. Ваш пример здесь не применим.

Nobody-Knows-I-am-a-Dog 30.11.2022 12:46
Ответ принят как подходящий

Возможно, вам следует предоставить дополнительную информацию, например, код VS и версию git. Я запускаю VS Code 1.73.1 и git 2.37.1 в macOS, и он работает автоматически.

Возможные решения:

  • Это может быть просто ошибка в VS Code или git. Проверьте, используете ли вы последние версии.
  • Перезапустите код VS.
  • Попробуйте снова клонировать проект.
  • Убедитесь, что ваш проект не является папкой с символической ссылкой.

Проверил все ваши 4 предложения, ни одно не решает проблему.

Nobody-Knows-I-am-a-Dog 30.11.2022 12:35

Спасибо за обновление. Теперь я вижу, в чем твоя проблема. Я не знаю, как переопределить gitDecorations вместо explorerDecorations. Насколько мне известно, сейчас я думаю, что это невозможно сделать.

Urska Krivc 30.11.2022 13:07

Кривич: Я бы даже пошел дальше: это ошибка концептуального дизайна, когда два атрибута, которые могут применяться одновременно, визуализируются в пользовательском интерфейсе с атрибутами пользовательского интерфейса, которые нельзя применять одновременно (как в случае с цветом переднего плана).

Nobody-Knows-I-am-a-Dog 30.11.2022 13:15

Наверное, суть в замечании «Я думаю, что это невозможно». Вот почему я присуждаю вознаграждение этому пользователю.

Nobody-Knows-I-am-a-Dog 30.11.2022 14:36

Наверное, вы пропустили workbench.colorCustomizations. В вашем settings.json:

"workbench.colorCustomizations": {
    "gitDecoration.ignoredResourceForeground": "#ff0000"
}

Мой JSON верхнего уровня читается именно так. Более того, как я пишу в вопросе: я вижу эффект от gitDecoration. Просто есть переопределение для тех файлов, которые имеют другое предупреждение от редактора. Так что, наверное, здесь это не применимо.

Nobody-Knows-I-am-a-Dog 30.11.2022 12:34

У меня также есть «workbench.colorTheme»: «GitHub Dark». Вероятно, colorCustomizations работают только в том случае, если colorTheme определяет их.

Alexander Farkas 30.11.2022 12:38

«explorer.decorations.colors» для меня верно, хотя я могу переопределить цвет с помощью colorCustomizations

Alexander Farkas 30.11.2022 12:42

Ваш «explorer.decorations.colors» также имеет значение true?

Alexander Farkas 30.11.2022 12:42
explorer.decorations.colors установлено значение true. Изменение его на false имеет ожидаемый эффект. Наверное, не в этом дело. В общем, цветовые настройки у меня работают. Только в данной конкретной ситуации они не работают. Я обновил вопрос, чтобы сделать это более точным.
Nobody-Knows-I-am-a-Dog 30.11.2022 12:52

Похоже на известную проблему. Тем не менее, пожалуйста, добавьте информацию о версии VSCode. Ниже приведены возможные обходные пути, которые могут помочь:

  1. Очистите кеш git, повторно добавьте файлы и повторите коммит. Повторно сохраните файлы .gitignore еще раз.
  2. Внесите фиктивные изменения в файл .gitignore и попробуйте сохранить файл.

Выполнил два предложения. Все работает так, как ожидалось. Проблема остается только для файлов, окрашенных в цвет gitignore и декоративный цвет.

Nobody-Knows-I-am-a-Dog 30.11.2022 12:54

Другие вопросы по теме