16. What is an IDE?#

captioning

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#

  1. What different tasks did all of you use an IDE for?

  2. What features of an IDE did you all use?

  3. Which features were used but not very much?

  4. 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#

  1. 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.

  1. 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.

  2. 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.

  3. (explore badge opportunity) Create a small repo owned by compsys named ide-USERNAME where USERNAME 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.