Pycharm dropped buildout support

I'm wondering what others have done to deal with this.

Basically, I want may 'ctrl-b' back. I moved a package from develop-eggs to eggs and all of a sudden it broke.

Just found one way to deal with it.

Open your 'eggs' directory in your project, which is a plone build.
Select all the directories under it (select the top, scroll all the way to the bottom, and shift-click)
Right click, and "Mark Directory As" -> "sources Root"

do the same to your src directory or develop-eggs directories

If there are other advantages that "buildout support" gives you than code completion and navigation- I don't use them. But at least this brought my 'jump to definition' back.

1 Like

I've created recipe "cykooz.recipe.idea" to add all paths to specified eggs and their dependencies into PyCharm's "libraries".

3 Likes

@Cykooz this came up on my searching. I didn't immediately use it b/c my pycharm experience is small. If you could document how to install this for a newbie it would be great.

But now I see - it's just to be added to your development buildout and it creates xml files for pycharm.

So, where pycharm used to 'inspect' your buildout and build this stuff for you,
Now, every time you run buildout, this recipe updates pycharm's .idea xml files.

So, ok. buildout is controlling how the IDE behaves, instead of the IDE inspecting your project and figuring it out for you.

--edit - one month later --

My crotchety opinion is that the IDE should do it's job, and buildout should do it's job (and no more, and no less) "Single Minded"

Buildout is now asked to do the job of the IDE b/c the IDE stopped doing it's job. Note that buildout now has to know that the developer is using PyCharm and has to understand the internals of pycharm.

Ok, the RECIPE knows the internals, not the buildout config.... fair enough... but still, I shouldn't be mucking about with my buildout config - even my own private developer buildout config - just because the IDE isn't doing it's job. This is the IDE's responsibility, not the build process.

It's. nothing better on the VS Code side. There you have collective.recipe.vscode which generates the paths and updates the config json.

But then, buildout collects the paths anyways also for the bin/instance etc scripts, so I don't really have an opinion on the arcitectural division of which tool should do what. :relaxed:

Plone Foundation Code of Conduct