• raubarno@lemmy.ml
    link
    fedilink
    arrow-up
    4
    arrow-down
    11
    ·
    1 year ago

    Please stop treating code editors as if they were IDEs.

    VS Codium/Code is not an IDE, and it never claimed to be. It’s a code editor, like Kate, Vim, Neovim, etc. It only integrates a language server for code editing and some static analysis. It does not integrate a debugger, build system, test system, execution, etc.

    IDEs are old school large systems that integrate a code editor, build system, test automation, etc., such as M$ Visual Studio (not Cod(e|ium)), CodeBlocks, Eclipse, JetBrains software suite, etc. They are complete opposition of the UNIX philosophy that the program must do only one thing and do it well.

    Besides, when dealing with IDEs, I used to like Eclipse C/C++ and Corrosion IDE because one could easily add link-time dependencies to a project and it generated sophisticated makefiles for you. Besides, if you have a more custom workflow, like auto-generation of source code from a domain-specific language, there’s no IDE that can help you. This is the downside of IDEs. Also, nowadays, I found that NeoVim+Coc with Meson build system makes the same thing and even better.

    • MajorHavoc@lemmy.world
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      It does not integrate a debugger, build system, test system, execution, etc.

      All of those things have been available in VSCode and VSCodium as production-ready plugins, supported by major vendors (mostly Microsoft) from almost day one.

      Weirdly, as an extreme example, VSCodium with the MSSQL plugin is a better SQL IDE than most dedicated SQL IDEs.

      • raubarno@lemmy.ml
        link
        fedilink
        arrow-up
        2
        arrow-down
        6
        ·
        1 year ago

        VSC has JSON configurations for executing tasks but it’s non-trivial to configure. A proper IDE would provide a graphical, fool-proof configuration for that because it’s easy for non-professional to accidentally destroy your JSON file.

        Also, if you have to use terminal in an IDE for trivial tasks, then it’s also not an IDE.

        Not that I liked GUIs, but with IDEs, like Eclipse or Visual Studio, one wouldn’t have to configure something with JSONs.

        • MajorHavoc@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          VSCodium’s debuggers do have point-and-click configuration.

          I think your point stands, though - the easy-button debugger setup has plenty of room to improve, and the majority of the user community focuses on the JSON debugger config - so most developers using VSCodium are going to be hand-crafting JSON configs to set up their debugger.

    • pixelscript@lemmy.ml
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      As far as I’m concerned, as long as the editor alone can handle every step of the process from development to testing to version control to deployment to debugging, it’s an IDE.

      I don’t care if it doesn’t natively ship with all these things and you have to append them with plugins. (I thought we championed software that doesn’t force bloat features we’ll never use down our throats?) The only applicable factors are that it exposes the extensibility to add them, and that someone has added them.

      Does that make EMACS and Vim IDEs, too? If you’ve sufficiently tricked them out with plugins, extensions, and helper scripts to do every part of your pipeline without leaving the editor, then I guess so! It is an Environment that has Integrated everything you need for Development. If it quacks like a duck…

      VS Code is an IDE, and I’m tired of pretending it’s not.

      • DeadlineX@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I just wish finding all references didn’t take an entire minute to show me a single reference though. By the time it loads I don’t even remember why I care what’s referencing the function anymore.