Elixir Vscode Autocomplete dosent work

Hi, I installed some plugins on Vscode for elixir but I don’t know why Vscode’s Autocomplete doesn’t work.

see this image please:

it doesn’t load any Elixir module. the plugins I installed are in left side of my image

my user settings.json

// Place your settings in this file to overwrite the default settings
{
"editor.fontSize": 18,
"editor.tabSize": 3,
"editor.insertSpaces": true,
"editor.detectIndentation": true,
"window.zoomLevel": 0,
"editor.wordWrap": "on",
"workbench.colorTheme": "Solarized Light",
"[Eex]": {},
"emmet.includeLanguages": {"HTML (Eex)": "html"},
"files.associations": {
  "*.eex": "HTML (EEx)",
  "*.leex": "HTML (EEx)"
},
"[HTML (Eex)]": {},
"explorer.confirmDragAndDrop": false
}

and this image is my mix file:

!

From my understanding, elixir-ls stopped being actively developed some time ago, use that instead: https://github.com/elixir-lsp/elixir-ls It’s actively developed fork.

1 Like

From your first screenshot it seems as if you were using JakeBeckers language server plugin. It is not under development anymore and probably will break with Elixir 1.10.

Instead you should install the fork which is actively maintained and got quick fixes to work with Elixir 1.10 within days after the problems have been identified.

Also, whenever there are problems marked in your code, make sure you check the problems pane in the VScode. It might give you additional details.

1 Like

Hi, I deleted that plugin and installed the fork . but it still docent work, I just need Autocomplete in ex file and eex, leex.

it just shows me this error in VScode console:
Build failed for unknown reason. See output log.

Have you looked at the output log?

1 Like

you mean in Vscode OUTPUT log ? yes but I didn’t find anything which was useful , but in extension host log I have these lines:

