Home Documentation Download Pricing Buy Now

Plugin for JetBrains IDEs - Especially PHPStorm

0 votes

I have no statistics, but I have a hunch that at least 25%+ of your user base also use a JetBrains IDE. I personally use PHPStorm. I've enjoyed Skipper since you debuted it. I used an open source cloud-based schema builder before that. Skipper was a lightyear's leap compared to the online schema builder. The next leap for me would be integration into my IDE, and I would happily pay a subscription fee for it. Here is a URL for posting packages:
https://plugins.jetbrains.com/docs/marketplace/uploading-a-new-plugin.html

Thank you as always for providing a great product and excellent customer service.

Stephen Dukes

asked 4 days ago in Feature Request by stemithy (310 points)

P.S.
I'm happy to be a volunteer tester and help with the development if you have need.

Thanks again,
Stephen

Thank you very much for your suggestion. Unfortunately, I don’t currently see an easy way to implement this. Skipper has a fairly complex internal architecture and UI, so a full integration with another IDE would likely require a significant amount of work, while I’m not sure it would provide enough additional benefit to justify that complexity.

Could you please elaborate a little on what exactly you would expect to gain from such an integration? What would be the main benefit for you of switching between tabs inside the IDE rather than simply switching between the IDE and Skipper windows in the OS?

Understanding your workflow and the specific problem you are trying to solve would help us evaluate whether there might be a simpler way to achieve the same result.

Integration Ideas:

  1. Wrapper window inside PHPStorm to at least view the Skipper schema if not full functionality.
    -- Flipping back and forth between a PHPStorm tab and a Skipper schema tab would be great.
    -- This would mean that split screen between a code page and the Skipper schema tab would also be possible

  2. Import of Models between PHPStorm and Skipper

  3. Reciprical changes (i.e. syncing between PHPStorm and Skipper)
    -- Audit/DIFF between PHPStorm Models and Skipper Project
    -- Audit/DIFF between PHPStorm Migrations and Skipper Project
    -- Audit/DIFF between PHPStorm-connected DB and Skipper Project

  4. Utilization of PHPStorm AI to make Models and Migrations more efficient which could feed back into Skipper Project

[OUT SIDE OF SCOPE OF PHPSTORM REQUEST]

  1. Tracking of diff between environment levels (dev, test, stage, production)

Thanks for the ideas. They are definitely interesting. Some of them could require a lot of work, but I think a few should already be possible right now.

1) Split screen can already be done on Windows using the split-window view.

2) This is the part I don't fully understand. What exactly should such a feature do? Integrating Skipper into PhpStorm cannot change the workflow where models are imported into Skipper and Skipper remains the primary source of truth.

Do you mean a full real-time sync between the PHP code and Skipper? Unfortunately, that is not really possible. We already experimented with this some time ago directly at the file level, but there are many non-deterministic aspects that cannot be reliably reconstructed from the source files.

3) Regarding diffs, you can already compare both the PHP files and the Skipper XML file. But perhaps you mean something different here.

4) You can already do this. Skipper has full AI support via CLI + skills shipped together with the Skipper installation. You can read more about it here:
https://www.skipper18.com/help/expert-usage/cli-automation/introduction

5) Regarding different environment levels, I think this is outside Skipper's scope. Skipper works only with ORM models and is not tied to any particular environment.

Skipper is an invaluable tool as it is now. Any suggestions of mine you implement will be much appreciated, but I'm a big Skipper fan either way. Thanks for reviewing and considering my ideas.

Cheers!
Stephen

Please log in or register to answer this question.

...