Skip to content

Code Editors

CLI

Most development will be done in an IDE. However a CLI editor is still sometimes needed and can be more convenient to use in some situations than a full-fledged IDE. For instance, consider the scenario where you have to SSH into a remote server and need to edit a configuration file. In such cases a CLI editor is the most convenient tool to edit the configuration file.

For beginners GNU nano is a good option. It is easy to use and comes pre-installed on most Linux distributions. However the capabilities of nano are a bit limited so in the long-term it might be worth learning how to use a more powerful CLI editor.

The CLI editor recommended in this guide is Neovim. It is a fork of Vim.

Warning

Vi, Vim and Neovim are not intuitive to use for beginners. They have a bit of a learning curve. One starting point for learning could be the Neovim documentation.

Tip

If you ever get stuck in Vi, Vim or Neovim and don't know how to exit then press the "Esc" keyboard key. This should ensure you are in the "Normal mode" and not some other mode. Once you are in normal mode type a colon (":") to enter the command mode. Once you are in command mode type "q" to quit. Then press the "Enter" key and you should exit the editor and be back on the command-line.

Installation

To install neovim run the below command in a terminal:

sudo dnf install neovim

After the installation is complete you can launch Neovim by running "nvim". Optionally you can provide a file path as a parameter to open a file at a particular location:

nvim <optional file path>

Configuration

To configure Neovim we will use a pre-made configuration called NvChad. With this configuration Neovim becomes more like an IDE than a text editor. To install NvChad run the following command:

git clone https://github.com/NvChad/starter ~/.config/nvim && nvim

Now you should be in Neovim. Once the plugins have finised downloading run the following command in the Neovim command mode:

:MasonInstallAll

Once that is complete the installation is complete. You can delete the NvChad .git folder created in the Neovim configuration location:

rm -R -f ~/.config/nvim/.git

For further instructions regarding installation, updating or uninstallation of NvChad please refer to the NvChad installation instructions.

Neovim with the NvChad configuration looks like this:

Neovim - NvChad

IDE

IDE stands for Integrated Development Environment. Generally speaking, IDEs are text editors with additional features useful for developers already built-in. This can include debuggers, support for version control software and build automation tools.

The recommended IDE when following this guide is Visual Studio Code. It is beginner-friendly and relatively lightweight.

Installation

Visual Studio Code is not included with the default Fedora package repository. To install it we need to first add the Microsoft repository to our package manager:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null

Next update the package cache:

sudo dnf check-update

Now we can install Visual Studio Code:

sudo dnf install code

A session in Visual Studio Code looks like this:

Visual Studio Code Session

AI Copilot

An AI copilot can help with code completion, answer your questions through chat, generate tests and more. In my experience an AI copilot is particularly useful when you are unfamiliar with the technologies being used in the project.

The AI copilot recommended in this guide is GitHub Copilot. Please see the GitHub Copilot Pricing page for more details about the cost of using it. The plan recommended by this guide is "Business" for $19 per month if your budget allows it. The "Business" plan is the cheapest plan where your interactions with the AI are not used for training purposes. Despite Epic Fantasy Forge being open source software I am still a bit worried about using the "Free" or "Pro" plans of GitHub pilot.

Whilst having the project open source already requires some caution and attention that some secret is not accidentally made publicly available, such as API keys or passwords, using an AI that uses your interactions for training purposes would require even more caution and attention.

Warning

AI tends to sometimes make incorrect statements or produce error-prone code. However despite these drawbacks, in my opinion AI is still overall useful as long as you are aware of the limitations of the current state of AI.

Warning

As AI is trained on historical data and historical data is more abundant than current data, it sometimes has a tendency to use deprecated or out of date code.

Additionally the performance of AI tends to be better with more widely used technologies such as React or Python than more recent or less widely used technologies such as the Phoenix framework.

Installation

GitHub Copilot integrates directly into Visual Studio Code. To use it, simply sign up for one of the plans on the GitHub Copilot Pricing page. Then follow the Set up Visual Studio Code with Copilot instructions to use GitHub Copilot in Visual Studio Code.