IntelliJ Elixir 10.5.0
-
The correct home path for
kiexis~/.kiex/elixirs/elixir-VERSION/lib/elixiras that contains the truelibandbindirectory, but users may select other directories by mistake, so doing the following adjustments: -
Adjust
binhome path tolib/elixir. -
Adjust
elixirs/elixir-VERSIONhome path toelixirs/elixir-VERSION/lib/elixir. -
In RubyMine, attach OTP applications as separate projects with Elixir facets instead of directly creating
ELIXIR_MODULEmodules inDirectoryConfigurator. This matches the manual steps of opening the OTP apps as separate directories after opening the root of the project.- Mark directories when adding facet
- Sync libraries when adding facet or attaching to root project. Ensures External Libraries show up for all OTP applications.
-
Convert Small IDE projects with
ELIXIR_MODULEs:-
Remove
ELIXIR_MODULE*.imlfiles -
Remove
ELIXIR_MODULEentries root project’smodules.xmlfile. -
Lack of modules in project in
doOpenProjectwill triggerDirectoryProjectConfigurators to be run, which will setup the project and runDirectoryConfiguratorto attach theappsOTP apps and Elixir facets.- Only support automatic attaching multiple OTP apps as separate projects in Rubymine. In IntelliJ normal support for multiple Modules in one Project still works.
-
Remove
-
Increase suspect
nameSetsize to15to supportgeo.geohas 13String.Charsimplementations. -
Check that HomePath has
ebinpaths when validation. Prevents selecting false HomePaths forkiex. -
Adding missing ESpec template. When reviewing #1410 I missed that the template wasn’t in
resources. 🤦♂️ -
Ignore
targetswhen calculatingDeppath. -
Ignore
organizationwhen calculatingDeppath. -
Get view provider document in read action.
-
Support
rebar.configdeps that are name only. -
Always use
containingFileforQualifiableAliasmaxScopeforgetReference. Prevents cache capturingmaxScope, which can vary based on invocation. -
Create new project before attaching it in Small IDEs. When attaching a directory to a project during startup, saving is disallowed, so the attached directory only has a
workspace.xmlin its.ideawhen the attach is attempted. Attaching requires the.idea/*.imlModule file, so the attaching fails, saying the directory is an unsupported format.Experimentation showed that manually attaching the directory also did not work, but opening the directory in a separate window, then opening and attaching it again would make the directory have the full project files. To mimic this manual process:
-
The internals of
doOpenProjectare copied - A save of the project files is forced, bypassing the normal “startup” save blocker
- The project is attached to the root project. Tested to work when upgrading from 10.4.0 to 10.5.0-pre in Rubymine when no project was already open.
-
The internals of
-
Check if project can be attached instead of if RubyMine Although GoLand supports attaching projects, it doesn’t work for non-Go projects, so it is also excluded. How the support appears in each non-IntelliJ IDEA is shown below:
IDE Works? Android Studio YES Android Studio is built on top of IntelliJ, so it has full multi-Module support. It is not Small IDE. CLion NO No Attach to Project support to multiple module support. DataGrip No DataGrip doesn’t have a Project View and doesn’t support Attach to Project. You can still run tests if you directly open the file. GoLand NO Modules show up, but independent projects are not attached as in other Small IDEs, so disabled. In general, the Go settings, like Test Runners always win, so it is recommended to not use GoLand at all for Elixir development. PHPStorm YES The projects are listed in Directories. The Languages & Frameworks > Elixir shows all 3 projects. Right-clicking on the marked Test directory will not show the Elixir Run Configuration, Python ones win, but subdirectories and *_test.exswill show up in the context menu.PyCharm YES The root project is listed in Project. app/*projects are listed listed as Project Dependencies of the root Project. The Languages & Frameworks > Elixir shows all 3 projects. Right-clicking on the marked Test directory will not show the Elixir Run Configuration, Python ones win, but subdirectories and*_test.exswill show up in the context menu.Rider No Solution system is separate from Project system. Rubymine YES The projects are listed in Project Structure. The Languages & Frameworks > Elixir shows all 3 projects. Right-clicking on the marked Test directory will not show the Elixir Run Configuration, Python ones win, but subdirectories and *_test.exswill show up in the context menu.WebStorm NO No Attach to Project support or multiple module support. -
Don’t count Android Studio as a Small IDE. It includes Project Structure menu with multiple-language, multiple-Module per Project support from IntelliJ.
Read next Version 1.0.4 of external_state released
