What is your development environment?
What is your development environment?
What os? What ide? What plug-ins?
What is your development environment?
What os? What ide? What plug-ins?
Windows + Visual Studio :(
Unfortunately, the alternatives are really lacking. JetBrains Rider REALLY feels underbaked. No deal-breaking issues, but lots of little low-impact ones, and lots of design decisions that go against common conventions, for no apparent reason. The "Visual Studio Mode" doesn't really help.
On top of that, I've had several issues with RUNNING Rider, on account of being on Bazzite, an immutable distro. It was fine on Mint, but Mint had its own troubles with my NVidia card.
Visual Studio also feels really urderbaked IMO. I had my issues with navigation, UI and Vim mode. Debugger experience with Edit and Continue was pretty amazing though.
😂
That's what I mostly use too
I share this pain :(
Glad I am not the only one :)
Do you find avelonia good to use? I've been taking interest in learning dotnet, but I typically have only needed to make CLI stuff in the past.
Hmmm..ill have to do some research as I don't know most of those
Arch is a linux distribution
Hyperland tiles the windows (so they fill up the screen instead of floating)
Helix is a text editor
Kitty is a terminal / console
LibreWolf is a Firefox version
Helix is the only part that really answers your question. https://helix-editor.com/
That's what I use too.
Linux, Plasma, VSCodium with the clang. cmake, and Qt extensions
For work it's Fedora + Home Manager because the remote admin software doesn't support NixOS. Thankfully I've been able to define my dev environment almost fully in a Home Manager config that I can use at work and at home.
I use lots of Neovim plugins. Beyond the basic LSP and completion plugins, some of my indispensables are:
What is Home Manager?
Home Manager is a Nix tool for managing configuration for a single user, usually on a Linux or MacOS system, or possibly WSL. You configure installed programs, program configuration (such as dot files), and a number of other things, and you get a reproducible environment that's easy to apply to multiple machines, or to roll back configuration, etc. I find it helpful for having a clear record of how everything is set up. It's the sort of thing that people sometimes use GNU Stow or Ansible for, but it's much more powerful.
A Home Manager configuration is very similar to a NixOS configuration, except that NixOS configures the entire system instead of just configuring user level stuff. (The lines do blur in Nix because unlike traditional package managers where packages are installed at the system level, using Nix packages can be installed at the system, user, project, or shell session level.) Home Manager is often paired with NixOS. Or on Macs Home Manager is often paired with nix-darwin. As I mentioned, the Home Manager portion of my config is portable to OSes other than NixOS. In my case I'm sharing it in another Linux distro, but you can also use Home Manager to share configurations between Linux, MacOS, and WSL.
Linux, emacs.
Not to start the infamous war but why Emacs and not vim/neovim?
I find vim way of editing text uncomfortable and how it lacks flexibility in general when compared to emacs (One can make vim from emacs not viceversa). Also I like that emacs is a gui application.
Oh you’re opening a big can of worms here
I occasionally use Jetbrains products as well (e.g. maintaining Kotlin projects).
Kate, LSP, Linux.
Flexible, but Linux/macos predominantly. Jetbrains (CLion/RustRover). No specific plugins, JB IDEs are pretty good out of the box.
From jb I only have used pycharm but it was pretty good.
NixOS, fish, tmux, Helix
Arch + i3wm/sway + Tmux + Neovim
Ditto, pretty much.
Varies a bit with job, but by far the most in the last 15 years:
Linux (Debian), Emacs, tiling window manager (i3/sway/stumpwm), also gollum wiki + org-mode for writing docs. For small quick edits, I use vim.
I use Arch in a VM, or (preferred) Guix package manager for tools that require newer versions of software.
On the job, I write mostly C++/Python/Go/Rust, at home more Rust, Python, and the Lisps.
Work (frequently some kind of embedded) uses also e.g. Ubuntu, OpenSuSE Leap, Gnome, eclipse, and so on.
What do you use rust for?
At work:
At home:
I run Manjaro, and use neovim for my development. I've got a slew of plugins for everything from language servers to database to things like integration with tmux and specialty motions.
I've tried many development environments, but so far I keep coming back to nvim.
I've been a fan for about 5 years at this point, and I use it for PHP+js+html at my day job and Rust for personal projects, but also any other language that comes up. Delightful to have one editor that can do basically everything and do it with consistent shortcuts, that I can even run on my phone with a folding keyboard.
A messy bedroom.
Arch with Niri, LazyVim in Ghostty.
So how do you like niri and is it stable enough to be a daily driver? Also what kind of screen do you have for it to be useful? I have a feeling that it's extra useful on wide screens but when it comes to ones which are fairly high it's less useful, is my assumption correct?
Not OP, but I've been using Niri as my daily driver for almost two years (since v0.1.2). The stability and polish have really impressed me. In addition to the scrolling workflow it has some especially nice features for screen sharing & capturing, like key binds to quickly switch which window you are sharing, and customizable rules to block certain windows when showing your whole desktop.
I do use a 40" ultrawide. Looking for options for getting the most out of an ultrawide was how I got into scrolling window managers.
I only occasionally use my 13" laptop display. I still like scrolling because I like spatial navigation. Even if windows end up mostly or entirely off the screen I still think about my windows in terms of whether they're left, right, up, or down from where I'm currently looking.
I don't like traditional tiling as much because I find squishing every window to be fully in view to be awkward; and with e.g. i3-style wms if I want to stash a window out of view, like in a tab that's a separate metaphor I have to keep track of, with another axis where windows might be. Scrolling consistently uses on spatial metaphor, placing all windows on one 2D plane with one coordinate system.
Doom Emacs on Arch with Plasma.
Fedora Kinoite with VSCodium (Flatpak), both for work and my own stuff.
Also a few toolboxes with different compiler versions for some older projects.
I mostly do .NET and PHP stuff.
Which VSCodium extensions are you using for .NET?
C# by muhammad-sammy.
Doesn't have the fancy project manager that the Microsoft one has but since I'm used to the dotnet CLI, I don't mind that much.
Arch Linux (BTW) is my main/dev OS, but also Windows 10 VM for certain projects.
For simple scripting in any language: VSCodium
PyCharm, Android Studio for projects in specific languages.
For other full projects: VSCodium
As for testing/deploying projects, I have a QEMU dev VM that's connected to my IDEs using shared folders running basic Arch with fresh install of KDE Plasma.
Plugins mainly consist of QoL features, linting for certain languages in VSCodium, themes, etc.
Linux Mint. No IDE -- I just use xed (a fork of gedit) + gnome-terminal, both of which ship with the distro. Only plugin I use regularly for xed is "Code Comment" which lets you comment/uncomment blocks of code quickly.
MacOS and Panic Nova
Linux + IntelliJ
I also use VsCode because I like its text editing better.
Linux
Distrobox container
Code OSS
Serial Studio
Logic 2 / Sigrok pulseview
Debian at home, Rocky Linux at work
VSCodium or Godot depending on what I'm working on.
Whatever language support via LSP is available for VSCodium, Prettier, I'll have to check the rest. Nothing that drastically changes the experience. Basically whatever does auto formatting, code completion(without using "AI"), and error highlighting.
Are your projects in c#/dotnet?
Mostly python, shell, and GDscript these days.
I did C#/.NET stuff for a few years for $dayjob, but that was all on windows with visual studio
Linux/Sublime Text/Konsole
Private: Arch, sway, nvim with too many to remembet plugins in foot
Work: Windows to Google Cloud Workstation, JetBrains
using your private setup 🚀 I couldn't imagine using your work setup though 😅
At work, windows with jet brains products. Then docker with Ubuntu server.
At home its popos with vim. Sometimes docker, sometimes not.
neovim, neovim, neovim
Emacs clients in alacritty terminals on GNU Guix. I am used to vi-keybindings so I use evil-mode.
Work: RustRover on MacOS Personal: RustRover on Bazzite
Mainly language support plugins: Python, .env, mermaid
For work, a Mac and vscode. I don't love vscode but it's what everyone uses.
Well, some of them develop on windows with like notepad++ and it's kind of a nightmare. There's no ci/cd, linting, or testing, so whenever I check out someone else's branch it's full of red squiggles.
My personal is pop!_os Linux where I'm also using vscode because I'm too cheap to pay for pycharm.
OS: Debian (Trixie)
DE: KDE Plasma
I use vim for light edits. Currently using VSCodium, but am slowly trying out Kate. I use codeberg as Version Control, and Konsole as the terminal.
I also have notepadqq (a native alternative to notepad++), but prefer vim and am also trying to switch to Kate.
Linux, KDevelop, C++
Windows ME. Notepad.
VSCode (on windows) with Remote Development via SSH extension to Ubuntu or RHEL depending on the task
Kate on Debian.
Too many people using VSCode. At work on Windows I was using it at work (on Windows) but got disgusted with myself and switched to Kate. On Linux I tried VSCodium but the Flatpak was soooo slow, bloated, and crashy... I'm just sticking with Kate on every OS.
Languages: Julia, Python, JavaScript, PHP
When I'm pairing with someone who uses VSCode it's usually painful how slow they are about finding and opening files. And so much screen space is taken up by stuff that is not code. It's extra frustrating because even VSCode has built-in solutions for all of this, but lots of people don't seem to understand how to use it efficiently.
It varies a bit, but
OS: Win11
IDE: Jetbrains IDEs (Rider, intellij, Webstorm) with a side of notepad++ and vscode, primarily for notes, Snippets and misc file types
Shell: PowerShell 7
Git: builtin for jetbrains tools and otherwise my own custom PowerShell wrapper on git cli
Arch Linux, hyprland/quickshell
Kitty/konsole
VSCodium (+ a very few plugins) / Kate
Linux (Debian) with neovim. Telescope and Treesitter and the big plugins I use but I use a bunch of other smaller ones as well.
At my last job I did a bunch of Rust, this job I do mostly Go.
I usually licence my work under GPL if it's a large project, or Beerware if it's something smaller (or if it's for internal use in one of my societies).
Any coursework I do, however, gets licenced under BSD-3-clause. For this, GPL would be too restrictive and Beerware would be too informal, and BSD-3-clause is a nice middle-ground (as far as I'm concerned).
Arch, i3, IntelliJ, VSCode when I'm not in Java.
I'm a:
So I have a lot of machines
Machine 1
Machine 2
Machine 3:
Machine 4:
Also:
Future:
Helldivers 2, and will try Arc Raider
Helldivers 2 and Arc Raiders both work fine on Linux. PUBG does not.
potentially Marathon next year
Marathon is unlikely to work since Destiny also doesn't work.
FWIW I tried the Helix mode in Zed, and it was missing lots of Helix bindings that I rely on.
Lmde7, nvchad set up with some linters and autocompletion.
At work:
Windows, Visual Studio, Telerik (why yes I'm forced to use this for work...)
I got started in dev work recently and have gotten used to this setup, I kinda want to learn vscode and host it on my server or something but I'm not really sure what kind of projects I can work on for myself, also not sure learning another IDE while learning in general is a great idea.
OS: W11
IDE: Rider, Webstorm, VSCode and for legacy apps Visual Studio
Shell: Powershell w/ OhMyPosh, I find Powershell a hassle to use but I set it up once after seeing a colleague use it and kept it
I would like to point out that there are quite some Linux devs in the replies. I feel like I don’t belong here.
It's a programming community, you're programming, you're fine.
Windows 10 with all dev work done in Ubuntu using WSL. Using vscode with the wsl extension.
Before I migrated to Linux I used to do this until I got tired of windows killing WSL without any warning
At work window 11 - powershell - coder - Debian - tmux - nvim
At home (nixos|arch) > tmux > nvim > most used aside of standard LSP and co, neogit, mini.files, trouble
Win 11, WSL Ubuntu, VSCode (into WSL), Git Graph, Rust stuff, typescript stuff
All dev is in WSL. Windows native for games and Firefox and chat apps
Macos M1 Pro, Tmux + zsh, Neovim Full stack developer, not gaming
Debian, awesome wm.
For work I use IntelliJ
For personal projects in Rust wezterm + Neovim + mix of different plugins
Work: Windows + Rider/WebStorm/etc (I used the IdeaVim plugin before but found there were too many rough edges)
Home: Debian or OpenBSD + vi or Pluma. I deliberately keep it simple. A terminal, an editor Ctrl+Z, make, fg, that kind of thing. I'm tired of fighting IDEs to get out of my way. Let me type!
Arch -> i3 -> terminator -> tmux -> nvim.
Nvim is IDE and vim for quick edits.
LXC/incus and podman containers
Usually use Debian for server administration but have recently been using fedora and rocky Linux and other rpm based distros for their easier use of podman configurations (quadlets). I don't really recommend using fedora as a server (unless it's in an incus container) but I got into it as CentOS was deprecating and the podman systemd setup was catching on at the time and fedora was handling it the best at the time.
Dropped out of GitHub for the most part and getting acclimated with codeberg and forgejo.
Use librewolf for browsing and firefox-developer-edition with many profiles for testing and development. Qutebrowser for reading documentation.
why i3 and tmux? resume?
For clean separation and keyboard use.
I don't know if i3 is the best tiling manager but it's the one I use and I like it. The reason I like using the tiling manager with tmux is that I never have to use the mouse. I have a different environment in different each window.
super+1 is main tmux development area.
super+2 might be remote server tmux area.
super+3 might be development browser views
super+4 might be my Qutebrowser with documentation texts.
super+5 is note taking apps.
super+6 libreWolf for regular browsing, etc.
And I can have multiple things going on in each window but all I have to do is press super+f to make a tmux session (or whatever app) full screen. For instance in super+1, I might have one tmux, session for local development and one for the incus server I'll working in.
In tmux I have over 10 different sessions going on. So I can quickly go to any number of apps I'm working on or to my utils session where I do most of my cpu checks. One session is just for browsers I keep open so I can keep track of them easily and/or kill them quickly with Ctrl+c. This has the added benefit of always keeping my tabs saved when I open them back up.
In my tmux app sessions lies nvim which is a great ide. I keep one tab window open for git doings. One for backend nvin instance. And one for frontend nvim instance. Then one open for the server and other terminal related stuff. Another for database.
Just makes organization easier.