เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ YAML เจธเจฎเจฐเจฅเจจ เจจเจพเจฒ เจตเจฟเจฎ

เจจเฉ‹เจŸ เจ•เจฐเฉ‹เฅค เจ…เจจเฉเจตเจพเจฆ: เจฎเฉ‚เจฒ เจฒเฉ‡เจ– เจœเฉ‹เจธเจผ เจฐเฉ‹เจธเฉ‹ เจฆเฉเจ†เจฐเจพ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€, เจœเฉ‹ เจ•เจฟ VMware เจฆเฉ‡ เจ‡เฉฑเจ• เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจŸ เจธเฉ€ เจœเฉ‹ เจชเจนเจฟเจฒเจพเจ‚ CoreOS เจ…เจคเฉ‡ Heptio เจตเจฐเจ—เฉ€เจ†เจ‚ เจ•เฉฐเจชเจจเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจธเฉ€, เจ…เจคเฉ‡ Kubernetes alb-ingress-controller เจฆเจพ เจธเจนเจฟ-เจฒเฉ‡เจ–เจ• เจตเฉ€ เจนเฉˆเฅค เจฒเฉ‡เจ–เจ• เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจœเจฟเจนเจพ เจตเจฟเจ…เฉฐเจœเจจ เจธเจพเจ‚เจเจพ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ "เจชเฉเจฐเจพเจฃเฉ‡ เจธเจ•เฉ‚เจฒ" เจ“เจชเจฐเฉ‡เจธเจผเจจ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐเจพเจ‚ เจฒเจˆ เจฌเจนเฉเจค เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‹ เจœเฉ‡เจคเฉ‚ เจ•เจฒเจพเจ‰เจก เจฎเฉ‚เจฒ เจฆเฉ‡ เจฏเฉเฉฑเจ— เจตเจฟเฉฑเจš เจตเฉ€ เจตเจฟเจฎ เจจเฉ‚เฉฐ เจคเจฐเจœเฉ€เจน เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ YAML เจธเจฎเจฐเจฅเจจ เจจเจพเจฒ เจตเจฟเจฎ

เจตเจฟเจฎ เจตเจฟเฉฑเจš เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ YAML เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจฒเจฟเจ–เจฃเจพ? เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจตเจฟเฉฑเจš เจ…เจฃเจ—เจฟเจฃเจค เจ˜เฉฐเจŸเฉ‡ เจฌเจฟเจคเจพเจ เจ•เจฟ เจ…เจ—เจฒเจพ เจ–เฉ‡เจคเจฐ เจ•เจฟเฉฑเจฅเฉ‡ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ‡เจธ เจจเจฟเจฐเจงเจพเจฐเจจ เจตเจฟเฉฑเจš? เจœเจพเจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจซเจฐเจ• เจฆเฉ€ เจ‡เฉฑเจ• เจคเฉเจฐเฉฐเจค เจฐเฉ€เจฎเจพเจˆเจ‚เจกเจฐ เจฆเฉ€ เจ•เจฆเจฐ เจ•เจฐเฉ‹เจ—เฉ‡ args ะธ command? เจšเฉฐเจ—เฉ€ เจ–เจผเจฌเจฐ เจนเฉˆ! เจตเจฟเจฎ เจจเจพเจฒ เจฒเจฟเฉฐเจ• เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจนเฉˆ yaml-language-serverเจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจธเฉฐเจชเฉ‚เจฐเจจเจคเจพ, เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจธเฉเจตเจฟเจงเจพเจตเจพเจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆเฅค เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจ‡เฉฑเจ• เจญเจพเจธเจผเจพ เจธเจฐเจตเจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเจจเจพ เจนเฉˆ.

(เจฎเฉ‚เจฒ เจฒเฉ‡เจ– เจตเฉ€ เจ•เฉ€ เจ•เฉ‹เจˆ เจตเฉ€เจกเฉ€เจ“ เจนเฉˆ, เจœเจฟเฉฑเจฅเฉ‡ เจฒเฉ‡เจ–เจ• เจ—เฉฑเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค)

เจญเจพเจธเจผเจพ เจธเจฐเจตเจฐ

