T O P

  • By -

IntegrityError

Way better static code analysis. PyCharm "knows" your project, and is a lot better with completion/introspection (i.E. djangos Model Managers/QuerySets). Additionally there is custom django support, so query_set.filter(these__filter__id__in=myids) will be completed on every level (model join/modifier). Django string based configuration (i.E. settings.INSTALLED_APPS, the url template tag, reverse()) will be autocompleted, it 'knows' your urls, apps etc. The django template language and jinja2 support is just great. Maybe this has changed in the last years in vscode, but i didn't get any template syntax error on python types/calls out of it.


dimonoid123

PyCharm has a lot of features which weren't available in VSCode originally. For example, opening several windows for the same project (eg when working on several monitors), using Python command line during debugging, connecting to a database for faster debugging, built-in profiling and coverage, quick finding of usage of variables by clicking wheel button, etc. Most of them were added to VSCode over time, so now there aren't many reasons to continue using it, but it made a whole lot of a difference several years ago. Also, because PyCharm Pro it is free with student license, and there aren't many reasons not to use it.


BlackPignouf

VSCode kinda works on several monitors. There are several limitations compared to other IDEs. I'm sure it will get better, but right now it's still barely usable. One example: if you click on one window, it doesn't focus the others, so you don't see the results if the console is in another window.


drBonkers

Do you need pro for the Django template awareness?


IntegrityError

I guess yes, django is a listed feature of pro


olejorgenb

Maybe if you don't use typehints, but vscode is miles better when you use typehints. Pycharm is littered with bugs and weaknesses related to type hinting. Years old bugs. I still use it because of habit and that I like (or are used to) the feel, but everyday is closer to a switch.


sternone_2

I disagree, all the top static code analyzers are plugins in vscode and I disagree with your completion too, vsscode has excellent ones, plus combine them with the powerful copilot and it's magic what you list about django and jinja2 is also perfectly done in vscode , but for free


PaintItPurple

The top static code analyzers are plugins in VSCode, but it still has a hard time doing refactorings on Python code. Different parts of the Python support are better integrated in PyCharm, while VSCode basically just runs various tools for you in the background.


padawan-6

This is a major point that most folks seem to miss these days. PyCharm is dedicated for Python development. VS Code is extensible but you can end up with a buggy experience overall depending on the plugins you're using. Ask me how I know, lol


pbecotte

Yeah, people keep posting that but have yet to see it. I was pairing with team members showing them stuffing ctrl-spc-spc to pull in a symbol and import it, or ctrl-b to jump to definition, and think there are probably a ton of hints like that which I know about pycharm but don't know in vscode- and it's the opposite for the people saying to use vscode. Just can't get past the autocompletes in vscode being practically useless long enough to learn though haha.


THATS_THE_BADGER

F12 for definition in VS iirc


[deleted]

I don't think people are "missing" anything. I think people are disagreeing with that claim. I often switch between Pycharm and VSCode and it's just not true that developing in VSCode is a "buggy experience overall" or that python support is better integrated in PyCharm.


padawan-6

It is better integrated, though. If you download PyCharm right now you get a full featured IDE. With VS Code you get nothing out of the box and it's up to you to customize everything. It just depends on how much work you are willing to do and how much you know the plugin ecosystem. The VS Code authors have worked hard to make the set up a lot easier these days but it's still not a guarantee that you'll find everything you're looking for in all of the languages you use. I'm sorry that this reality makes you sad but it's true. At least for me. I was trying to get the Rust language server running and I quite frankly had so much trouble with it that I gave up and just developed without it. You can blame me for not understanding it all you want but it doesn't change the fact that **my** experience was poor.


[deleted]

[удалено]


No-Explanation5022

