vexus2 / CakeStorm

CakeStorm is a PhpStorm plugin for CakePHP users.
84 stars 8 forks source link

SmartJump just says 'Nothing here' #34

Open crayfishuk opened 8 years ago

crayfishuk commented 8 years ago

This was working - but at some point (I don't know when), it stopped.

When I hit Ctrl-; S it now just pops up an 'Open File' box, with 'Nothing Here' underneath...

Windows 10, PHPstorm 2016.2.1, CakeStorm 0.6.1

Any suggestions? What debug info can I give you to track down the issue? image

crayfishuk commented 8 years ago

Have discovered that having a folder called 'vendors' (for historical reasons) as well as a 'Vendor' folder confused the CakePHP version detection - the .idea/cake_config_setting_v0.6.xml was showing Cake V1 - although the project is Cake V3. The cake_config_setting had possibly been inherited from previous project - or maybe detected wrong.

Deleting the file resolved the issue - but the code doesn't seem to re-check unless the file is missing, which means that once it's detected your CakePHP installation wrong: it'll never fix it.

leifjones commented 7 years ago

I am having the same problem on PhpStorm 2016.2.2, CakeStorm 0.6.1, Windows 10 (v. 1511). Would the presence of two vendor folders be a problem here?

I'm integrating CakePHP to create a CRUD manager for a previously-written webapp:

. [Overall project root]
├── .idea
|   ├── cake_config_setting_v0_6.xml
|   └── [Other settings files]
├── manager [Root of my newly installed CakePHP project]
|   ├── composer.json
|   ├── composer.lock
|   ├── vendor
|   |   └── [Composer files/folders generated by CakePHP project creation]
|   └── [Other CakePHP files/folders]
├── [Various pre-existing web app files/folders, including ...]
├── composer.json
├── composer.lock
└── vendor
    └── [Pre-existing composer files/folders]

Fix Attempt 1

I tried removing cake_config_setting_v0_6.xml from [Overall Project Root]/.idea, but it was regenerated without fixing the problem. Are there tricks to editing the XML for my above configuration? It seems to assume [root]/src as its start location.

Fix Attempt 2

I edited the XML as follows, inferring that [root]/src is the intended starting location. (I added an empty [Overall project root]/src folder.) Certain entries refer to another location that I can't figure out. No fix.

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CakeStormCakeSettings">
    <option name="cakeVersionAbsorption">
      <map>
        <entry key="Controller" value="../manager/src/Controller/" />
        <entry key="View" value="../manager/src/View/" />
        <entry key="Model" value="../manager/src/Model/" />
        <entry key="Helper" value="../manager/src/View/Helper/" />
        <entry key="Component" value="../manager/src/Controller/Component/" />
        <entry key="Behavior" value="../manager/src/Model/Behavior/" />
        <entry key="Plugin" value="Plugin/" /> <!-- location? -->
        <entry key="Shell" value="../manager/src/Vendor/Shell" />
        <entry key="Task" value="../manager/src/Vendor/Shell/Task" />
        <entry key="ControllerTest" value="../manager/src/Test/Case/Controller/" />
        <entry key="ModelTest" value="../manager/src/Test/Case/Model/" />
        <entry key="BehaviorTest" value="../manager/src/Test/Case/Model/Behavior/" />
        <entry key="ComponentTest" value="../manager/src/Test/Case/Controller/Component/" />
        <entry key="HelperTest" value="../manager/src/Test/Case/View/Helper/" />
        <entry key="TestFile" value="Test" /> <!-- location? -->
        <entry key="FileSeparator" value="" /> <!-- no change necessary? -->
        <entry key="FileWordSeparator" value="" /> <!-- no change necessary? -->
        <entry key="Fixture" value="../manager/src/Test/Fixture/" />
        <entry key="Element" value="Elements/" /> <!-- location? -->
        <entry key="FixtureFile" value="Fixture" /> <!-- location? -->
        <entry key="Layout" value="Layouts/" /> <!-- location? -->
      </map>
    </option>
    <option name="cakeVersion" value="2" />
  </component>
</project>

Fix Attempt 3

I also tried opening the CakePHP project directory as a separate PhpStorm project? This did generate a local [Overall Project Root]/manager/.idea/cake_config_setting_v0_6.xml. But the same unusable Nothing Here pop up is summoned when I press Ctrl+; S. I also tried removing

jtraulle commented 7 years ago

Same issue here on Linux. What keys are needed for a 3.x Cake install ?