IDE
Multi-file projects
Languages that support it get a file tree beside the editor, and a project can hold as many files and folders as the program needs.
The file tree
The tree is the project. Create files and folders in it, rename them, move them, and delete them. Imports and includes then work exactly as they do locally, because the paths are real.
One file is the entry point, the one that runs. The rest are reached from it by your own imports.
Folders
Folders can be created at the root or inside another folder, and files created inside them. Nesting is not limited to one level.
Which languages support it
Forty-one languages offer a multi-file editor. Each has a second page for it, with "(Advanced)" after the language name.
Java, C, C++ (including C++ 14, 17, 20 and 23), C99, C#, PHP, Perl, Ruby, Python 2, Python 3, Scala, VB.Net, Haskell, Go, Swift, Groovy, Fortran, Lua, R, Ada, D, Dart, Free Basic, Verilog, NodeJS, Deno, Bun, Bash, COBOL, Assembler (NASM), OCaml, Elixir, Nim, Kotlin, Crystal, Typescript, and HTML/CSS/ Javascript.
If your language is not in this list, its projects hold one file and there is no file tree.
What next
A project that needs code somebody else wrote needs libraries.
Supported languages lists the 41 languages with a multi-file variant.