Text editors and IDEs
We use text editors to develop code, tests, and documentation, and to manage configuration. Integrated Development Environments (IDEs) have additional features that help with development - for example enhanced code navigation, completion, debugging etc.
We use a variety of text editors and IDEs, and you are welcome to use whichever one you prefer. We do not require that you use a specific IDE or text editor, however if you need support then we strongly suggest that you use one of the editors that is commonly used by the team.
- VSCodium or VS Code: This is probably the most commonly used IDE on the team. It is a free, open source, cross platform editor that is available for Linux, Mac and Windows. It has a large number of extensions available, and is very configurable. Note that the official VS Code binaries do include a few closed source components (e.g. icons, marketplace integration) - VSCodium builds exclude these. For questions ask in #engineering-vscode.
- PHPStorm or other JetBrains IDEs: This is a commercial, closed source IDE that is available for Linux, Mac and Windows. It has a large number of features and is very configurable. It can be particular helpful if you do a lot of PHP debugging with XDebug. If you are not already a user, you could start with a free trial - if you like it and need a license open an IT ticket and request one. For questions ask in #engineering-phpstorm.
- Vim/Neovim and Emacs: These are free, open source, cross platform and keyboard driven text editors - or IDEs if configured more maximally, such as with AstroNvim or Spacemacs. They are available for Linux, Mac (typically via Homebrew) and Windows (typically via WSL). They are very powerful tools for text manipulation, but can have a steep learning curve - however, the skills learned can be used on both the IDEs above which have good Vim and Emacs keybindings and plugins, as well as on servers where they are often installed by default.
If you still have questions, ask in Slack: #engineering