Online

  • FAQs

  • Offline

Introduction

CS50 IDE is a cloud-based Integrated Evolution Environment powered past AWS Cloud9 that features a deject-based Ubuntu environment, a browser-based editor that supports syntax highlighting and word completion, a GUI-based GDB debugging, themes, customizable layouts, keyboard shortcuts, and many more features. Since it'due south cloud-based, yous can continue working on your problem sets even if yous utilize a dissimilar calculator!

Getting Started

  1. If yous don't already take one, create a GitHub account here.

  2. Visit ide.cs50.io.

  3. Click Sign in with GitHub then login into your GitHub account and authorize the CS50 IDE GitHub app if prompted.

  4. Once you log in, you will automatically exist forwarded to CS50 IDE! Future, you lot may simply render to ide.cs50.io to log in and return to CS50 IDE, where all your files and settings are preserved.

Working with Files

Creating Files

There are multiple means to create a new file in CS50 IDE:

  • Click File > New File.

  • Click on the petty push atop whatsoever of the open panes and choose New File to open a bare file in that particular pane.

  • From the file browser on the left, right-click or command-click on a directory and choose New File from the menu to create a blank file inside that directory, then double-click that file to open it.

  • Press Alt + North (on a PC) or + Northward (on a Mac).

Saving Files

When a file is open in a tab and yous have some unsaved changes, CS50 IDE will show a crimson dot atop that tab, until you salvage your changes. Probably the easiest manner to save a file is to press Ctrl + S (on a PC) or + Southward (on a Mac), only you can too reach the aforementioned by clicking File > Save (or File > Salvage As… if you want to relieve that equally a new file), while you're working on that file.

Downloading Files

To download a file from your workspace to your local calculator, but navigate to the location of that file, in the file browser on the left, right-click on that file's name, and cull Download.

To download all files in your home folder (i.eastward., ~/ ), click File > Download Project.

Uploading Files

To upload a file from your local reckoner to your workspace:

  1. Select a directory where yous want your files to get uploaded into, past clicking on that directory in the file browser on the left. By default, this is going to be your ~/ directory.

  2. Click File > Upload Local Files…, then choose either Select files or Select folder, depending on what you desire to upload.

File Revision History

While working on a file, yous can easily undo changes past clicking Edit > Undo or by pressing Ctrl + Z (on a PC) or + Z on your keyboard. Similarly, yous tin redo changes by clicking Edit > Redo or past pressing Ctrl + Shift + Z.

The CS50 IDE also keeps runway of file revisions, in example you want to toggle between file revisions, without having to undo or redo many times. You tin evidence the whole file revision history past clicking File > Testify File Revision History, which will prove a timeline like to the following, on which you tin click to jump to a particular version.

Working with Terminals

Terminals allow yous to interact with the underlying Ubuntu environment of CS50 IDE, using textual commands, to exercise all sorts of things, such as creating, copying, or moving files, compiling and running your programs, and more than.

Opening New Terminals

When CS50 IDE outset starts, there should be a terminal tab open at the bottom by default. Y'all tin can also open a new last tab in that or whatever other pane of your choice by clicking the button atop that pane, and choosing New Terminal. Alternatively, you may just hitting Alt + T (on a PC) or Selection + T (on a Mac).

By default, the current working directory (CWD) in a new terminal is your ~/ directory. You can always navigate to your desired directory using cd path/to/directory . To open a terminal in a different directory, navigate to that directory in your file browser, right-click (on a PC) or Ctrl-click (on a Mac) on the directory's name, and choose Open Terminal Here.

Copying and Pasting

You lot will probably need to copy and paste commands into terminal tabs to run them. By default, copying and pasting via menus will piece of work within CS50 IDE, just you may have to grant the IDE permission to encounter the contents of your clipboard first. You can either choose to grant the IDE that permission or use your keyboard to copy and paste instead by pressing Ctrl + C and Ctrl + V> (on a PC) or + C and + Five (on a Mac).

Command History

You volition be often using the same commands over and over. Whether you don't remember a particular command, or too lazy to blazon it again, yous tin leverage the command history that is kept past your terminals. Y'all can scroll up and down through the list of commands by pressing your keyboard'due south upwards or downwardly arrow.

Additionally, you tin can search for a particular command by pressing Ctrl + R (on a PC) or + R (on a Mac), and so pressing the same key combination again to scroll through the matches, and finally Tab to select a particular match to modify information technology before running or Enter if you want to run it directly.

Immigration Terminals

From fourth dimension to fourth dimension you will need to articulate your terminal and so that information technology'due south easier to see what you're doing. In that location are 2 main ways to do that

  1. Printing Ctrl + L (on a PC) or + 50 (on a Mac). This doesn't actually clear the terminal, merely rather just scrolls down, and then you can always scroll back up and see what got cleared if y'all want to.

  2. Press Ctrl + Yard (on a PC) or + K (on a Mac). This really clears the terminal; you won't be able to scroll support and see what got cleared.

Troubleshooting

If y'all desire to force a plan to quit, for instance because information technology's stuck in an infinite loop, printing Ctrl + C (on a PC) or + C (on a Mac). It may take several seconds for the program to respond.

Every bit a last resort, in case the program won't stop, you lot might demand to forcibly kill it. Perhaps the easiest fashion to do that is to just shut the terminal tab, clicking Close when prompted, and opening a new 1.

Layouts and Themes

Layouts

The CS50 IDE is very customizable when it comes to laying out panes and tabs. You could very easily split a pane horizontally or vertically, by right-clicking (on a PC) or Ctrl-clicking (on a Mac) somewhere next to the button atop the pane y'all want to dissever and choosing Dissever Pane in Two Rows or Split Pane in 2 Columns.

You could besides move tabs between different panes by dragging and dropping a tab to the targeted pane or even to somewhere you want a new pane with that tab to be created.

Themes

By default a theme chosen Cloud9 Twenty-four hours is selected, but if you lot prefer a nighttime theme, you can select information technology via View > Night Mode.

Presentation Mode

CS50 IDE also provides Presentation Mode in which the user interface is even more simplified and font sizes are larger. You can toggle that mode via View > Presentation Mode.

Sharing Your Workspace

Adding a Member to Your Workspace

  1. Head to your IDE and click Share on the top-correct corner.

  2. Nether Invite members, type in the GitHub username of the user you'd like to share your IDE with and click Invite.

  3. Copy your IDE's link and share it with that user. They should now have access to your IDE.

Removing a Member to Your Workspace

  1. Head to your IDE and click Share on the top-right corner.

  2. Under Who has admission discover the GitHub username of the user you'd like to remove from your IDE.

  3. Click the x push to the right of that username. They should no longer have access to your IDE.

Reporting Issues

If having any bug with CS50 IDE, delight contact mailto:sysadmins@cs50.harvard.edu with all the necessary information about the problem, and how to replicate it, attaching screenshot(due south) if need be!