ariannedee/intro-to-python-livelessons

Will VS Code work instead of PyCharm?

Opened this issue · 1 comments

There has to be one who asks it, right? @ariannedee

I'm asking because some of the students may already have VS Code (or an editor of their choice) configured and available to use on their machine — is there any PyCharm specific thing that would require it I should be aware of for either of these courses?

@andyatcisco

Yes, it is fine if students use VS Code. The only requirement is that the official Python extension is installed. - Visual instructions

Why I recommend PyCharm over VS Code:

  1. I find that many errors that beginner Python students have will be caught and more easily corrected in PyCharm than when using VS Code. If you see a red underline (error) or grey underline (warning), you can hover to see what is causing the error/warning, as well as press ALT+ENTER to get a suggestion of how to fix it. It's a more pleasant experience (for me) to have visual warnings show up as I write code as opposed to runtime errors being thrown when I try to run the code.
  2. The built-in Python Console in PyCharm is a nicer feature than having to run Python in the terminal. It also shows the list of variables on the right, which is handy. If VS Code has this, I don't know how to get to it.
  3. I use PyCharm Professional in my day-to-day work so I don't necessarily have the best VS Code setup and I don't know all of the features or remember the shortcuts.
  4. The settings and configurations are more GUI-based in PyCharm, which I find easier to use and I feel like it is better for non-developers.

But lots of people know and love VS Code, so go for it! But I would recommend that people try PyCharm as well for a comparison because there are some really great features that overall can make for a much more smooth developer experience.

If you have any additional points to add for VS Code, please comment! VS Code has added some good refactoring features in recent years so I'm not always up-to-date about the latest state of Python support.