About integration with an IDE
You can optionally configure an assignment to use an integrated development environment (IDE). IDEs allow your students to write code, run programs, and collaborate without installing Git and a full development toolchain on the student's computer. If you choose an IDE for an assignment, students can still check out and run code locally on a computer with the necessary software.
After a student accepts an assignment with an IDE, the README file in the student's assignment repository will contain a button to open the assignment in the IDE. The student can begin working immediately, and no additional configuration is necessary.
Supported IDEs
GitHub Classroom supports the following IDEs. You can learn more about the student experience for each IDE.
IDE | More information |
---|---|
GitHub Codespaces | "Using GitHub Codespaces with GitHub Classroom" |
Microsoft MakeCode Arcade | "About using MakeCode Arcade with GitHub Classroom" |
Visual Studio Code | GitHub Classroom extension in the Visual Studio Marketplace |
We know cloud IDE integrations are important to your classroom and are working to bring more options.
Configuring an IDE for an assignment
You can choose the IDE you'd like to use for an assignment when you create an assignment. To learn how to create a new assignment that uses an IDE, see "Create an individual assignment" or "Create a group assignment."
Setting up an assignment in a new IDE
The first time you configure an assignment using a different IDE, you must ensure that it is set up correctly.
Unless you use GitHub Codespaces, you must authorize the OAuth app for the IDE for your organization. For all repositories, grant the app read access to metadata, administration, and code, and write access to administration and code. For more information, see "Authorizing OAuth apps."
GitHub Codespaces does not require an OAuth app, but you need to enable GitHub Codespaces for your organization to be able to configure an assignment with GitHub Codespaces. For more information, see "Using GitHub Codespaces with GitHub Classroom."