MasterJK
Problem with 'use' Macro in VSCode + ElixirLS
I use Visual Studio Code with the ElixirLS Fork extension.
I am trying out Elixir/Phoenix and when i call the ‘use’ Macro for something like
defmodule TestWeb.MyController
use TestWeb :controller
...
or
defmodule Test.mySchema
use Ecto.Schema
...
there is no Autocomplete or Documentation available from the Modules that are imported or aliased in the __using__/1 macro. The Code does work and there are no Errors or Warnings from ElixirLS or Dialyzer.
Importing/Aliasing the needed Modules directly, like
defmodule TestWeb.MyController
use TestWeb :controller
import Phoenix.Controller
import Plug.Conn
import TestWeb.Gettext
alias TestWeb.Router.Helpers, as: Routes
...
does provide autocomplete and Documentation in VSCode.
So is ElixirLS not evaluating the __using__ macro for autocomplete? Or is maybe something wrong with my Setup?
And is there a way to make autocomplete work without importing/aliasing the Modules directly?
Most Liked
lud
I just followed the instructions linked in the Github issue : https://dragoshmocrii.com/fix-vscode-elixirls-intellisense-for-code-imported-with-use/ and it works well.
(It is to compile ElixirLS with the local system Elixir install)
axelson
Thanks for the reproduction. I’m able to reproduce on my machines. Now just need to dig in.
axelson
FYI, we’re tracking this in #193:
https://github.com/elixir-lsp/elixir-ls/issues/193
Unfortunately I’m not sure there is an easy fix.
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