เจญเจพเจธเจผเจพ เจธเจฐเจตเจฐ (เจญเจพเจธเจผเจพ เจธเจฐเจตเจฐ) เจธเฉฐเจชเจพเจฆเจ•เจพเจ‚ เจ…เจคเฉ‡ IDEs เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเฉ‹, เจœเจฟเจธ เจฒเจˆ เจ‰เจน เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจจเจพเจฒ เจ—เฉฑเจฒเจฌเจพเจค เจ•เจฐเจฆเฉ‡ เจนเจจ - เจญเจพเจธเจผเจพ เจธเจฐเจตเจฐ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ (LSP)เฅค เจ‡เจน เจ‡เฉฑเจ• เจตเจงเฉ€เจ† เจชเจนเฉเฉฐเจš เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ‡เฉฑเจ• เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจธเฉฐเจชเจพเจฆเจ•เจพเจ‚/IDEs เจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจนเฉˆ เจฒเจฟเจ–เฉ€ เจฌเจพเจฐเฉ‡ gopls - เจ—เฉ‹เจฒเฉฐเจ— เจฒเจˆ เจ‡เฉฑเจ• เจญเจพเจธเจผเจพ เจธเจฐเจตเจฐ - เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ vim. เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ YAML เจตเจฟเฉฑเจš เจธเจตเฉˆ-เจธเฉฐเจชเฉ‚เจฐเจจเจคเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ‡ เจ•เจฆเจฎ เจธเจฎเจพเจจ เจนเจจเฅค

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ YAML เจธเจฎเจฐเจฅเจจ เจจเจพเจฒ เจตเจฟเจฎ

เจตเจฟเจฎ เจจเฉ‚เฉฐ เจตเจฐเจฃเจฟเจค เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจญเจพเจธเจผเจพ เจธเจฐเจตเจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉ‹เจเจ—เฉ€. เจฎเฉˆเจจเฉ‚เฉฐ เจชเจคเจพ เจนเฉˆ เจฆเฉ‹ เจขเฉฐเจ— เจนเจจ เจญเจพเจธเจผเจพ เจ•เจฒเจพเจ‡เฉฐเจŸ-เจจเจฟเจ“เจตเจฟเจฎ ะธ coc.vim. เจฒเฉ‡เจ– เจตเจฟเจš เจฎเฉˆเจ‚ เจตเจฟเจšเจพเจฐ เจ•เจฐเจพเจ‚เจ—เจพ coc.vim - เจ‡เจน เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจธเจญ เจคเฉ‹เจ‚ เจชเฉเจฐเจธเจฟเฉฑเจง เจชเจฒเฉฑเจ—เจ‡เจจ เจนเฉˆเฅค เจฐเจพเจนเฉ€เจ‚ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ vim-plug:

" Use release branch (Recommend)
Plug 'neoclide/coc.nvim', {'branch': 'release'}

" Or build from source code by use yarn: https://yarnpkg.com
Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}

เจธเจผเฉเจฐเฉ‚เจ†เจค เจฒเจˆ coc (เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ yaml-language-server) เจจเฉ‚เฉฐ node.js เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€:

curl -sL install-node.now.sh/lts | bash

เจ•เจฆเฉ‹เจ‚ coc.vim เจธเฉฐเจฐเจšเจฟเจค, เจธเจฐเจตเจฐ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹ coc-yaml vim เจคเฉ‹เจ‚:

:CocInstall coc-yaml

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ YAML เจธเจฎเจฐเจฅเจจ เจจเจพเจฒ เจตเจฟเจฎ

เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจธเฉฐเจญเจพเจตเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจธเฉฐเจฐเจšเจจเจพ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉ‹เจ—เฉ‡ coc-vim, เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡. เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจธเฉเจฎเฉ‡เจฒ เจจเฉ‚เฉฐ เจธเจฐเจ—เจฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ +เจธเจชเฉ‡เจธ เจธเจตเฉˆ-เจชเฉ‚เจฐเจคเฉ€ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจ เจฒเจˆ.

yaml-เจญเจพเจธเจผเจพ-เจธเจฐเจตเจฐ เจ–เฉ‹เจœ เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ

เจนเฉˆ, เจœเฉ‹ เจ•เจฟ coc yaml-language-server เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, YAML เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ Kubernetes เจคเฉ‹เจ‚ เจธเจ•เฉ€เจฎเจพ เจฒเฉ‹เจก เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจนเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจธเฉฐเจชเจพเจฆเจจ เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ coc-config:

:CocConfig

เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฟเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€ kubernetes เจธเจพเจฐเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจฒเจˆ yaml. เจฎเฉˆเจ‚ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจ‡เฉฑเจ• เจญเจพเจธเจผเจพ เจธเจฐเจตเจฐ เจตเฉ€ เจตเจฐเจคเจฆเจพ เจนเจพเจ‚ golangเจ‡เจธ เจฒเจˆ เจฎเฉ‡เจฐเฉ€ เจ†เจฎ เจธเฉฐเจฐเจšเจจเจพ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ:

