所以我今天开始学习榆木。我使用VSCode作为编辑器。
我跟随the docs进行了设置,并通过elm
安装了el-format
和npm install -g elm elm-format
。我还安装了VSCode Elm扩展。
接下来,在我的settings.json
中设置:
"[elm]": {
"editor.formatOnSave": true
},
然后我继续本教程。其中的代码格式如下:
import Browser
import Html exposing (Html, Attribute, div, input, text)
import Html.Attributes exposing (..)
import Html.Events exposing (onInput)
-- MAIN
main =
Browser.sandbox { init = init, update = update, view = view }
-- MODEL
type alias Model =
{ content : String
}
init : Model
init =
{ content = "" }
-- UPDATE
type Msg
= Change String
update : Msg -> Model -> Model
update msg model =
case msg of
Change newContent ->
{ model | content = newContent }
-- VIEW
view : Model -> Html Msg
view model =
div []
[ input [ placeholder "Text to reverse", value model.content, onInput Change ] []
, div [] [ text (String.reverse model.content) ]
]
但是当我打保险柜时,它会像这样格式化代码:
module Main exposing (Model, Msg(..), init, main, update, view)
import Browser
import Html exposing (Attribute, Html, div, input, text)
import Html.Attributes exposing (..)
import Html.Events exposing (onInput)
-- MAIN
main =
Browser.sandbox { init = init, update = update, view = view }
-- MODEL
type alias Model =
{ content : String
}
init : Model
init =
{ content = "" }
-- UPDATE
type Msg
= Change String
update : Msg -> Model -> Model
update msg model =
case msg of
Change newContent ->
{ model | content = newContent }
-- VIEW
view : Model -> Html Msg
view model =
div []
[ input [ placeholder "Text to reverse", value model.content, onInput Change ] []
, div [] [ text (String.reverse model.content) ]
]
因此,它添加了额外的行和额外的module Main exposing ...
,并使空格数加倍。我尝试使用VSCode中的页脚再次将空格设置为2,但这没有帮助。
我的问题是:
module Main ...
?答案 0 :(得分:7)
首先,这个问题太宽泛并且主要基于观点,因此可能会被封闭。我认为它更适合the forums。
也就是说,由于它在这里,我将尽我所能尽可能地回答它。
是吗?大多数模块在不公开内容的情况下并不会非常有用,并且最好明确说明要公开的内容。
elm-format
是社区标准,所以是4。
您不能。这是设计使然。在各个论坛上也对此进行了讨论。 Here's one issue discussing it
您必须向Evan询问。这可能与网络格式有关,或者仅仅是Evan懒惰。