KronicDeth / intellij-elixir

Elixir plugin for JetBrain's IntelliJ Platform (including Rubymine)
Other
1.83k stars 153 forks source link

In Small IDEs, SDK paths need to be added as External Libraries to allow indexing and completion #1230

Closed JerryBels closed 6 years ago

JerryBels commented 6 years ago

Hello,

Elixir SDK : 1.6.6 Erlang for Elixir 21 OS : Ubuntu

Issue : When coding, I would expect autocompletion for base modules. For example, when typing Enum. I would expect a list with all?/1, all?/2, any?/1 etc...

I understand from the docs that it should work this way, except it doesnt for me.

KronicDeth commented 6 years ago
  1. Is the Elixir SDK associated with the Project or only set in the defined SDKs?
  2. Which IDE are you using the plugin in? The SDK configuration differs between IntelliJ IDEA and the Small IDEs like Rubymine, PHPStorm, PyCharm, WebStorm, etc.
JerryBels commented 6 years ago

Hi @KronicDeth and thanks for helping :)

1/ In the `Languages & Frameworks > Elixir" tab I defined the SDK for the project - Elixir 1.6.6 2/ It's on PHPStorm. Do I miss some configuration ?

1 2

KronicDeth commented 6 years ago

You have defined SDKs that any project may use opened by the application, but not set the SDK for this specific project. You set the SDK for the current project one level up at the Elixir element in the tree:

screen shot 2018-08-25 at 3 22 44 pm

screen shot 2018-08-25 at 3 22 57 pm

Note how that element says "For current project", so it is not an Application-wide setting like the SDKs and Internal Erlang SDKs configurables.

JerryBels commented 6 years ago

Hey, thanks @KronicDeth but no, that's not the solution - I didn't take a screenshot of it but I do have it defined :

3

KronicDeth commented 6 years ago

Hmm... in PHPStorm, I'm not seeing the Elixir SDK showing up as an External Libraries.

screen shot 2018-08-26 at 8 45 15 am

Running an Mix ExUnit Run Configurartion, PHPStorm is aware of the full SDK paths though

/usr/local/Cellar/erlang/21.0.5/lib/erlang/bin/erl -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/wx-1.8.4/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/otp_mibs-1.2/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/inets-7.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/kernel-6.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/parsetools-2.1.7/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/tftp-1.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/sasl-3.2/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/crypto-4.3.1/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/hipe-3.18/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/diameter-2.1.5/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/eldap-1.2.4/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/tools-3.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/reltool-0.7.6/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/eunit-2.3.6/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/erl_docgen-0.8/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/erl_interface-3.10.3/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/runtime_tools-1.13/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/public_key-1.6.1/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/xmerl-1.3.17/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/observer-2.8/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/ftp-1.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/compiler-7.2.3/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/edoc-0.9.3/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/stdlib-3.5.1/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/mnesia-4.15.4/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/dialyzer-3.3/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/syntax_tools-2.1.5/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/ssl-9.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/et-1.6.2/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/snmp-5.2.11/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/os_mon-2.4.5/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/ssh-4.7/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/megaco-3.18.3/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/debugger-4.2.5/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/common_test-1.16/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/erts-10.0.5/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/asn1-5.0.6/ebin -pa /usr/local/Cellar/elixir/1.7.2/lib/logger/ebin -pa /usr/local/Cellar/elixir/1.7.2/lib/elixir/ebin -pa /usr/local/Cellar/elixir/1.7.2/lib/ex_unit/ebin -pa /usr/local/Cellar/elixir/1.7.2/lib/mix/ebin -pa /usr/local/Cellar/elixir/1.7.2/lib/eex/ebin -pa /usr/local/Cellar/elixir/1.7.2/lib/iex/ebin -noshell -s elixir start_cli -elixir ansi_enabled true -extra -r /private/var/folders/kz/_y_vgl6505v0hgx16pt1vdsr0000gn/T/intellij_elixir1433/exunit/1.6.0/team_city_ex_unit_formatting.ex -r /private/var/folders/kz/_y_vgl6505v0hgx16pt1vdsr0000gn/T/intellij_elixir1433/exunit/1.6.0/team_city_ex_unit_formatter.ex /usr/local/Cellar/elixir/1.7.2/bin/mix test --formatter TeamCityExUnitFormatter test

So, I'm guessing I need to restore the SDKs to External Libraries to get the indexing to work in the Small IDEs.