{
  "languageserver": {
      "golang": {
        "command": "gopls",
        "rootPatterns": ["go.mod"],
        "filetypes": ["go"]
      }
  },

  "yaml.schemas": {
      "kubernetes": "/*.yaml"
  }
}

kubernetes - เจ‡เฉฑเจ• เจฐเจฟเจœเจผเจฐเจตเจก เจซเฉ€เจฒเจก เจœเฉ‹ เจญเจพเจธเจผเจพ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ URL เจคเฉ‹เจ‚ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเจ•เฉ€เจฎเจพ เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเจจ เจฒเจˆ เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจ‡เจน เจธเจฅเจฟเจฐ. yaml.schemas เจตเจพเจงเฉ‚ เจธเจ•เฉ€เจฎเจพเจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจ เจฒเจˆ เจตเจฟเจธเจคเจพเจฐ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ - เจนเฉ‹เจฐ เจตเฉ‡เจฐเจตเจฟเจ†เจ‚ เจฒเจˆ, เจตเฉ‡เจ–เฉ‹ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจฆเจธเจคเจพเจตเฉ‡เจœเจผ.

เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• YAML เจซเจพเจˆเจฒ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ†เจŸเฉ‹เจ•เฉฐเจชเจฒเฉ‡เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจฆเจฌเจพ เจฐเจฟเจนเจพ เจนเฉˆ +เจธเจชเฉ‡เจธ (เจœเจพเจ‚ vim เจตเจฟเฉฑเจš เจธเฉฐเจฐเจšเจฟเจค เจ•เฉ€เจคเฉ‡ เจนเฉ‹เจฐ เจธเฉเจฎเฉ‡เจฒ) เจจเฉ‚เฉฐ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจฆเจฐเจญ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ‰เจชเจฒเจฌเจง เจ–เฉ‡เจคเจฐเจพเจ‚ เจ…เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจฆเจฟเจ–เจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ YAML เจธเจฎเจฐเจฅเจจ เจจเจพเจฒ เจตเจฟเจฎ
เจ‡เฉฑเจฅเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ +เจธเจชเฉ‡เจธ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจ‚ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเจพ เจนเฉˆ inoremap <silent><expr> <c-space> coc#refresh(). เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ…เจœเจฟเจนเจพ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจนเฉˆ, เจคเจพเจ‚ เจฆเฉ‡เจ–เฉ‹ coc.nvim README เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจธเฉฐเจฐเจšเจจเจพ เจฒเจˆ.

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ API เจธเฉฐเจธเจ•เจฐเจฃ เจšเฉเจฃเจจเจพ

เจ‡เจธ เจฒเจฟเจ–เจค เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, yaml-language-server เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ 1.14.0 เจธเจ•เฉ€เจฎเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจญเฉ‡เจœเจฆเจพ เจนเฉˆเฅค เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจ•เฉ€เจฎเจพ เจจเฉ‚เฉฐ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจšเฉเจฃเจจ เจฆเจพ เจ•เฉ‹เจˆ เจคเจฐเฉ€เจ•เจพ เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเจฟเจ†, เจ‡เจธเจฒเจˆ เจฎเฉˆเจ‚ เจ–เฉ‹เจฒเฉเจนเจฟเจ† เจ…เจจเฉเจธเจพเจฐเฉ€ GitHub เจฎเฉเฉฑเจฆเจพ. เจ–เฉเจธเจผเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจญเจพเจธเจผเจพ เจธเจฐเจตเจฐ เจŸเจพเจˆเจชเจธเจ•เฉเจฐเจฟเจชเจŸ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจฌเจฆเจฒเจฃเจพ เจ•เจพเจซเจผเฉ€ เจ†เจธเจพเจจ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจธเจฟเจฐเจซ เจซเจพเจˆเจฒ เจฒเฉฑเจญเฉ‹ server.ts.

เจ‡เจธ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ€ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจ–เฉ‹เจœเจฃ เจฒเจˆ, เจธเจฟเจฐเจซเจผ vim เจจเจพเจฒ YAML เจซเจพเจˆเจฒ เจ–เฉ‹เจฒเฉเจนเฉ‹ เจ…เจคเฉ‡ เจ‡เจธ เจจเจพเจฒ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฒเฉฑเจญเฉ‹ yaml-language-server.

ps aux | grep -i yaml-language-server

joshrosso         2380  45.9  0.2  5586084  69324   ??  S     9:32PM   0:00.43 /usr/local/Cellar/node/13.5.0/bin/node /Users/joshrosso/.config/coc/extensions/node_modules/coc-yaml/node_modules/yaml-language-server/out/server/src/server.js --node-ipc --node-ipc --clientProcessId=2379
joshrosso         2382   0.0  0.0  4399352    788 s001  S+    9:32PM   0:00.00 grep -i yaml-language-server

