I, personally prefer to use several tools that often help me with managing my code files, and multiple terminals. Here’s a declaimer — when using (or learning) ROS1/ROS2, you will be dealing with MANY terminals, simultaneously! Each running terminal is some sort of an active node that is communicating with the other.
These programming tools are completely optional, however, ROS developers highly recommend them for beginners at least.
This is a Linux Terminal Emulator which allows you to divide your terminal into multiple sections so that you can monitor multiple nodes at the same time.
sudo apt install terminator
This is my recommended code editor.
sudo snap install --classic code
We are good to go now. Again, these installations are optional, but highly recommended even for long term use.