Расширения VSCode «GLSL Lint» и «glsl linter» не находят ошибки в коде .frag, даже если есть проблемы

Я новичок в кодировании и даже новичок в коде шейдеров. Я создал файл test.frag, чтобы проверить, правильно ли работает моя установка. У меня работают фрагменты кода, но линтинг, похоже, не работает.

Код с ошибками, где ошибки не обнаружены

#ifdef GL_ES
precision mediump float;
#endif

void main(){
    gl_FragColor = vec4(1.0 0.3, 0.9, 1.0)
    
}

Здесь ошибками являются пропущенный символ ; в конце строки и отсутствующий символ , запятая для разделения аргументов vec4. Хотя линтеры почему-то ошибок не находят.

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

settings.json glsl проверяет пути валидатора

"glsl-linter.validatorPath": "D:\\D_Programfiles\\Bonus VSCode stuff\\glslang-master\\bin\\glslangValidator.exe",

"glsllint.glslangValidatorPath":"D:\\D_Programfiles\\Bonus VSCode stuff\\glslang-master\\bin\\glslangValidator.exe",

это потому, что я выбрал отдельный диск? Может быть пробелы в названиях папок? Я не знаю, но расширения не сообщают об ошибках? Я также использую расширениеshadertoy для отображения шейдера.

Согласно этому видеоуроку линтер должен уметь находить ошибку в коде.

Я попробовал удалить и переустановить VSCode, но это не помогло. Я также пробовал запускать линтеры как по отдельности, так и вместе, ни один из них не помог. Я также просмотрел некоторые сообщения stackoverflow и reddit, но не смог найти ни этой конкретной ошибки (не ошибки?), ни чего-либо о ней.

Я пробовал удалить все файлы и папки, кроме папки, в которой я работаю, и файла test.frag. Изображение файла test.frag

Я не пытался настроить ни один линтер, кроме установки пути проверки.

Вы сохранили файл? У меня все работает нормально, но мне нужно сохранить, чтобы обновить ошибки. Кроме того, расширение под названием WebGL GLSL Editor содержит компилятор, поэтому вам не нужно указывать путь к компилятору (он обновляется в зависимости от типа).

racz16 01.05.2024 03:23

Ох, похоже, сохранение не всегда помогает найти ошибки (хотя часто бывает, просто я до сих пор не пробовал), но закрытие и повторное открытие файла помогает. Что касается редактора WebGL GLSL, я нашел его гораздо более полезным, чем другие линтеры, поэтому я удалил их и переключился на него, полностью решив проблему. Спасибо за ваш комментарий!

user24712097 16.05.2024 19:29
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
94
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Переход на другой линтер решил проблему.

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

Переключение на расширение WebGL GLSL Editor решает проблему и обеспечивает обратную связь об ошибках в реальном времени, а также не требует установки пути проверки.

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