VSCode ElixirLS not highlighting .exs files

I am not seeing red wiggly squiggles under syntax errors in .exs files (or Dialyzer warnings either). Syntax highlighting intermittently works on .ex files.

Here is a minimal case to reproduce the issue.

% elixir --version
Erlang/OTP 24 [erts-12.0.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit]

Elixir 1.12.1 (compiled with Erlang/OTP 24)
%

% # Check VSCode is not running
% ps aux | grep vscode
ravi      404891  0.0  0.0   6424  2252 pts/5    S+   11:18   0:00 /usr/bin/grep --color=auto vscode

% # Remove all VSCode config
% # !!!!!!!!!!!!!! Make a copy first!
% rm -r ~/.config/Code/; rm -r ~/.vscode/extensions
rm: remove 1 argument recursively? y
rm: remove 1 argument recursively? y


# Create "foo" test project
% mix new foo
* creating README.md
* creating .formatter.exs
* creating .gitignore
* creating mix.exs
* creating lib
* creating lib/foo.ex
* creating test
* creating test/test_helper.exs
* creating test/foo_test.exs

Your Mix project was created successfully.
You can use "mix" to compile it, test it, and more:

    cd foo
    mix test

Run "mix help" for more commands.
% # Create syntax error with an additional unmatched "end"
% echo "end" >> foo/test/foo_test.exs

% # Start VSCode in the "foo" project directory
% code foo

Open test/foo_test.exs in VSCode, see the message:
The Marketplace has extensions that can help with '.exs' files

Install ElixirLS

Navigate back to test/foo_test.exs.

Observe that there is no syntax hightlighting on the additional keyword “end” inserted earlier.


Perhaps this issue is related to the following that I see regularly but can’t reliably reproduce:

[Info  - 2:51:55 pm] [ElixirLS Dialyzer] Writing manifest...
[Info  - 2:51:55 pm] [ElixirLS Dialyzer] Done writing manifest in 1558 milliseconds.
[Warn  - 2:52:55 pm] Received $/cancelRequest for unknown request id: 52

What am I missing to have syntax highlighting in .exs files?

Hi, ElixirLS does not currently support syntax highlighting errors in .exs files:

Here is the tracking issue for this:

Also this may become less important in the future if ex_unit begins to support compiled test files:

4 Likes