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.

This website uses cookies to ensure you get the best experience on our website.