Итак, я начал изучать Elm сегодня.Я использую VSCode в качестве редактора.
Я следовал документам для настройки и установки 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 ...
и удваивает количество пробелов.Я попытался установить пробелы в 2 снова, используя нижний колонтитул в VSCode, но это не помогло.
Мои вопросы:
- Это нормально, что сохранение добавляет дополнительные
module Main ...
? - Имеет ли 2 пробела лучший стандарт / стандарт сообщества, или 4?
- Если это 2 (как в коде учебника по умолчанию), как я могу заставить мой форматер уважать это?
- Если это не так, почему у руководства нестандартный отступ?