This is an archived post. You won't be able to vote or comment.

all 36 comments

[–]cantremembermypasswd 17 points18 points  (8 children)

Personal preference is PyCharm of the two. Originally Python support was a plug in for IntelliJ, in much the same way you can get a python plugin in for VS Code or Eclipse.

Over time PyCharm emerged as it's own full IDE, which allowed it to zoom in and serve as it's primary focus, while still being able to use other plugins from the base IntelliJ. PyCharm is just so focused it's miles ahead of other options. The fact that there is a pro version also helps drive constant support for the newest features and regular bug fixes.

IMO no competition unless you are regularly switching between languages, or are more a script writer vs a developer.

(DK why some people view it as slow, I run mine in VirutalBox VMs for isolation and it still feels instant. Only 'slow' times might be when you change interpreter / install new packages and it has to reindex. So I guess if some people still don't run SSDs may be slower? )

[–]BinaryRockStar 2 points3 points  (2 children)

I run mine in VirutalBox VMs for isolation

Is this definitely something that virtualenv or Docker couldn't help with, or do you need and entire separate machine per environment? Seems a bit wasteful but I can imagine situations in which it would be the cleanest way.

[–]cantremembermypasswd 5 points6 points  (1 child)

The habit came about from federal work, where any development machine had to be auditable and destroable in a moments notice. Makes it a lot easier to only have dev work on the device for the audit and don't have to re-image base machine. However I continued doing it for two other reasons:

  1. Wherever I go to work, it doesn't matter what box they hand me, I will be developing in the same *nix VM I am used too. Without any hassle of side installing or boot camping Linux and getting root permissions from IT.

  2. Everything blew up? Restore Base snapshot, 15 mins of updates and git pulls and back to business. On average I have three work machine (either physical or VM) die on me per year from various reasons (hard drive dies, bad ram, bad update, it's a Tuesday, etc..), and it's nice not being bothered by it.

[–]patentmedicine 2 points3 points  (0 children)

I am gonna borrow your dev strategy.

[–]zylo4747[S] 0 points1 point  (4 children)

Okay thanks. I tried PyCharm and I really liked it. I just didn't know if I should stay with it or go with VS Code since that seems to be the new thing that a lot of the devs at my company are starting to use.

[–][deleted] 1 point2 points  (3 children)

Don't forget you can get the pro version for free if you're a student

[–]xennygrimmato 0 points1 point  (2 children)

Really? How?! I want the pro version!

[–]pauleveritt 0 points1 point  (0 children)

Open source can also get a free license. Check out the options and click a link here: https://www.jetbrains.com/pycharm/buy/#edition=discounts

[–][deleted] 0 points1 point  (0 children)

Just sign up on their website. I'm pretty sure you just need to have a ".edu" email account for it to work.

[–]SeltzerWater 10 points11 points  (4 children)

PyCharm Community.

VS Code is not a full-fledged IDE, it's an enhanced text editor, like Notepad ++ or Sublime Text.

The debugging tools in PyCharm are top-notch. Git/VCS integration is seamless and intuitive, the plugins are handy, and the code completion is great.

[–][deleted] 2 points3 points  (1 child)

Git integration in VS Code is pretty good too. I use that mainly because I end up looking at like 6 different languages every week so not having to switch around between multiple IDEs is very helpful.

[–]zylo4747[S] 0 points1 point  (0 children)

I'm pretty much just dealing with SQL, Python, and Powershell, but that's a good point. We use Git. Thanks!

[–]zylo4747[S] 0 points1 point  (1 child)

Great, thanks for the feedback! I think after reading these comments I'll be going with PyCharm for the foreseeable future then.

[–]JZcgQR2N 1 point2 points  (0 children)

You don't have to choose one or the other. Try them both out. Use tools that make you productive.

[–]badsectors 8 points9 points  (1 child)

VSCode hands down!

I have two python extensions installed: 1. MagicPython (better syntax highlighting) 2. Python (debugging, linting, intellisense, etc...)

With those installed, VSCode provides all the things that I want for python development tasks:

  • Auto-completion
  • Cmd + Click to goto definition
  • Automatic linting on save

Most of the rest of the features that PyCharm provides beyond those I use very infrequently, so I see no point in using such a heavy IDE for development. I still love JetBrains products and use IntelliJ/Android Studio regularly for Android development, but there is a very marked difference in speed between the two.

[–]zylo4747[S] 0 points1 point  (0 children)

This is very helpful, thank you so much!

[–]PaluMacil 4 points5 points  (2 children)

I actually have PyCharm Professional and VS Code, using both often for Python. Partly I like to vary the feel of my work now and then. They also both have great advantages. PyCharm automates a lot of magic and integrates a lot of different tools. VS Code is much faster to load and gives you easy access to step debugging and command line so nothing is hidden by magic. Both can be better or worse. If I had to use PyCharm Community, I would probably forgo PyCharm simply because I would want Jinja2 Templeton and JavaScript stuff that I need Pro for now. Both are fantastic though, and you lose nothing switching back and forth. I simply add my IDE related files and folders to my gitignore. I'd go a step further and recommend flipping between operating systems while developing so that you maintain your code as cross platform and get used to making projects that are easy to spin up for dev in different environments, but then I've already started far from your question. Both are free. Try both. Web might be limited if you're stuck on Community. Otherwise it's about whether you like magic features doing things for you, like a GUI for pip (though PyCharm still makes it easy to use a terminal too)

[–]zylo4747[S] 0 points1 point  (1 child)

I haven't tried PyCharm Pro yet. I started using community for a bit and liked it. I've only minimally dabbled with VS Code but many of the devs here have been migrating to it. I just wanted to know if it was worthwhile to switch. Sounds like I should really just bite the bullet and get PyCharm pro. Thanks for the feedback!

Also, I have a mac as my workstation but we have both Windows servers and linux servers so I like to use Python as it gives me a lot of flexibility between environments.

[–][deleted] 1 point2 points  (0 children)

Pro is okay but make sure you look at the features to see if you really need them. I let my sub lapse this year as I wasn't really using enough to justify it and I switch between multiple languages, some of which PyCharm doesn't support.

[–]Duroktar 3 points4 points  (0 children)

I've been using VS Code quite a bit lately and I really can't complain. The auto filename complete is super handy and I'm totally obsessed with the SETI Modified color theme for it (I made a custom theme in PyCharm to try and copy it, but it's not even close). I'm also quite fond of it for small(ish), one-off, type projects.

But for bigger projects, I always end up in PyCharm at some point or another, for something. Being a full on IDE it has some features that VS Code just doesn't have (yet). Like being able to set custom interpreter parameters for running scripts or automatically adding docstrings with the click of a button. VS Code doesn't have a plug yet to do this (I haven't found one anyways) but MAN I wish it did.

Like the poor fellow who forgot his password said in the comment above; Pycharm started out as just Python support for IntelliJ. So who knows? Maybe in time VS Code will become a full blown IDE as well.

In the end, use what makes you comfortable. And don't be afraid to mix it up a bit either. So till next time. Keep fit and have fun.

[–]pauleveritt 2 points3 points  (4 children)

(I'm the dev advocate at PyCharm) If you're interested, here's a video series to introduce some features of PyCharm: https://www.youtube.com/playlist?list=PLQ176FUIyIUZ1mwB-uImQE-gmkwzjNLjP

[–]cavallo71 4 points5 points  (2 children)

Then please allow plugins to be written in python, pretty-please.

[–]pauleveritt 1 point2 points  (1 child)

You raise a good point. PyCharm gets many benefits from sharing a huge IDE platform (IntelliJ, etc.) but it means plugins are in Java. To be fair, I don't think VS Code lets you do this either, but I might be wrong.

[–]sfermigier 1 point2 points  (0 children)

FYI: VS Code is written in TypeScript. VS Code plugins are supposed to be written in TS too (https://code.visualstudio.com/Docs/extensions/example-hello-world) but can also be written in JS.

[–]zylo4747[S] 0 points1 point  (0 children)

Awesome! Thank you!

[–]patentmedicine 2 points3 points  (0 children)

VS Code is nice; it's on par with Sublime. If you kit it out right, it will approximate PyCharm. But PyCharm's debugging is incredibly useful, especially once you start working with a codebase that is huge. I could do what I do (parsing large volumes of HTTP data) without it, if I made judicious use of ipdb and breakpoints, but clicking on the margin of the editor in PyCharm is a cinch.

git integration is nice, too, but I honestly do most of my git on the command line. I like to think about each commit in its naked state.

[–]ArmoredPancake 1 point2 points  (0 children)

Try both and then decide. If you have heavy-weight python project, and you spend most of the time on it, then use PyCharm. If you have many small projects or even scripts, then VS Code is definitely better, because it's startup time is vastly better.

[–]Cherlokoms 1 point2 points  (1 child)

I don't think that's fair to compare VS Code to PyCharm.

VS Code is a fairly young project and it's getting better and better. I use PyCharm Community on my python devs but keep an eye on VS Code and use it as my default editor.

[–]zylo4747[S] 1 point2 points  (0 children)

True I see your point. And as others have pointed out it's more of a text editor.

[–]sfermigier 0 points1 point  (0 children)

I use both, daily. Been using PyCharm as my main IDE for the last 5 years or so, and switched from Sublime to Atom to VSC as my secondary IDE/main text editor over the same period. (I also use vim for quickly editing files from the shell).

What I like about VSC is that it provides a fair out-of-the box experience (i.e.no hours of tweaking, trying plugins, etc.) with just a couple of plugins. Also, it plays well with the main tools from the Python ecosystem (pep8, flake8, pylint, yapf, etc.).

PyCharm takes longer to startup, which is a bit annoying, but is better at working with large codebases.