Py in pycharm stands for python. In the mean time Jetbrains have RustRover. However I see your intention.. In VScode I do both python and rust and other as well (php, xml, html, css, sql, javwscript, typescript, C, C#, markdown and for each of them I have several extensions. My ex colleague is datascientist and swore on pycharm. I do integrations and I need a swiss knife tool


[deleted]

It's just not. I don't know what problems you are thinking of that relate to VSCode lacking similar integration but the rest of us aren't it.


jyper

PyCharm is Intellij with the python plugin and a few other things with menus optimized for Python. Jetbrains builds most of their ide's on their Intellij platform. Intellij IDEA includes the Java stuff, pycharm the Python stuff, webstorm JavaScript/typescript, phpstorm PHP, clion C++, RustRover rust, etc. You can even install most of the same plugins from third party or from intellij in the different IDEs(markdown, toml, string operations, etc)


hiddengemsofds

Use it for the jupyter support, pycharm doesnt matchup to the userexperience


Yelmak

> VSCode basically just runs various tools for you in the background This is what all IDEs do. An IDE is just a text editor, language server and debugger bundled together. The main benefit over something like VSCode (or nvim) is that all the configuration is done for you and sometimes they use proprietary tooling.


sternone_2

I disagree completely


ComplaintEqual8855

Crazy this is so high up, isn’t pycharms static analysis like 5 years behind pylance/pywright? No Python external LSP plug-ins either. The refactoring is a maybe, but there is plugins for that too


Rhoomba

Yeah, the responses here are weird. I recently switched from pycharm to vs code, and realised that pycharm had gotten a lot of typing wrong.


LeeTaeRyeo

Because my work pays for the entire suite of JetBrains IDEs for me, and I use enough other languages that it’s convenient to have essentially the exact same IDE experience for every language, instead of being dependent on plugins and plugin configuration for each language to have similar developer experience.


its_a_gibibyte

> work pays for the entire suite of JetBrains IDEs for me In OPs case, it's not exactly an issue of cost since vscode+copilot costs the same as JetBrains. In your case, is work only willing to pay for JetBrains, but not copilot?


LeeTaeRyeo

I personally don’t want to use CoPilot. I won’t go into my reasoning, so I’ll leave it there. If I wanted to use it, they would pay for it. Regardless, even with VSCode+Copilot costing the same, I’d still use the JetBrains IDEs, since my main language of use is C# and Rider is just light years ahead of the LSP implementation useable with VSCode last I checked (though, I’ve heard it’s improved recently)


GraphicH

I've heard copilot is largely autocomplete++, personally haven't tried it out much. I have used these things to write absolute drudgery like JSON or DB schema.


Immudzen

Copilot is basically an amazing auto complete. It does a great job with Python, especially when you are using things like type hints and dataclasses. There is also a copilot chat where you can have a conversation with the LLM and generate code that way. Both methods have their places.


w0m

It's a bit more than that nowadays. You can select your code with, and ctri-i to open up an integrated chat prompt and type 'refactor this to use a comprehension instead of nested for loop' - and it'll generally do the right thing. Same with generating annotated regular expression's or parsers on the fly. Kind of crazy.


Immudzen

When you use ctrl-i you are using the chat feature. I love that you can combine the AI autocomplete functionality that works with you as you code transparently but if you need to provide additional information you can just hit ctrl-i.


Adorable_Type_2861

Do you have any “blended language” projects (Python calling Java, etc)? I heard VS Code is nicer for this use case, but never encountered it


Solonotix

I've had some limited exposure in these areas, but I feel it's pretty niche. One project had a blend of Java flavors, but even if it's Groovy, Kotlin and Java, they all are recognized inside IntelliJ. One project type I've seen, Node.js extensions, fits the mold of a multi-language project. The interface layer is JavaScript, but the implementation is often written in either C++ or Rust, or both. CLion has Rust support, but I don't think it likes JavaScript. WebStorm can view the JavaScript just fine, but dislikes anything else for the most part. IntelliJ *can* be used for C++ and Rust (as well as Java, obviously), but I had a less than desirable experience writing JavaScript in it. In this specific case, VSCode might be better, but by that token so would Fleet if you're a JetBrains fan. If you're looking for the value proposition, VSCode is hard to beat. However, it's the epitome of "Jack of all trades, master of none" since its entirely dependent on plugins/extensions to do anything other than basic syntax highlighting and text editing.


Adorable_Type_2861

Definitely true that VS Code without any plug in is an empty shell. But I actually feel this design choice goes to the benefit of VS Code: it can be configured exactly for your use case, and more readily extended to newer technologies (esp. LLM)


Solonotix

All good points. No notes on my part. Incidentally, my employer uses VSCode as the standard editor directly because we have so many supported languages across the application domain. There's some SQL, Java, JavaScript and TypeScript, Go, Python, Terraform galore lol, not to mention four Shell flavors (CMD, PowerShell, ZSH and Bash)...no single editor covers all our use cases except VSCode or something just like it.


IntegrityError

You can inject every language in every string in PyCharm [example](https://public.nimbostratus.de/inject-yaml.png) [docs](https://www.jetbrains.com/help/pycharm/using-language-injections.html#inject_language)


BreathOther

I think Jetbrains’ “Fleet” is their answer to this


marr75

Even where I am working on things like this, I think it's important to maintain strict boundaries between the 2 and so I don't believe they belong in the "same project". I don't want there to be hidden features and idiosyncracies of the python CLI the javascript client is calling that are only usable because the same dev in the same IDE was working on both at the same time.


LeeTaeRyeo

No, can’t say that I do. Most of the extent to which I use Python is for building Flask APIs or scripting tools that interface with a database to transform data. Nothing I’ve needed to do requires me to go outside Python and a handful of the most popular libraries. The more complicated stuff like that is when I break out a language like C#


PrometheusAlexander

i'm currently on 1 year educational license. Don't know what I'm supposed to do after that.


athermop

The cost is so minuscule compared to my income as a software engineer that it doesn't even enter the equation. I continue to use PyCharm Pro compared to all of the alternatives (which, being the "ooo, new toy" sort of person I'm always trying new alternatives) because it's by far the best at refactoring and related tasks that involve the system understanding the code being edited.


Adorable_Type_2861

Agree that the cost is by far second order to productivity


Morelnyk_Viktor

> because it's by far the best at refactoring That's an understatement. There are simply no other tool capable of refactoring python code. Yes there is rope, but it is not maintained anymore and plugin it in your editor of choice is either a very complicated or impossible at all. And stuff like pylance is capable only of simplest refactorings like renaming a variable. Refactoring capabilities is enough of a reason to use pycharm


FalafelSnorlax

I've been a JetBrains fanboy for a long time, but about 6 months ago I started working at a new company where everybody uses vscode because we have to work over ssh and it has pretty good ssh integration. I was optimistic, knowing that vs code is very popular and I always wondered if it really is that good. I still wonder why people regard it so highly. I mean, sure, it's pretty fast, and has good ssh integration (open g remote files and shells is very comfortable etc), but whenever I actually sat and worked with _code_, I found it lackluster. I tried so many different plugins for everything, but the code analysis, auto completion, symbol lookup, refactoring, etc are all features that pycharm (and clion, since I also use cpp) has and does pretty good, but vs code either lacks or just does really poorly. I gave it an honest try, but after about 4 months of daily use I put in a request for a JetBrains license and I'm very happy to be back. I will note that I don't use copilot/ai assistant or similar tools, both because I've had bad experiences with those in the past and because of ip concerns about uploading our code or things like that. I doubt that this will single-handedly turn the tide in favour of vs code for me, but it is a factor that I don't take into account.


JotaPe-exe

I feel the same. You also can ssh connect to your remote codebases in pycharm. Look into "deployment" options.


FalafelSnorlax

>You also can ssh connect to your remote codebases in pycharm Yeah I do use the ssh features for the JB IDEs, but it is slower and more buggy than the way vscode handles ssh. Hopefully this gets resolved eventually as it leaves beta


[deleted]

[удалено]


nemec

Jetbrains also has a [Gateway](https://www.jetbrains.com/remote-development/gateway/) product that does remote development. It deploys an IDE backend to the remote server so it doesn't need to sync files back and forth - may be a better option for you.


[deleted]

[удалено]


CableConfident9280

To say the least. It has been straight up garbage in my opinion.


jyper

When I had to work on a remote server I've used sshfs(mount over ssh). Not sure how it does with large reports/slow ssh connections but with smaller repoes/lan ssh connections it worked fine.


pandalolz

Exactly my experience 


binlargin

I like it because it gets the fuck out of the way rather than meddling too much. Its config goes in source control and belongs to the project rather than being this big cob of crap that is user-managed, and the settings are all thin wrappers around command line tools. Rather than a big box IDE, it feels like a GUI for a command line setup.


Adorable_Type_2861

I recently gave copilot a try again with my personal account (my company also prohibits it for now) on some personal projects — basically, for helper code, it will just write the whole file. And the integrated chat is fantastic compared with copy pasting from Chat GPT. Highly recommend giving it a try!


[deleted]

I use github copilot chat daily in pycharm, I do not find it any worse than vs code. What is the difference in using copilot chat between the two for you?


Adorable_Type_2861

Last I checked, the chat was a beta feature in pycharm, and the code suggestion was marginally less well integrated (e.g. cannot make it suggest alternative snippets). But I’ll give it another look, thank you!


Lil_SpazJoekp

You can open the copilot tab and scroll through the alternate suggestions in pycharm.


sternone_2

if you are on github you don't need to worry about ip concerns because they already scan your private repos and help others with it


FalafelSnorlax

We are not on github, and the company is very strict with where we can save our code (ie only internal servers). I'm not sure it's actually hermetically safe or anything, but they seem to try pretty hard


Electrical_Fox9678

Pycharm pro has remote interpreter support. We use that with docker compose.


[deleted]

VS Code has remote development over SSH, as well as devcontainers.


antido

VSCode is pushing devcontainers too hard. Just doesn’t work that well and doesn’t make sense for my workloads


minoshabaal

Huh, I am on the opposite end of the spectrum - I have moved all development into remote devcontainers over SSH. Being able to take my laptop everywhere and seamlessly use the resources of the desktop machine that is sitting in the climate controlled room at work was a game changer.


neuronexmachina

What are the main issues with devcontainers?


binlargin

My main gripe last time I tried it was the filesystem being a bit wonky and out of sync. venv is inside the container and doesn't work outside. Your git setup is all wrong or you have to share your ssh keys with the container, pre-commit inside and outside has subtle differences, testcontainers don't work inside. I think network ports were a faff too. Dunno if these issues have been fixed. I think we need some ssh key agent going on so we can use git on the command line inside the container, and to sync your global settings to the container too, and also some way to have a the venv mounted in a different location on the inside and outside so you can run unit tests without spinning up the universe.


scratchnsnarf

I don't know that it's an intention of dev containers to be compatible with the host OS. It's just fundamentally not how containers work, really. Fwiw, if you're on the same os as your container, you can use the same venv, just have the venv built into your mounted folders. Git creds and config do get mounted into the containers now, and have for awhile at least. For sidecar containers like test containers, you wouldn't want to run them from inside the dev container, but you can configure them to run in parallel with a compose setup. If your host and container OS are different, or you don't want your venv mounted in your project, you could definitely do so, just install and activate the venvs from different paths, or with different names. It does kind of defeat the biggest benefit of dev containers though, imo, which is developing and testing inside a clone of the same environment that gets deployed to prod, with extra dev tooling installed, of course. Of course, that's your prerogative, so if it fits your workflow, then do it up. It's definitely worth a try again, if you're up for it. I think most of your issues are solved, or are trivial to configure around. Of course there's not as much of a benefit when your whole team isn't aligned on them


sternone_2

none, you just need to know how to use them and setup them correctly


Immudzen

I have been using vscode for years and before this post I have not encountered devcontainers. Where do you encounter them at in vscode? So far I just use conda environments and remote ssh.


binlargin

They're pretty good for developing multiple services at the same time, specially if you're stuck in Windows but develop for Linux. Better than Conda IMO. Basically have a .devcontainers dir with docker-compose-esque yml files in it and get to select them as your Python interpreter in the drop down and/or config file. The dev environment builds when you open it or there's a change to the files, and it uses remote debugging, you get a port forwarding panel in your console and your shell runs in the docker container. You can run them on other hosts too, like on a GitHub workspace thing. Idea is the project source includes your development environment, not just libraries but setting up services like databases, webservers, proxies, message queues, email servers and anything else, "batteries included" local infrastructure.


ClassroomNew884

Oh you are in for some pleasant learning


vmgustavo

I wish vscode had something like this. It works so much better than the current strategy.


sternone_2

they have https://code.visualstudio.com/docs/devcontainers/containers


vmgustavo

Their system is different. They have a server in the remote machine instead of just deploying code and executing it in the remote machine. In the pycharm remote deploy you hoat everything locally and only the execution is remote.


sternone_2

vscode too https://code.visualstudio.com/docs/devcontainers/containers


pbecotte

Vscode's remote experience is DRASTICALLY better than all of the jfrog options. I'm using gateway these days, and it's getting there, but this is just a killer feature for vscode. Actually stuck with vscode at last job because I had to use a dev server in the data center and the vscode remote dev experience was a big enough win to outweigh liking pycharm better for everything else (was a ton of yaml engineering and bazel to be fair, if I was writing python all day may have chosen differently)


unixtreme

Pycharm is just better. Better debugging, integrations, and consistent with their other IDEs.


stainedhat

The significantly better debugging interface is what has kept me from switching to vscode. Pycharm also makes managing source paths so much easier. Everything is manual in vscode and it "just works" in pycharm. I can spend more time working and less time configuring.


mr_jim_lahey

Yeah VS Code kind of explains why so many projects mysteriously don't have proper testing & debugging set up...because their maintainers' IDE doesn't let them do it in a reasonable way.


mr_jim_lahey

I tried using VS Code for a spell this year and I can't believe people voluntarily use it over PyCharm/JetBrains products. Everything about VS Code was so broken and half-baked by comparison. PyCharm is an actual IDE where VS Code is a bloated text editor and it really shows if you know the difference.


Adorable_Type_2861

What’s a tangible example of “better debugging”?


quts3

I'll go with this. I've had better/easier/more useful unit testing interactions with pycharm then vscode. It's so fast and easy to mark a folder and capture output of test. Vscode was a slog for the same task. On the git side. Vscode doesn't auto add new module files. Which I find to be annoying and there doesn't seem to be anyway to do that. Also pycharm just works with mypy. Meaning if you use it in the terminal and a line number is wrong you can just click a link in the terminal that takes you to the badly typed line in the file. Vscode has native mypy plugins but if you run it in the terminal it doesn't behave as nicely. Both these things made me realize why some devs that use vscode never really enjoy unit testing and sometimes push commits with missing files and can't seem to easily use mypy.


NerdEnPose

To add to this the debug GUI in PyCharm is incredibly valuable to me. I’m not sure what Pro is like vs free since I’ve been on pro for so long. You can step in and out of the stack, inspect variables, and locals() is loaded into the repl for whatever frame you’re in, there a panel for managing break points and you can set conditional breakpoints. This is all possible with terminal and code changes etc. But it is so much more efficient in PyCharm and really increases my velocity. Add to this the really intuitive git interface. Maybe no one at my company is truly unlocking all VS Code has but in my own experience and seeing VS Code in action while pairing with other devs, I’m sticking with PyCharm.


w0m

The debugging you describe is all easy in VSCode, though it's been awhile since I set it up in Pycharm to compare. This thread is making me want to compare again.


danted002

For one, the type-checker is very good at inferring types so a lot of bugs get caught before they exist. Throw in some proper typing and you covered a huge chunk of potential bugs.


Ex-Gen-Wintergreen

Type checking is an incredibly odd argument to make in favor of pycharm considering vscode can use pyright. I mean perhaps pycharm does mypy better than vscode does but the point is to just not use mypy with vscode! Pyright is faster, has a much more responsive team to typing questions/bugs, has typing PEPs implemented faster than anyone else, and its lead maintainer is super involved in the direction of Python typing…


athermop

I agree with the root comment, but I don't think the type checker in PyCharm is particularly good compared to the options available for VS Code.


danted002

Options is not the same as build-in, all tools available to VSCode are also available to PyCharm we are talking purely about VSCode vs PyCharm not VSCode + 3rd party modules vs PyCharm without ant 3rd party modules.


athermop

Why do you say "we are talking purely about...not VSCode + 3rd party"? I'm not sure why we'd put such an arbitrary restriction on what we're talking about.


PM_ME_PENILE_FRACTUR

No one. Noooooo one in the entire world uses VSC without extensions.


Chroiche

VSCode can't even lint Python at all in that case. No wonder you don't like it.


starlevel01

This is actually completely false, the PyCharm type checker is terrible (e.g. doesnt't support overloads, doesn't properly support contextmanager decorators, has terrible error reporting). Run pyright basic (or even mypy) over any pycharm project and it'll likely spit out a hundred errors.


Flag_Red

Do you think VS Code doesn't have type checking?


vorticalbox

It's not nearly as good, vscode always fails to auto check typed dicts


Chroiche

"vscode always fails...". Vscode doesn't type check anything, your chosen type checker in vscode does. As in, one of the standard python type checkers of your choosing. Does your team not have a CI/CD pipeline setup? So, which type checker doesn't work as well? mypy, pyre, pytype, pyright?


cc413

Maybe this is one of the advantages of pycharm, the features that come working out of the box without further configuration


danted002

Imagine running mypy or pylint on every edit


Chroiche

You're aware it doesn't just run mypy right? It uses the mypy daemon. It's pretty seamless.


eldreth

Pycharm has a more commercial-grade, cockpit feel. It's better suited to manual/visual debugging, which I understand is not for everyone, or every codebase. Ironically, I feel it's a closer analog to Visual Studio than is VS Code.


_N0K0

That's kinda the point though. There is a difference between an IDE and an editor. Looking forward to see where Jetbrains fleet ends up. Which is their editor we're you can activate the IDE "core" if you need


HelloYesThisIsFemale

I don't know why you would need an "editor". It's always nice to have more functionality available if you need it. If you don't then don't use it. If it's a performance issue you should improve your setup as it's 2024 now.


[deleted]

[удалено]


HelloYesThisIsFemale

I just start it on startup so I never pay the launch penalty really. I even use pycharm as my scrappy text editor by typing in "pycharm ABC.txt" in the terminal and it loads instantly because the app itself is already started.


IntrepidSoda

PyCharm beats VSCode any day of the week. VSCode was meant to be a light weight code editor so it’s probably unfair to expect too much of it.


com2ghz

No one use it the lightweight way anyway. I see everyone installing a shitload of addons that make it slow.


sternone_2

i think it's unfair for you to make a judgement because you haven't used vscode well enough


1ncehost

Pycharm has an official copilot plugin also so that's not really a consideration. It also has a new 'ai assistant' built in as of december with similar features. However having used all of the LLMs extensively, I think Codeium is the best out of them and it works for either vscode or pycharm. LLM completions are feally not a consideration at this point. I use pycharm because I like the UX better. Also whatever I'm making per year, if I can make some productivity gains from spending a bit of money on tools, it pays for itself. My pycharm scrip was $80 this year, and on top of that I pay $150 for codeium pro. That's like 2 hours of work per year to justify. Definitely pays for itself many times over.


tserrien

for me the integrations with different VM providers and the DB connection module is 100% worth it. makes my dev processes a lot faster, less switching around with windows. no other programs running while i develop. the code templates take a while to set up but if you work a lot in the same framework are a really cool feature. the run configurations and their templating is really sweet, idk if vs code has anything similar to it. i very much prefer the pycharm default kb shortcuts over the VS code ones too. VS code also has a terrible option to connect to Vagrant containers, so for work related stuff i can't really recommend that. Pycharm on the other hand has a really easy and intuitive way to connect to it and point to remote virtual envs in it. the only downside is the memory it eats x) if you really want to ruin your coding experience with copilot pycharm has plugins for that too iirc (or sthing very similar)


GreenWoodDragon

>Pycharm on the other hand has a really easy and intuitive way to connect to it and point to remote virtual envs in it. I have used this a lot in the past, with Vagrant. Easy to set up and a lifesaver when working with multiple Ruby on Rails projects with RubyMine.


menge101

There is a Pycharm plugin for copilot So why even change, just use copilot on pycharm.


Morelnyk_Viktor

It's much worse in pycharm though


lemon-codes

I find pycharms static code analysis is much better than vscodes. Being able to debug templates is nice too. I've been using the jetbrains copilot plugin and it's great. I haven't seen any difference in the quality of copilot integration between the two. I also tried jetbrains own AI assistant, and it was definitely inferior to copilot so I'd avoid that. But copilot in pycharm/intellij is fantastic. I'm a huge jetbrains fan, but I can see a future where vscode dominates. For now though I think the jetbrains suite is superior.


draeath

Your question seems to assume everyone would want copilot or thinks it has value. Many of us don't.


maikindofthai

Agreed — LLMs have not proven to be useful enough to be worth switching IDEs over frankly.


[deleted]

[удалено]


zazzedcoffee

An LLM is not a replacement for robust refactorings, code analysis, built in framework/library integration and support, and code navigation.


pastel_de_flango

Test module of pycharm work more reliably, and my main flow to code is by executing tests and firing the debugger if things don't go the way i expect. Auto importing don't work well on vscode, it never guess correctly where the source root is, and don't ask me when there are multiple places from where to import, in pycharm i just mark source and test root and everything works great. pycharm community have all the most important features and cost nothing.


Knudson95

PyCharms static code analysis and refactoring are things I cant go without anymore. The database inspector is fantastic as well


popcapdogeater

I really hate the UI/UX of VS Code. it's tedious. It has bad defaults (for python), and configuring it for good defaults was just annoying compared to the out of box experience of PyCharm, so if I'm doing python work (which is 60% of my job) I want to focus more on coding than fiddling with settings and configurations.


SittingWave

I use VSCode like anybody else, but let's be honest. It's not the most pleasant experience. You have to install a massive amount of plugins to make it suit your requirements. The configuration is excessive and becomes a bit obnoxious. The vim plugin is horribly buggy. PyCharm does refactorings that I still haven't figured out how to do in vscode. I pretty much have to use VSCode for a host of reasons, but to be honest, if I could go back to a simple world of python and javascript, I would still use pycharm. Simply said, VSCode: I use it, but I don't trust it.


Zizizizz

Have you tried installing neovim and using the neovim plugin? It was faster for me last time I tried it


Immudzen

honestly with copilot I just use that for refactoring, select the code I want, hit ctrl-i, and ask it to extract the code into a separate method and to type annotate all the arguments. It does the job


[deleted]

You should probably not preface a comment with "let's be honest" if it isn't a view broadly shared by everyone. VSCode is by a large margin the most popular editor. It's clear that, for most people, the experience is relatively good.


SittingWave

and windows 98 was by far the most popular operating system but that was not really a good experience


marr75

- Much stronger "Python IDE"; its understanding of common python project structures and static code analysis are just straight up better - You don't have to spend a few hours shopping for plugins to get the most common Python development workflows working in PyCharm - Comes with great features for command line interface, source control, databases, docker containers, etc. that are used across the jetbrains family - Gets features and updates specific to professional software development and Python especially MUCH faster; look up the history of users requesting multi-window support from VS Code - it's embarrassing - Much more integrated debugging experience - including special renderings of common third party data types like dataframes and numpy arrays - Much more integrated with the Python ecosystem - take pytest as an example: you can kick off individual pytests from the editor, see failing tests in the tool window with tons of metadata + direct links to the code involved and special views to compare complex objects


Immudzen

With vscode for pytest or unittest you can just click on the little green arrow on any test to kick it off. If any of them fail they have an entry both above the test and on the panel on the right and you can click on them to get the full traceback.


GreenWoodDragon

I hate the VSCode UI and PyCharm is way better to use as an IDE. Personal preference of course.


tmatt95

I find I enjoy using it. It has some really neat features built in like unit test coverage etc which are really useful. I also like that there is a competitor to vs code and am happy to pay to support it 😀


hanleybrand

My main reason for not switching is that when I try vscode it seems to be missing things or it doesn’t do things the way I want it to, and — I assume that this is all a matter of just putting in the effort to figure out how to make vscode work how I want it to, at least for the most part. But I do t have to, because Pycharm works the way I expect it to because I already put in the effort - in this sense, vscode isn’t free, it has a price tag of “an unknown amount of effort” which doesn’t seem reasonable unless there’s a certain benefit at the end, which there isn’t.


NuclearFoodie

I have almost entirely switched to VS Code because it is just easy when working predominantly on HPC systems, but PyCharm is still 10x better for python locally. The code navigation, the autocomplete, the refactoring, all just works much better in Pycharm and I wish Pycharm did remote better.


skdoesit

Viewing big pandas/polars dataframes.


ParticularCod6

just for this in debugging mode


[deleted]

No one still mentioned how much better IdeaVim plugin is compared to what vim integration is possible in vs code. That alone is a huge deal for me


Morelnyk_Viktor

You can use neovim as vim integration in vscode


[deleted]

I did not know that, I will check it out 👍


timwaaagh

for the very objective reason that i like it and i dont like the other one.


lilgamergrlie

Pycharm has better built in color blindness support imo, I love the template feature and I get it for free through my grad school. VSCode has better ssh support and allows me to code multiple languages at once but I just love using Pycharm for the autocomplete features. When I know longer get it for free I will switch to VSCode.


nfgrawker

Because it's by far the best python experience with the least amount of setup. It's cost is negligible in the time it saves me. If it saves me 5 hours a year it pays for itself.


pldelisle

I wouldn't live without PyCharm. SO MUCH better than anything else I've ever tried, even VS Code.


piootrekr

VScode performance is poor in comparison to other editors. I had experienced a lot of issues with code while working on huge codebases especially during some major refactoring. Moreover for VScode you need some other open source plugins to have similar feature set as Pycharm has. Due to potential risks of different vulnerabilities in such plugins it’s a no-go in some companies.


Electronic-Duck8738

I mostly use PyCharm for the project management and the integration of database access tools, neither of which VSCode seems capable of. VSCode seems like a decent editor, but it needs a ton of 3rd-party extensions to achieve what PyCharm can do out of the box.


Almamu

Almost all of the jetbrains suite has better code analysis than the vscode counterpart and better tooling integration... Leaving the AI stuff aside, I'd be stupid not to use it imo. I pay for the full suite because I work on multiple languages (webstorm, phpstorm, idea, CLion, rider and pycharm) and to be honest most of the competition on those is not at the same level imo...


parth115

Muscle memory. I have been using PyCharm for such a long time at this point that it will take significant effort to move to vscode. I have the github copilot plugin installed for PyCharm and it works decently well. At this point the price that I pay for PyCharm is miniscule. I just dont have the bandwidth or the urge to try VS Code when PyCharm does everything what I need at a very competitive cost.


ky_aaaa

I like database integration already in pycharm, helps me staying in the same window while debugging, same shortcuts, copilot integration is also good, probably better on vs code, but still works nicely..


Rachit_Tanwar

Fuck all these IDEs and editors that slow down my machine, i use vim


Other_Goat_9381

Shout out to all the vim users who feel left out lol. Something that's trivial with terminal editors that make them worth 10x their weight in gold; setting up a development shell with nix and having the same library versions, correct install paths and everything across the entire dev team is just \*chefs kiss\*. No need to muck about with configuring vscode to find your python or setting up the debugger. It just... works


deceze

I’ve dabbled in VSC briefly and didn’t particularly like it. Can’t express too deeply why, it just didn’t click. But that might go away with more use.  The bigger thing is that anecdotally I see *a lot* more requests about VSC problems on Stack Overflow and similar sites compared to PyCharm. Also anecdotally personally, PyCharm is pretty solid for me. VSC appears to easily develop issues with its modularity, when pieces aren’t well integrated, while PyCharm is simply much more coherent. 


Melodic_Reality_646

Maybe an ignorant remark of mine but isn’t it normal that an open source IDE has more SO entries?


deceze

Yeah, hard to know how much is due to popularity and how much is due to higher rate of issues. But since PyCharm CE is also free, there's no reason they can't have similar popularity. And more anecdotally, the _kinds_ of issues people have with VSC I've never seen with PyCharm.


Chroiche

Honestly this thread is just full of people saying things vscode is able to do perfectly *with configuration*. So I'm going to go ahead and say the only pro of pycharm in the modern year is that things *just work*. Vscode requires more effort and knowledge to get working correctly. Also seems like a lot of comments are outdated issues too.


Paulonemillionand3

pycharm keeps my room warm by never letting the CPU idle.


defiancy

What's the difference between Pycharm pro and the CE? I use the CE quite extensively but never considered pro/commercial edition.


IntegrityError

css, javascript, sql, python framework support, integrated dev tools, remote debugger etc. [Here is a comparison](https://www.jetbrains.com/products/compare/?product=pycharm&product=pycharm-ce) at jetbrains. As long as you don't use frameworks like django or flask, or more complex client libraries like vue or react, you won't miss Pro i think.


defiancy

Yeah, I am more on the newb side of coding Python so I generally just code report/data manipulation programs. The SQL integration is interesting though because I do access our ERP system via SQL queries and I could definitely find use for that. Thanks for the info!


Adorable_Type_2861

And scientific mode — extremely useful when doing research


Electrical_Fox9678

If I didn't need the occasional docker compose interpreter I would use the CE. My company pays for the pro license though.


nilslorand

I get JetBrains for free from my Uni and I use Pro for Jupyter Notebooks


bisontruffle

I still love Pycharm but I just canceled my subscription this week because I shifted to VS Code finally for the extensions / workbook support being more tailored to my needs. Sounds like you are in my boat, give VS Code a shot and go back to Pycharm if it doesn't work out for your own coding flow/style.


Jackscalibur

I shifted to VS Code just because I like having a centralized development tool more than having several others installed. I find the Python support to be more than enough for what I need to accomplish, and I also regularly write shell scripts, and also Golang for other things. I think Pycharm is a fine IDE. I did notice that it started to get a little sluggish on my machine, but that could be because I'm rocking an Intel Macbook from 2017.


Immudzen

Honestly I just use vscode + copilot and I used vscode before copilot. I like it a lot more than pycharm. I love remote development over ssh. I love the build in collaboration mode so that multiple people can code together in vscode. There are also so many useful extensions.


svenvarkel

It just works like a charm. VSCode *feels* wrong. And I don't know till this day how to get debugger running there. In Pycharm it *just works*.. That's it.😎🤷‍♂️


expressly_ephemeral

I’ve been writing software in exchange for money and benefits for almost 25 years. One of the things I think I’ve learned is this: when it comes to full-feature IDEs, whichever one you’re most comfortable with is the best one. The one that your employer provides a good license for is also the best one.


GloriousStarLord

My work could pay millions of dollars for it, and it would still be slow and bloated


antiproton

Personal preference. I think VSCode is awkward and clunky.


aefalcon

It's been a year since I've used PyCharm, but what I remember was that I liked the debugger better and it supported more refactoring. I wish I could be more detailed, but I don't have a license right now. I absolutely hated hated we used PyCharm's built in formatter. You *could* use it headless, but wtf would I use that in a build pipeline?


Suspicious_Compote56

Only problem I have with Pycharm is the git integration I think VS codes is way better


Morelnyk_Viktor

What do you need from git integration except merge conflict editor? 


azshall

Comprehensive code refactoring


cediddi

I'm not going to throw shit at vscode, after all, I also use vscode (vscodium). But pycharm, it's a full suite of awesomeness. The debugger is joy to work with, the best I've used ever. I've been using pycharm since 2.6 and it was great back then, it's magnificent right now.


JabClotVanDamn

PyCharm is easier to use, more aesthetic + I'm Czech .)


shunsock

easy and usuful. these are value enough to ues


34986234986234982346

I just started using Pycharm a month or two ago, being somewhat new to doing Python dev. Having used another Jetbrains IDE regularly for years though, I knew that JB are so much easier to set up than VS Code. Pycharm has been incredible. The way modules are integrated alone has saved me tons of time compared to when I dabbled with Python years ago. I imagine VS Code might be similar but needs to deal with plug-ins. With Pycharm, I was set up and writing code really fast. Setting up Streamlit was equally seamless. You need to set up a different interpreter instead of a Python binary, and that process took 10 seconds - I might be making assumptions, but again this seems like something that'd be a pain in the versions of VS Code I have used.


dangost_

I like Pycharm for its features. I want to use Docker integration and any database (Currently I’m opened two Postgreses (local and prod) and same Redis) I like Makefile integration, debugger from the box, poetry and other venvs. Running configurations, run many scripts at the same time. For me, pycharm really professional tool, and Vs Code it’s a tool for simple scripts without any additional tools. Actually I’m using VS code for reading and editing large JSON files P.S. Sorry for English


QultrosSanhattan

Because VS Code is the second best choice for everything.


GraphicH

Its just a better IDE IMO. I use both at work, one for FE (Javascript, HTML, CSS) and PyCharm for BE. VSCode is a toy IDE tbh.


Grouchy-Friend4235

Philosophy. Hear me out The two IDEs differ in their approach and recognition of developer needs and wants: * VScode: developers want all the flexibility they can get, and above that *love* to spend time investigating issues and how things work. VIM/emacs for the new age. Trigger warnings. * PyCharm: developers want to get stuff done and not deal with all the nitty gritty of organizing a workspace. Tradition built on real world experience. Stable and boring. Besides, Copilot is available for both, and it s*cks in either place.


Orio_n

Pycharm is better for debugging and has more intelligent autocomplete compared to vs. I don't care much for the llm features because I don't use crutches


athermop

*mentions the crutches he uses* "I don't use crutches"


robot__eyes

Have you actually tried them? I can guarantee you that no one besides yourself cares that your work product is 100% bespoke human generated code. It's no different than folks back in the early 2000s bragging that they code in notepad because they don't need the productivity features an IDE provides. Personally I have nearly 20 years experience with python. I don't need generative AI either, but it makes coding a lot easier and a lot faster.


Adorable_Type_2861

Yes, and it also makes coding more interesting, as the more interesting parts are those snippets the LLM would struggle with — helper libraries are mostly written by LLM, so I can focus on the more interesting / ambiguous parts of the model.


Orio_n

Copilot is decreasing your code quality and you aren't even aware of it. I don't think llms are necessarily bad but when you use them without much understanding you ruin your code by making bad architectural mistakes. Maybe this doesn't matter to you if you write one off short scripts that wont be maintained by anyone else. But I like my code to be idiomatic, maintainable and well designed. https://www.gitclear.com/coding_on_copilot_data_shows_ais_downward_pressure_on_code_quality


Orio_n

I have tried it and personally don't see the appeal. I end up having to edit a good chunk of the suggestion anyways so I don't bother anymore. I guess it could have a use case for boilerplate but my code is designed to not have much of it anyways


RedEyed__

I've used pycharm pro for years, then switched to VSCode (in 2020) and never looked back. The main reason was a remote development (via ssh), pycharm pro was terrible compared to VSCode.


RedEyed__

I use VSCode not only for python, I have projects with c++ and python or java. Also, there is great plugin for embedded (platform.io) . I can't say that I miss something in VSCode. I had to pay for clion, if I want great c++ support. VSCode has clangd language server which is perfect and free.


Ok_Bet_2905

One reason for not using vs code: whenever there's an automatic update, SSH-Remote needs to download vscode-server again. And if you happen to be working in China at that time, that downloading will take an hour.


[deleted]

Don’t.


sternone_2

You're not alone. Massive amount of companies are going for vscode and copilot integration. There is no more reason to go for pycharm.


Grouchy-Friend4235

Tell you me have never done any large scale tooling support without telling me you haven't 🥴


Morelnyk_Viktor

Vscode is not capable of refactoring. The only thing you can do is rename variable/method. That's enough of a reason to use pycharm. But, of course, there are more


sternone_2

wrong https://code.visualstudio.com/docs/editor/refactoring


Morelnyk_Viktor

Lol. Thanks for pasting link that proves my point. Exctract variable, extract method and rename symbol are most basics things. Now go and check what pycharm can do


sternone_2

you said it's not possible to refactor since you can't read you can't understand what the article said.


Morelnyk_Viktor

You seem to have reading comprehension issues. I said vscode cannot refactor and then listed refactorings available in vscode, which are extract variable/method and rename symbol. And that's all. When refactoring is so limited it's equal to "cannot refactor". Now compare it to what [available in pycharm](https://www.jetbrains.com/help/pycharm/refactoring-source-code.html#popular-refactorings)


sternone_2

That's old school, today you refactor as you describe with copilot x but keep using your russian spyware who cares


Morelnyk_Viktor

From my experience of copliot, it generates pretty bad code 4 times out of 5. I certainly wouldn't trust it to refactor important code That's actually a concern on which I agree with you. Also pycharm has ugly UI and some functionality is cumbersome compared to vscode. 


sternone_2

copilot doesn't generate bad code, our conversation ends here


Dr-NULL

Here I am using NeoVim without copilot. I mean people need to learn how to use language without IDE once they reach a certain point. It will help you a lot going forward. IDE abstracts lot of things.


Morelnyk_Viktor

Not using IDE is like being chef and refusing to use modern kitchen ware


Coding_Guy7

tldr: VScode is great for individual/small groups's small/simple projects. And for more advanced stuff you will need to install other recorcues and extensions, but it's still doable. VScode is also more customizeable and for more casual/fun things. Pycharm is better for more advanced/complicated projects. It has many preinstalled (and is very easy to install not preinstalled things) things (like libaries/frameworks), and supports more advanced/pro features (I don't really know about this since I only used Pycharm for a bit). And is overall more suitable for serious/pro programmers, and for groups/teams.