เจธเจพเจกเฉ‡ เจฒเจˆ เจขเฉเจ•เจตเฉ€เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† 2380 เจนเฉˆ: เจ‡เจน เจ‰เจน เจนเฉˆ เจœเฉ‹ เจตเจฟเจฎ เจ‡เฉฑเจ• YAML เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจตเจฐเจคเจฆเจพ เจนเฉˆ.

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจนเฉˆ /Users/joshrosso/.config/coc/extensions/node_modules/coc-yaml/node_modules/yaml-language-server/out/server/src/server.js. เจฌเจธ เจฎเฉเฉฑเจฒ เจฌเจฆเจฒ เจ•เฉ‡ เจ‡เจธ เจจเฉ‚เฉฐ เจธเฉ‹เจงเฉ‹ KUBERNETES_SCHEMA_URL, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเฉฐเจธเจ•เจฐเจฃ 1.17.0 เจฒเจˆ:

// old 1.14.0 schema
//exports.KUBERNETES_SCHEMA_URL = "https://raw.githubusercontent.com/garethr/kubernetes-json-schema/master/v1.14.0-standalone-strict/all.json";
// new 1.17.0 schema in instrumenta repo
exports.KUBERNETES_SCHEMA_URL = "https://raw.githubusercontent.com/instrumenta/kubernetes-json-schema/master/v1.17.0-standalone-strict/all.json";

เจตเจฐเจคเฉ‡ เจ—เจ เจธเฉฐเจธเจ•เจฐเจฃ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ coc-yaml เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเฉฑเจ–-เจตเฉฑเจ– เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจ‡เจน เจตเฉ€ เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ เจฎเฉˆเจ‚ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจฆเจฒเจฟเจ† เจนเฉˆ garethr 'เจคเฉ‡ instrumenta. เจ…เจœเจฟเจนเจพ เจฒเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ garethr เจ‰เฉฑเจฅเฉ‡ เจธเจชเฉ‹เจฐเจŸเจฟเฉฐเจ— เจธเจฐเจ•เจŸเจพเจ‚ 'เจคเฉ‡ เจฌเจฆเจฒเจฟเจ† เจ—เจฟเจ†เฅค

เจ‡เจน เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจ•เจฟ เจคเจฌเจฆเฉ€เจฒเฉ€ เจฒเจพเจ—เฉ‚ เจนเฉ‹ เจ—เจˆ เจนเฉˆ, เจฆเฉ‡เจ–เฉ‹ เจ•เจฟ เจ•เฉ€ เจ•เฉ‹เจˆ เจ–เฉ‡เจคเจฐ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจชเจนเจฟเจฒเจพเจ‚ [เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเฉ‡ เจชเจฟเจ›เจฒเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจตเจฟเฉฑเจš] เจจเจนเฉ€เจ‚ เจธเฉ€เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, K8s 1.14 เจฒเจˆ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจจเจนเฉ€เจ‚ เจธเฉ€ startupProbe:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ YAML เจธเจฎเจฐเจฅเจจ เจจเจพเจฒ เจตเจฟเจฎ

เจธเฉฐเจ–เฉ‡เจช

เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจ‡เจน เจฎเฉŒเจ•เจพ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‰เจจเจพ เจนเฉ€ เจ–เฉเจธเจผ เจ•เจฐเฉ‡เจ—เจพ เจœเจฟเฉฐเจจเจพ เจ‡เจธเจจเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจ•เฉ€เจคเจพ เจธเฉ€เฅค YAMLing เจฎเฉเจฌเจพเจฐเจ•! เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจœเจผเจฟเจ•เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ‰เจชเจฏเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจขเฉฐเจ— เจจเจพเจฒ เจธเจฎเจเจฃ เจฒเจˆ เจ‡เจนเจจเจพเจ‚ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€เจ†เจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเจพ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“:

เจ…เจจเฉเจตเจพเจฆเจ• เจคเฉ‹เจ‚ เจชเฉ€.เจเจธ

เจ…เจคเฉ‡ เจ‰เฉฑเจฅเฉ‡ เจตเฉ€ เจนเฉˆ vikube, vim-kubernetes ะธ vimkubectl.

เจธเจพเจกเฉ‡ เจฌเจฒเฉŒเจ— 'เจคเฉ‡ เจตเฉ€ เจชเฉœเฉเจนเฉ‹:

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