Elm VSCode插件在保存时未格式化

时间:2019-12-19 00:18:50

标签: visual-studio-code vscode-settings elm

我已从Elm Slack频道复制了以下问题以供后代使用。

我无法让Elm VSCode plugin在保存时进行格式化。我已经为elm-format中的settings.json全局安装设置了绝对路径。我还为elm设置了保存格式:

"[elm]": {
    "editor.formatOnSave": true,
  },

我在Ubuntu计算机上,并且在保存或使用Ctrl-Shift-I时都不会发生格式化。有人看到我可能会丢失的东西吗?

4 个答案:

答案 0 :(得分:3)

  1. 安装elm-format

  2. 为VSCode安装扩展名Elm Language Support,其中包括语法和错误突出显示

  3. 配置VS代码settings.json

"[elm]": {
    "editor.formatOnSave": true
},

答案 1 :(得分:1)

以下是响应和解决方法。

@stoft的回复:

  

尝试使用npm在本地或全局安装elm格式,这在MacOS上对我有帮助。

@razzee的回复:

  

请检查两件事:

     
      
  1. 您正在使用最新的Elm格式版本
  2.   
  3. 增加vscode的格式化超时,可惜elm-format有时太慢了,“ editor.formatOnSaveTimeout”就是所谓的设置。“
  4.   

在全球范围内安装最新版本的elm-format足以保存格式。

elm-0.19-workshop中,有一种情况无法遵循这些建议进行保存格式化。保存格式不会触发intro/part1/或任何其他“部分”目录中的Elm文件。

答案 2 :(得分:1)

VS超时1.42(Q1 2020)不应成为保存超时格式的问题
参见“ Better handling of slow save operations”:

VS Code允许扩展程序在将文件保存到磁盘时更改文件的内容。
例如 {Format on Save Fix on Save 之类的功能。

但是,保存是至关重要的操作,在保存期间进行处理的扩展必须迅速完成,以便可以继续实际的保存操作。

“快速”以前是由VS Code强制执行的,超时导致VS Code取消扩展名保存参与。
该强制执行保证了快速的节省,但由于有时无法进行预期的处理而可能会令人沮丧。

在此版本中,我们放弃了基于超时的方法,而是显示进度通知,该通知允许您取消参与保存的扩展(“ Save Participants”)。
该通知使您知道保存操作正在运行,并且可以决定是否要等待保存参与者完成。

https://media.githubusercontent.com/media/microsoft/vscode-docs/vnext/release-notes/images/1_42/save-participant.png

答案 3 :(得分:1)

未将路径设置为elm格式,而elm-tests对我明确起作用。

我跑了 npm install --global elm-test elm-format 然后让扩展名找出它在哪里。 一旦指定/home/a-teammate/npm/lib/node_modules/elm-test/bin/elm-format是我要使用的Elm格式,它就会停止工作。尽管指向相同的elm格式。

已在elmtooling.elm-ls-vscode 0.9.4版,elm 0.19.1版和elm格式0.8.3版中进行了测试