JetBrains IDEs are well known for their ability to understand code. They can track declarations, check references and types, and collect possible execution paths. Thanks to all this static analysis, you are able to rename and move things around safely, get appropriate code completion, and get warned with a message saying “hey, this won't run” from the code inspection if you are adding something that won’t work into your code.
Having all this while you are working in the editor is extremely helpful, but modern CI-centric workflows require having a reliable quality gate in your build pipeline.