在 elixir 项目中保存文件时出错 (elixirLS.projectDir)
error when saving a file in an elixir project (elixirLS.projectDir)
使用 visual studio 代码
保存 elixir 文件时出现以下错误
No mixfile found in project. To use a subdirectory, set
elixirLS.projectDir
in your settings
我因此更新了 User/settings.json(在 windows 中)文件,例如
{
"elixirLS.projectDir": "C:\CodeTraining\Elixir-intro"
}
但我仍然得到错误
有什么想法吗?
顺便说一句,我在使用Ubuntu时也有同样的错误。
ElixirLS 需要 mix
项目,它不能正常使用普通文件。所以从创建项目开始
mix new intro
cd intro
code .
现在在 intro
文件夹中 ElixirLS 会很高兴。您仍然可以在那里创建随机 elixir 文件 and/or 脚本。
自从我登陆这里寻找答案但 Vim,我将分享修复 Vim
上的错误的方法
该错误是由于语言客户端根据您打开的第一个文件错误地设置了项目根。例如,如果您首先打开 mix.exs
,则会打印到 Vim 输出:
LanguageClient project root: /Users/joe/Downloads/test
但是,如果您打开其他内容(例如 lib/test.ex
),您会得到以下内容:
LanguageClient project root: /Users/joe/Downloads/test/lib
因此,为了解决这个问题,请将以下内容添加到您的 .vimrc
:
let g:LanguageClient_rootMarkers = {
\ 'elixir': ['mix.exs'],
\ }
或者,如果您使用 coc.nvim
,请改为将其添加到您的 .vimrc
autocmd FileType elixir let b:coc_root_patterns = ['mix.exs']
这将根据 mix.exs
的位置正确设置项目根目录,以达到 ElixirLS
的目的
使用 visual studio 代码
保存 elixir 文件时出现以下错误No mixfile found in project. To use a subdirectory, set
elixirLS.projectDir
in your settings
我因此更新了 User/settings.json(在 windows 中)文件,例如
{
"elixirLS.projectDir": "C:\CodeTraining\Elixir-intro"
}
但我仍然得到错误
有什么想法吗?
顺便说一句,我在使用Ubuntu时也有同样的错误。
ElixirLS 需要 mix
项目,它不能正常使用普通文件。所以从创建项目开始
mix new intro
cd intro
code .
现在在 intro
文件夹中 ElixirLS 会很高兴。您仍然可以在那里创建随机 elixir 文件 and/or 脚本。
自从我登陆这里寻找答案但 Vim,我将分享修复 Vim
上的错误的方法该错误是由于语言客户端根据您打开的第一个文件错误地设置了项目根。例如,如果您首先打开 mix.exs
,则会打印到 Vim 输出:
LanguageClient project root: /Users/joe/Downloads/test
但是,如果您打开其他内容(例如 lib/test.ex
),您会得到以下内容:
LanguageClient project root: /Users/joe/Downloads/test/lib
因此,为了解决这个问题,请将以下内容添加到您的 .vimrc
:
let g:LanguageClient_rootMarkers = {
\ 'elixir': ['mix.exs'],
\ }
或者,如果您使用 coc.nvim
,请改为将其添加到您的 .vimrc
autocmd FileType elixir let b:coc_root_patterns = ['mix.exs']
这将根据 mix.exs
的位置正确设置项目根目录,以达到 ElixirLS