[2020-03-09 13:06:46.350] [exthost] [info] extension host started
[2020-03-09 13:06:46.641] [exthost] [info] ExtensionService#_doActivateExtension vscode.debug-auto-launch {"startup":true,"extensionId":{"value":"vscode.debug-auto-launch","_lower":"vscode.debug-auto-launch"},"activationEvent":"*"}
[2020-03-09 13:06:46.642] [exthost] [info] ExtensionService#loadCommonJSModule file:///Applications/Visual Studio Code.app/Contents/Resources/app/extensions/debug-auto-launch/dist/extension
[2020-03-09 13:06:46.659] [exthost] [info] ExtensionService#_doActivateExtension vscode.emmet {"startup":true,"extensionId":{"value":"vscode.emmet","_lower":"vscode.emmet"},"activationEvent":"*"}
[2020-03-09 13:06:46.660] [exthost] [info] ExtensionService#loadCommonJSModule file:///Applications/Visual Studio Code.app/Contents/Resources/app/extensions/emmet/dist/extension
[2020-03-09 13:06:46.774] [exthost] [info] ExtensionService#_doActivateExtension vscode.git {"startup":true,"extensionId":{"value":"vscode.git","_lower":"vscode.git"},"activationEvent":"*"}
[2020-03-09 13:06:46.775] [exthost] [info] ExtensionService#loadCommonJSModule file:///Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/main
[2020-03-09 13:06:47.260] [exthost] [info] ExtensionService#_doActivateExtension vscode.merge-conflict {"startup":true,"extensionId":{"value":"vscode.merge-conflict","_lower":"vscode.merge-conflict"},"activationEvent":"*"}
[2020-03-09 13:06:47.260] [exthost] [info] ExtensionService#loadCommonJSModule file:///Applications/Visual Studio Code.app/Contents/Resources/app/extensions/merge-conflict/dist/extension
[2020-03-09 13:06:47.272] [exthost] [info] ExtensionService#_doActivateExtension vscode.search-result {"startup":true,"extensionId":{"value":"vscode.search-result","_lower":"vscode.search-result"},"activationEvent":"*"}
[2020-03-09 13:06:47.272] [exthost] [info] ExtensionService#loadCommonJSModule file:///Applications/Visual Studio Code.app/Contents/Resources/app/extensions/search-result/dist/extension.js
[2020-03-09 13:06:47.275] [exthost] [info] ExtensionService#_doActivateExtension vscode.vscode-account {"startup":true,"extensionId":{"value":"vscode.vscode-account","_lower":"vscode.vscode-account"},"activationEvent":"*"}
[2020-03-09 13:06:47.275] [exthost] [info] ExtensionService#loadCommonJSModule file:///Applications/Visual Studio Code.app/Contents/Resources/app/extensions/vscode-account/dist/extension.js
[2020-03-09 13:06:47.292] [exthost] [info] eager extensions activated
[2020-03-09 13:06:54.032] [exthost] [info] ExtensionService#_doActivateExtension elixir-lsp.elixir-ls {"startup":false,"extensionId":{"value":"elixir-lsp.elixir-ls","_lower":"elixir-lsp.elixir-ls"},"activationEvent":"onLanguage:elixir"}
[2020-03-09 13:06:54.033] [exthost] [info] ExtensionService#loadCommonJSModule file:///Users/shahryar/.vscode/extensions/elixir-lsp.elixir-ls-0.3.1/out/extension
[2020-03-09 13:06:54.625] [exthost] [info] ExtensionService#_doActivateExtension mjmcloug.vscode-elixir {"startup":false,"extensionId":{"value":"mjmcloug.vscode-elixir","_lower":"mjmcloug.vscode-elixir"},"activationEvent":"onLanguage:elixir"}
[2020-03-09 13:06:54.625] [exthost] [info] ExtensionService#loadCommonJSModule file:///Users/shahryar/.vscode/extensions/mjmcloug.vscode-elixir-1.1.0/out/src/elixirMain
[2020-03-09 13:22:47.721] [exthost] [error] [mjmcloug.vscode-elixir] provider FAILED
[2020-03-09 13:22:47.721] [exthost] [error] undefined
[2020-03-09 13:22:48.220] [exthost] [error] [mjmcloug.vscode-elixir] provider FAILED
[2020-03-09 13:22:48.220] [exthost] [error] undefined
[2020-03-09 13:22:48.957] [exthost] [error] [mjmcloug.vscode-elixir] provider FAILED
[2020-03-09 13:22:48.957] [exthost] [error] undefined
[2020-03-09 13:22:50.337] [exthost] [error] [mjmcloug.vscode-elixir] provider FAILED
[2020-03-09 13:22:50.338] [exthost] [error] undefined
[2020-03-09 13:22:50.338] [exthost] [error] [mjmcloug.vscode-elixir] provider FAILED
[2020-03-09 13:22:50.338] [exthost] [error] undefined

I meant in the “OUTPUT” pane, there is a dropdown to the right, there you can check the “ElixirLS” log.

Though as far as I remember, mjmcloug.vscode-elixir builds on the “elixir-sense” library which is used in the LS-fork as well.

Therefore it might be, that either both extensions are conflicting, or, as the last release of mjmcloug.vscode-elixir is from 2017, it might just be, that it suffers from the same incompatibilites with Elixir 1.10, that also JakeBeckers LS implementation now suffers from.

Try deactivating that plugin.

5 Likes

Thanks, I think it was fixed and there is no problem.

Hi, I used ElixirLS Fork in my project and it worked well and made good type space for my each function. but it doesn’t show type space in my new umbrella project
how can I fix this ?

I’m assuming your talking about the inferred type specs from code lens. Are you receiving any errors? Here’s some of the debug instructions for vscode:

  1. Check the output log by opening View > Output and selecting “ElixirLS” in the dropdown. Please include any output that looks relevant. (If ElixirLS isn’t in the dropdown, the server failed to launch.)
  2. Check the developer console by opening Help > Toggle Developer Tools and include any errors that look relevant.
  3. Run the VSCode command “ElixirLS Fork: Copy Debug Info” and paste the output here
2 Likes

Hi, I deleted all the deps, _build and .elixir_ls file after these job I closed VScode and re-launch it, but it didint work until I renamed a function name and saved , recompiled. for now it works and shows me @spec .

if I see this problem I said I will definitely do what you said,

Thank you

2 Likes