• cbarrick@lemmy.world
    link
    fedilink
    English
    arrow-up
    55
    ·
    edit-2
    8 months ago

    VS Codium.

    It’s VS Code, minus the Microsoft bullshit.

    Source code is MIT licensed.

    • raubarno@lemmy.ml
      link
      fedilink
      arrow-up
      7
      ·
      8 months 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.

        • raubarno@lemmy.ml
          link
          fedilink
          arrow-up
          4
          ·
          8 months 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
            2
            ·
            8 months 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.

      • MajorHavoc@lemmy.world
        link
        fedilink
        arrow-up
        11
        ·
        8 months 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.

      • pixelscript@lemmy.ml
        link
        fedilink
        English
        arrow-up
        4
        ·
        8 months 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
          ·
          8 months 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.

    • TwinHaelix
      link
      fedilink
      arrow-up
      5
      ·
      8 months ago

      I really wish the WSL extension wasn’t locked behind VS Code. My workflow is heavily reliant on it which locks me into the proprietary IDE.

  • grue@lemmy.world
    link
    fedilink
    English
    arrow-up
    21
    ·
    edit-2
    8 months ago

    Emacs, because it’s so configurable that if it isn’t the best FOSS IDE it’s your own fault for not configuring it right.

    • nickwitha_k (he/him)@lemmy.sdf.org
      link
      fedilink
      arrow-up
      4
      ·
      8 months ago

      Unless it’s something like an HDL for a proprietary FPGA suite, in my experience, not really, no. Just need a good LSP, Treesitter grammar, and the rest is just QOL. Not having to switch tools is a perk.

  • Link@lemy.lol
    link
    fedilink
    arrow-up
    16
    ·
    edit-2
    8 months ago

    How about VSCodium? I don’t think I should explain why VS Code is best editor.

    • /home/pineapplelover@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      8 months ago

      You might need to explain to me. I’ve been having so many issues just using vscodium, took me forever to figure out I need to build and compile the code myself and not run it using the play button like Visual Studio in school (I’m a second year comp sci student).

      • calcopiritus@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        8 months ago

        In vs code there’s a run button just like in visual studio. You can also press F5. You will most probably need to install an extension specific to your language so vscode knows what to do when you press F5. For some languages, you’ll also have to create a launch.json file manually. launch.json is what describes what the “run” button does.

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

        Check into the available plugins for your language. VsCodium’s architecture pushes everything that not everyone needs into plugins, so unless you’re just taking notes, you’ll need a plugin for your chosen programming language, and eventually another for your chosen deployment environment (AWS, Azure, etc).

  • ExLisper@linux.community
    link
    fedilink
    English
    arrow-up
    16
    ·
    edit-2
    8 months ago

    Well nvim, obviously. It’s pretty much fully featured. With LSP plugins you get all the code completion, hints, type info, docs and so on. You also get typical navigation like ‘go to declaration’ and some basic refactoring. And all inside the best editor there is. I’m using it for C, JS, JSX and Rust and all works great. I honestly prefer it to IntelliJ, it loads faster and is more responsive.

  • Another Catgirl@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    15
    ·
    8 months ago

    My favorite is Kate because it’s less of an IDE and more of a text editor with side panes for the project tree and a terminal to run the program. Easy enough to set up a hot key to save-build-run. I think that’s all I need?

    • Nyanix@lemmy.ca
      link
      fedilink
      arrow-up
      2
      ·
      8 months ago

      Right there with you, I’m on the admin side of things, so the time it takes the app to start is a bigger deal to me than the full featured-ness of VS Codium, but provides contextual highlighting and some quality-of-life coding features that you won’t find it text editors.

  • WatTyler@lemmy.sdf.org
    link
    fedilink
    arrow-up
    14
    ·
    8 months ago

    Lots of replies mentioning Emacs but Emacs out of the box is gonna be essentially a text editor (insert obligatory: Emacs isn’t a text editor; it’s a LISP interpreter).

    However, install Doom Emacs, and you have a full IDE experience for essentially any language you could ask for. I highly recommend it.

      • WatTyler@lemmy.sdf.org
        link
        fedilink
        arrow-up
        2
        ·
        8 months ago

        I’m not too familiar with how Flatpak works but Emacs benefits from compiling it on your machine natively. Tell me what distro you’re on and I can see if I can find out how you’d do that.

      • Free Palestine 🇵🇸@sh.itjust.works
        link
        fedilink
        arrow-up
        2
        ·
        8 months ago

        A Flatpak of Doom Emacs? No. But you can just install the normal Emacs flatpak and then install Doom Emacs with 2 simple commands:

        git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs

        ~/.config/emacs/bin/doom install

        Emacs will read these config files from the .config/emacs directory. Doom Emacs is not a different version of the program, it’s essentially just a set of configuration files.

        • jackpot@lemmy.mlOP
          link
          fedilink
          arrow-up
          2
          ·
          8 months ago

          it’s not working for me? sorry to ask but could you try it? linux mint lts btw

          • Free Palestine 🇵🇸@sh.itjust.works
            link
            fedilink
            arrow-up
            2
            ·
            8 months ago

            I don’t have a Linux Mint installation right now, but when I used Mint a few months ago this worked for me. The two commands are from the official Doom Emacs install guide. Could you tell me exactly what doesn’t work?

      • WatTyler@lemmy.sdf.org
        link
        fedilink
        arrow-up
        2
        ·
        8 months ago

        Following up from my previous comment, there is a Flatpak of Emacs available on Flathub. Here are the instructions for how to install, whilst enabling native compilation, which will offer a performance increase and allow you to use features such as vterm (the best terminal emulator for Emacs).

    • ntzm [he/him]@lemmy.ml
      link
      fedilink
      English
      arrow-up
      4
      ·
      8 months ago

      I love helix, I just wish the development was a bit faster. The main developers are all quite busy and I would love nothing more for them to be able to use some of the open collective money to pay themselves to work on it full time for a bit. I think in a year or two it will be amazing.

      • BubblyMango@lemmy.wtf
        link
        fedilink
        arrow-up
        2
        ·
        8 months ago

        There are multiple gui front ends, but its still very popular to use it in the terminal. Its a TUI, so it practically works like a GUI.

          • BubblyMango@lemmy.wtf
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            8 months ago

            In a cli you only type commands and send them with Enter, in a TUI you can click/move around with the arrows just like in a gui.

            Edit: dont know about good front ends.

    • nickwitha_k (he/him)@lemmy.sdf.org
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      8 months ago

      You can also go with Neovim, but it only runs in the terminal.

      To me, that’s a feature, not a detractor.

      ETA: Not intending to imply that Emacs isn’t also a fine choice. I just like the terminal.

      • Free Palestine 🇵🇸@sh.itjust.works
        link
        fedilink
        arrow-up
        3
        ·
        8 months ago

        I really like Neovim and I’ve been using it for over 2 years as my main IDE, but recently I started getting into Emacs. I like the Terminal as much as you do, but I just wanted to try out something new, so I went with Emacs. I’ve been using it for some time now, and I’m probably not going back, I’m very happy with it.

        • nickwitha_k (he/him)@lemmy.sdf.org
          link
          fedilink
          arrow-up
          3
          ·
          8 months ago

          That’s awesome! I’m probably going to give it another go over the holidays. It’s a super powerful tool and I recall liking it before but it just didn’t mesh with my needs (or I didn’t know enough at the time to make it mesh with my needs).

    • variouslegumes
      link
      fedilink
      arrow-up
      1
      ·
      8 months ago

      One of the goals of neovim was to introduce tools to build a GUI around vim. Imo the terminal is by far the best option, but there are some fun options. Neovide is an interesting one. Mostly because it doesn’t do too much – just eye candy.

  • Joker@beehaw.org
    link
    fedilink
    English
    arrow-up
    7
    ·
    8 months ago

    VSCodium, emacs, vim/neovim, helix.

    Helix is pretty slick, but it’s not very extensible. Very easy to use and if the out of the box features are good enough for you then it’s a fine IDE.

    Neovim is my preference unless I’m working with Jupyter notebooks, in which case I switch to vscodium. It’s a pain in the ass to set up. I took the easy way out with LazyVim. It’s fast to work with and I can use it for almost everything.

    I dabbled with emacs many years ago. It’s like vim but completely different. You can make it do anything. Personally, I don’t care for the keyboard shortcuts. It’s probably easier to pick up than vim, but all the key chords and sequences are too much for me. In any case, anyone willing to look at vim should also take a look at emacs.

    VSCodium is accessible and extensible. You can’t go wrong with this one. It can’t refactor like the Jetbrains stuff, but if there’s anything else it can’t do then I don’t know what it is. It’s a great IDE.

    Really, any of these can do just about any job and do it very well. There’s no choice that clearly stands above the others. It really comes down to personal preference.

    • Helix 🧬@feddit.de
      link
      fedilink
      arrow-up
      2
      ·
      8 months ago

      Helix is pretty slick, but it’s not very extensible.

      Bruh, thanks for the compliment, but I can be very flexible.