I believe a number of the devs who have been around for decades are still writing actual code with their preferred tools that run on Amiga. But I wouldn't be surprised if even there, most of the coding is being done in emulator, because the modern workflow is so much snappier that way.
However, the cross-platform build stack has gotten comprehensive, and straight modern hardware has become the method of choice for a lot of devs (including myself). There is an "Amiga Assembly" extension for VS Code which does a ton of heavy lifting for you, including setting up the build tools, and even grabbing a fork of the emulator that has DAP support so you can use VS Code's built-in debugger.
I personally use Neovim and a couple plugins for syntax highlighting and DAP support. As part of my build process, I run Python scripts which convert images and SFX to Amiga-friendly formats and assemble them into a custom binary file. I can't imagine how long that would have taken me to set up in an Amiga-only environment—Python is just too convenient.
I think a lot of what you see possible on Amiga today is thanks to modern tools allowing for very rapid iteration as well as some crazy preprocessing for effects that depend on lookup tables, etc.
FreePascal still has official support for creating Amiga binaries. I never tried it since I have no idea about how Amiga development works in general, but I tried FreePascal a bit for other systems and it seems pretty good (underrated?) (both the language and the compiler; fast, low on bloat, mostly safe memory, huge standard library).
However, the cross-platform build stack has gotten comprehensive, and straight modern hardware has become the method of choice for a lot of devs (including myself). There is an "Amiga Assembly" extension for VS Code which does a ton of heavy lifting for you, including setting up the build tools, and even grabbing a fork of the emulator that has DAP support so you can use VS Code's built-in debugger.
I personally use Neovim and a couple plugins for syntax highlighting and DAP support. As part of my build process, I run Python scripts which convert images and SFX to Amiga-friendly formats and assemble them into a custom binary file. I can't imagine how long that would have taken me to set up in an Amiga-only environment—Python is just too convenient.
I think a lot of what you see possible on Amiga today is thanks to modern tools allowing for very rapid iteration as well as some crazy preprocessing for effects that depend on lookup tables, etc.