16. What is an IDE?#
quantum available for URI researchers
16.1. Review your notes#
Important
Do this before proceeding to the next section
Either discuss with peers in class or on the GitHub (asynch) discuss commonalities in your IDE notes.
16.1.1. In person#
What different tasks did all of you use an IDE for?
What features of an IDE did you all use?
Which features were used but not very much?
Share the most helpful IDE feature you use?
Update your individual IDE notes with 1-2 things you learned from your peers.
16.2. Learn more#
16.2.1. In person#
In class with your peers you can divide these up and read one and then share key points with others.
With your group, build a list of IDE attributes or features that would be important, and make a table of how would you evaluate attribute? Which ones would you evaluate by just if it exists or not? Which ones would you evaluate in different degrees, what attributes of them would you evaluate?
16.2.2. Group Feature Ranks#
IDE Feature |
Evaluation |
Rank |
---|---|---|
Code Completion |
Suggests method names, variables & libraries as you type. makes it faster to code & mostly error free. |
1 |
debugger |
how clear the debugger is when showing error |
2 |
extentions |
the ide has option for user-created assistance |
3 |
program runner |
runs and compiles program easier than using terminal |
5 |
sync |
allows saving between systems |
6 |
terminal |
allows you to access & run commands from the IDE |
8 |
non-language specific |
allows multiple languages |
4 |
file storage |
programs/files are easy to fine/access |
7 |
IDE Feature |
Evaluation |
Rank |
---|---|---|
sync |
how many devices can you run it on? |
5 |
tab completion |
how much context is it able to interpret, AI? |
2 |
side by side |
how is the multitasking of different file? |
6 |
type coloring |
are different types highlighted with different color? |
3 |
hovor info |
do I get information from text from hovering |
7 |
pets |
are the pets cute and move around? |
8 |
debugger |
can I set breakpoints, get info from them? |
1 |
terminal |
can I run terminal commands |
4 |
IDE Feature |
Evaluation |
Rank |
---|---|---|
live server (preview) |
how useful is it when creating a web page or when using a markup language? |
5 |
debugging feature |
It is useful to debug in CLion able to jump into lines and see var values. |
1 |
Keyboard shortcuts |
How much customizability is available? |
3 |
Live Share |
Perfect for pair programming or gorup projects |
4 |
Built-in extention support |
Is it available? How many extensions are available? Does yours have pets? |
2 |
IDE Feature |
Evaluation |
Rank |
---|---|---|
Debugging |
How effective is it in conveying UI? |
3 |
Zen Mode |
Does it have this feature? |
8 |
Ai-assist |
Customizable? |
9 |
C-Make |
Efficfiency |
2 |
Git-Hub integration |
Simplicity/Practicality |
5 |
Auto indent |
7 |
|
Multiselected Lines |
6 |
|
Autofill |
4 |
|
Terminal integration |
1 |
16.2.3. Makeup#
After reading the above, also read at least 3 different articles about the “best IDE” for your favorite language or for multiple languages.
Notice what IDE attributes or features the authors think is important, and how they evaluate each criterion. Which ones are evaluted as present/missing? Which ones are evaluated in more detail.
Add to your experience report, summarizing what you found the most important criteria to be and if you personally agree or not.
16.3. Prepare for Next Class#
16.4. Badges#
Try a new IDE and review it in newide.md. Your review should be 3 secictions: Summary, Evaluation, and Reflection. Summary should be 1-3 sentences of your conclusions. Evaluation should be a detailed evaluation according to your group’s criteria and one other group’s criteria. In Reflection, reflect on your experience: What is easy? hard? What could you apply from the ones you already use? Were there features you had trouble finding?
The first two tasks are the practice task, the thirds is a pre-approved explore badge. Hover it on your issue to create an independent issue to track it. Title the new issue Explore: IDE
. On the explore badge, when it is ready for submission, request a review from Dr. Brown.
In bestide.md, compare two IDEs using your group’s table from class, to evaluate each of them. Your review should have an introduction that justifies the ranking and defines the criteria, a section describing each IDE with respect to all of the criteria and your overall experience with that IDE, and a conclusion that explains which of the 3 is the best based on your evaluation.
Configure your VS Code preferences to your github account. add settingssync.md with a description of what settings you customized and synced and reflect on why this is an important feature and what prerequisites to it might be.
(explore badge opportunity) Create a small repo owned by compsys named
ide-USERNAME
whereUSERNAME
is your gh username with some example code, a vscode/codespace devcontainer file that installs CodeTour and your favorite extension(s). Write a CodeTour that walks someone through using your favorite extension to do something with the code. The example code can be any language, can be very simple, can even have a bug in it if that helps your example. You can use an-IDE integrated LLM (eg GitHub Co-pilot, not the chat version) to generate some code for this purpose if you do not have some available to you already, but you cannot share solutions to a course assignment without that instructor’s permission.