84
votes

I have the following problem: phpstorm do not recognize jquery methods and here and there I see

enter image description here

Unresolved function or method $()

This was bugging me for sometime but finally I tried to get rid of it with File->Settings->JavaScript->Libraries and adding jquery as a global / project.

My library setup looks like this:enter image description here

But is has not changed anything. I still see those pesky notices. Does anyone know how to get rid of them?

5
Please show screenshot of your Library setup for jQuery. - LazyOne
OK .. so you are using jQuery v1.11. I do see the same behaviour when using 1.11.0 .. but 1.10.2 works just fine. I think it has something to do with "AMD-fy jQuery source" -- bugs.jquery.com/ticket/14113 -- looks like IDE has some issues figuring out this style. If you wish (and can) -- roll back to v1.10.2 -- changes there are not so dramatic/critical. - LazyOne

5 Answers

130
votes

There is a really stupid workaround,

Download the Library (in this case jQuery) from inside the IDE itself.

  • Open up settings (Ctrl + Alt + S on Linux)
  • Navigate to Languages & Frameworks -> Javascript -> Libraries
  • Click Download and choose jQuery

Hopefully the errors will vanish

Cheers

EDIT: After running the IDE through Fiddler, I realised this only solves the problem because of the version the IDE downloads.

So, the correct workaround is to Add older, non-AMD jQuery versions as a Global scoped Library and add the latest one as a Project scope library.

The latest non-AMD versions are:

1.10.2 for 1.x series. And, 2.0.0 for 2.x series.

12
votes

I had the same issue with version 1.11.2, and resolved it simply by adding the uncompressed version into my js folder.

5
votes

Just copy the uncompressed version of jQuery into your project folder. you don't even need to import it into your project, just copy it to javascript folder.

3
votes

The jQuery v1.11.0 shows exactly the same behaviour here as well. At the same time previous version 1.10.2 works fine in IDE (no warnings).

I think it has something to do with "AMD-fy jQuery source" ticket (http://bugs.jquery.com/ticket/14113) -- looks like IDE has some issues figuring out this style.

If you wish (and can) -- roll back to jQuery v1.10.2 (which is like half a year old, which means it's stable and still good to use).

Hopefully IDE will be able to properly parse this new jQuery style in next release.


Actual ticket: http://youtrack.jetbrains.com/issue/WEB-10908

1
votes

If you import both 1.11.0 and 1.10.2 in phpstorm it will be resolved

You don't have to rollback your project.