• CeeBee_Eh@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      8 hours ago

      Ok, seriously question. How does one go from using a full featured IDE like Jetbrains’ stuff to something like neovim? Every time I’ve tried I’ve lost patience. I do use vim itself all the time (it might even be multiple times each hour). But I can’t seem to bridge that gap to do full development in it.

      For context, my day job involves working on a fairly large C#/Angular codebase that extremely messy, poorly laid out, and in constant need of fixing.

      My side project is a somewhat small, but rapidly growing, rust application.

      • AbsolutePain@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        4 hours ago

        Writing the code itself is very similar to using an IDE: with very little config effort, you have stuff like autocomplete, syntax highlighting, LSP errors, function signature hints, ‘jump to definition’, git integration, etc. Moving around is just a matter of building up the muscle memory. Finding things across the codebase is also easy with tools like fzf and Ag.

        Like IDE users often do, executing and building the code can be done through the command line.

        More complex operations like refactoring are where IDEs have neovim beaten by a mile. Although I haven’t spent time researching it, I don’t know if it’s possible to have that kind of advanced functionality within neovim.

        With recent AI tools (a lot of which, at the end of the day, are CLI tools), the delta between neovim and a full IDE has shrunk further because (for better or worse, probably for worse) people are doing less of the actual coding.

        • CeeBee_Eh@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          47 minutes ago

          Writing the code itself is very similar to using an IDE: with very little config effort, you have stuff like autocomplete, syntax highlighting, LSP errors, function signature hints, ‘jump to definition’, git integration, etc

          I get that. What I’m referring to is the process of “getting used to” neovim. Every time I’ve tried it, I end up reverting back to an IDE because I’m faster there due to familiarity and comfort.

          With recent AI tools (a lot of which, at the end of the day, are CLI tools), the delta between neovim and a full IDE has shrunk further because (for better or worse, probably for worse) people are doing less of the actual coding.

          I wouldn’t be so sure. I’ve been using various LLM coding agents on my personal project as a way to not do the boilerplate stuff (since I have very little free time), and my biggest takeaway is that outside of smaller snippets I don’t want them touching anything else. I’ve had so many instances where they completely change up a struct (by removing members and adding completely new ones) for zero reason. Other times I give explicit instructions to not change a specific file or remove specific variables, and it just does it anyways.

          The real issue is that LLMs are incapable of considering the larger picture at a conceptual level, and frequently introduce new bugs.

          The one place I will say I have found LLMs the most useful is writing HTML/CSS/JS. I personally don’t like writing those and LLMs seem to be best at that.

          The few times I’ve had an agent refactor larger portions of code resulted in the code being barfed out in a way that took me more time to untangle and clean up, than if I just did the refactor myself.