ExVenture Updates for October 2018
Getting Started with Ecto Part 2: Migrations, Schemas, and Changeset
IntelliJ Elixir 10.0.0
-
Go To Symbol and completion will only resolve in project source unless non-project sources are turned on.
-
deps
are properly marked as Libraries and no longer count as being in the project scope for the Go To tools. -
In umbrella projects, when
in_umbrella
is used, the Project Module for eachapps/#{APP_NAME}
will be marked a dependency, - Library and Modules are properly connected as dependencies, so that only declared dependencies will resolve, lessening false completions and declarations when different OTP app share common Module or function names.
-
-
deps
and the_build/#{MIX_ENV}/lib/#{DEP_NAME}
will be marked as Excluded, so that Libraries appear in External Libraries at the bottom of the Project Pane. - Go To Class action (Cmd+O) to go to modules separately from all functions as would happen with Go To Symbols (Alt+Cmd+O).
-
Add
.eex
to.ex
and.exs
for accepted file extensions used to hyperlink files in stacktraces. -
Resolve unaliased name when using
alias __MODULE__, as: Mod
-
Resolve usage of
Mod
inalias __MODULE__, as Mod
-
Mod
-
__MODULE__
inalias __MODULE__
-
defmodule MyModule
that is enclosing__MODULE__
.
-
-
Completion of functions in current module when using
Mod.
afteralias __MODULE__, as: Mod
. -
Show more context for
alias
calls in presentations, like “Choose Declaration” pop up for Go To Declaration.-
Show resolved
__MODULE__
name (alias MyModule
) when usingalias __MODULE__
. -
Show full
alias MyModule, as: Mod
when listingMod
inalias __MODULE__, as Mod
.
-
Show resolved
-
Exclude common directories when importing projects
-
cover
for test coverage -
doc
forex_doc
-
logs
for log files -
assets/node_modules/phoenix
forphoenix
-
assets/node_modules/phoenix_html
forphoenix_html
-
- Setup Libraries and Module dependencies when importing projects from Mix.
-
Canary, pre-release builds (
vMAJOR.MINOR.PATCH-pre+YYYYMMDDHHMMSS
) frommaster
branch- GitHub pre-release releases
- Release on the canary channel in the JetBrains Plugin Repository
-
Don’t include
null
useCall
as__MODULE__
dependency. -
Wrap
LibraryTable#removeLibrary
in write action. -
Wrap
Library#modifiableModule#commit
in write action. -
More closely match ExUnit.CliFormatter output in Test Runner.
-
Don’t
inspect
ExUnit failurereason
as##teamcity
message
. - Add captured logs to failure
- Colorize test failures - including diff colorization
-
Don’t
-
Map Elixir 1.7
:excluded
and:skipped
(added in elixir-lang/elixir#7245) totestIgnored
teamcity message, thereby restoring ignored test counts and markers from Elixir 1.6. -
When finding a
defmodule
, check that it is an ancestor of the entrance of theResolveState
, so that nested sibling modules are not scanned for potential call definition clauses, but only the outer module of the entrance. -
Remove
@2x
and@3x
SVG icons that render wrong size in 2018.3 EAP. -
flushBufferBeforeTerminating
was deprecated and in newer IntelliJ the call toprocessStatuses
does not occur unlessflushBufferOnProcessTermination
is also overridden. -
Treat
== Compilation error
inSTDOUT
asERROR
for ExUnit reporter -
Convert
(CompileError)
of a test file to test failure. The “Test framework quit unexpectedly” is converted to a failed run with a single test with the compilation error as the failure message. -
Don’t treat redefinition of
defmodule
macro as module definition (as occurs in @bitwalker‘s distillery‘sMix.Tasks.Release.Init.MixMock
-
Don’t log compilation errors as test failures unless a test has started. Test name being called
mix test
does not work, so log those compilation errors as normal build messages instead. -
Don’t interpret
:crypto
by default::crypto
includes NIFs that can’t be reloaded and so kills the debugger. - @KronicDeth -
Protect from
null
containingFile
for modular names during completion. -
Wrap
syncPublisher(JDK_TABLE_TOPIC)
ininvokeLater
runWriteAction
. - Dependencies are now counted as external to the project, so the Go To tools, like Go To Symbol will no longer include matches for both project sources and dependencies sources together, instead they will follow the more JetBrains native behavior
Read next Getting Started with Ecto Part 2: Migrations, Schemas, and Changeset