It’s more language dependent than ide. Go for instance makes unused variables a compiler error (I believe) which means ides mark it as red immediately.
Ts/js can have eslint rules against unused variables but they will still usually compile or just run directly anyway.
Java doesnt error but can be set to warn you on them.