5 ms·
If you are a professional developer, and plan to be working for several decades, is it really that much of an investment to maintain your editor config a la vim
by colordrops 4y ago
If you are a professional developer, and plan to be working for several decades, is it really that much of an investment to maintain your editor config a la vim or emacs? I did a lot of work setting up vim 10 years ago, and have only had to tweak it since. It works exactly as I expect, anywhere, in a terminal, for free, and setup is as easy as checking out a repo and running a script.
JetBrains is good for stuff I rarely do in the editor, like certain types of debugging, but otherwise feels too heavy, expensive, and hard to configure across installs. Finding a particular config option is always a hunt.
- faizshah 4y agoHonestly yes, I would rather pay someone to do it than maintain it myself especially across languages it just becomes a real nightmare. I need text editing, jupyter rendering, sql client, csv spreadsheet rendering, vim keybindings, git client, terminal/ssh, autocomplete, documentation tooltips and “run highlighted in repl” support at a minimum. These are all part of my weekly workflow, I have tried to use spacemacs because the community has setup a lot of this stuff for you already but the autocomplete is not comparable to VSCode or Jetbrains. My dad was a vim user since the 90s and he ended up switching to IntelliJ a few years ago as well. It’s just significantly less hassle and has way more intelligent intellisense/autocomplete.
- ChymeraXYZ 4y agoI have only recently tried GoLand while living in vim for ~5 years. IMO vim's autocomplete is significantly better than GoLand. Not saying the rest of the auto-insert helpers, but the completion itself is way better imo.
- d3nj4l 4y agoGoPLS is honestly really good, and while I haven't tried GoLand myself, I have no trouble believing you. Even rust-analyzer beats IntelliJ Rust IME. I'm very bullish on language servers because these two (and ElixirLS, though it isn't on the same level as GoPLS and rust-analyzer IMO) are countering the common assumption that you need an IDE to have powerful dev tools.
- jen20 4y agoMy experience is absolutely the opposite, especially on complex Go projects with multiple modules. I haven’t given Rust Analyzer much of a shot, but admittedly that might be better. Many of the projects I’m working on right now build using Bazel, and gopls has serious issues there even in generated code with a package driver configured. I used to meticulously maintain a vim config for the 8 or so languages I switch between, but eventually realised that for me the good part of vim is modal editing, and that IdeaVIM gives me that without having to fuss with it. My vimrc is now empty and it’s relegated to commit messages and fixing merge conflicts…
- mrunkel 4y ago> Finding a particular config option is always a hunt. Do you know you can search for an option in the settings menu? Actually, you can search just about everywhere. You can also set your IDE to store your config in a git repo so that it's the same everywhere you use it.
- uwuemu 4y agoYou can't possibly call yourself a "professional developer" (and it sounds like you're not pointing out that you're paid for the work, but that you're a "pro") and then talk about debugging as something you rarely do. If debugging (with a debugger) is something you rarely do, you may be paid for your work, but I wouldn't call you a pro. You should be debugging alongside development to gain deep understanding and reduce errors. No amount of "test" coverage can replace that. I'm always skeptical about people who don't use IDEs and I'm almost always right about them. And it's not the good kind of being right.
- matthewmacleod 4y agoThat’s funny, because I’m always skeptical about people who fire in all judgy about the way other people work when they know literally nothing about who they are or what they do, and I am always right.
- selfhoster11 4y agoI think that parent’s point was that debugging is an exceedingly powerful tool, and therefore leaving it out of your toolset by definition makes you less powerful as a programmer. It’s not even such an esoteric skill - operating the simplest kind of a GUI debugger is maybe learning 5-6 different actions, and the IDE often takes care of the details of setting up the debugger for you.
- wruza 4y agoOn the contrary, I find a common debugger (see questions below) an underwhelming experience, not a powerful tool. Can it: - assign (scenario, subsystem, level, description) to breakpoints and watches, so they can be turned on/off or selected in groups for debugging without removal? - commit these scenarios of bps and watches into a repository? - edit/read them in a textual form to patch or share over an IM? - store traces of previous sessions and diff them to find out what changed? Does anything even remotely similar exist? Most debuggers are just test-pause-and-inspect tools with “integration” in the form of eval on mouse hover. Their ux and dx sucks and the only reason I could find to use them were slow build times and too low-level runtimes, which are no more today. Pretty sure most people avoid debuggers not because they are too hard to learn (they aren’t), but because they are too dumb to be useful, given that you can ‘if (cond) log.level(…)’ and restart instantly.
- FlorianZysset 4y agoQuick tip: you can sync config across devices using File > Manage IDE Settings. One option is to use their sync service with your Jetbrain account, but you can also use git[1] It definitely makes it easier to move machines when your settings and plugins are kept in sync with it. [1] https://www.jetbrains.com/help/idea/sharing-your-ide-settings.html#settings-repository https://www.jetbrains.com/help/idea/sharing-your-ide-setting...
- chrisseaton 4y ago> I did a lot of work setting up vim 10 years ago Apologies if you have accessibility needs and that’s the reason, but otherwise what is so unique about your editing requirements that requires such extreme customisation? I just use tools as they come. I try not to change anything. Less entropy in my life.
- d3nj4l 4y agoI'm constantly surprised that people have trouble finding things in JetBrains IDEs, because they have search everywhere, for everything. You can even look for "actions" in the double-shift menu: just press Cmd-Shift-A (I suppose Ctrl for Win/Linux) and type a few letters. I found that way easier than figuring out how to configure vim, because there is no discoverability from inside the editor itself, and I frequently had to google several times before I found a way to get the behaviour I wanted. This gets even worse when you're using plugins for LSP etc. (Emacs, of course, has best in class discoverability via M-x and C-h, which allow you to find and introspect basically everything that's available to you, but then Emacs is an OS, not an editor)