เชจเซเซ เชง. เช เชจเซเชตเชพเชฆ: เชฎเซเชณ เชฒเซเช เชเซเชถ เชฐเซเชธเซ เชฆเซเชตเชพเชฐเชพ เชฒเชเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ, เชเซ VMwareเชจเชพ เชเชฐเซเชเชฟเชเซเชเซเช เชเซ, เชเซเชฎเชฃเซ เช เชเชพเช CoreOS เช เชจเซ Heptio เชเซเชตเซ เชเชเชชเชจเซเชเชฎเชพเช เชเชพเชฎ เชเชฐเซเชฏเซเช เชนเชคเซเช, เช เชจเซ เชคเซ Kubernetes alb-ingress-controllerเชจเชพ เชธเชน-เชฒเซเชเช เชชเชฃ เชเซ. เชฒเซเชเช เชเช เชจเชพเชจเชเชกเซ เชฐเซเชธเซเชชเซ เชถเซเชฐ เชเชฐเซ เชเซ เชเซ โเชเซเชจเซ เชถเชพเชณเชพโเชจเชพ เชเชชเชฐเซเชถเชจ เชเชจเซเชเชฟเชจเชฟเชฏเชฐเซ เชฎเชพเชเซ เชเซเชฌ เช เชเชชเชฏเซเชเซ เชฅเช เชถเชเซ เชเซ เชเซเช เชตเชฟเชเชฏเซ เชเซเชฒเชพเชเชก เชจเซเชเซเชต เชฏเซเชเชฎเชพเช เชชเชฃ เชตเชฟเชฎ เชชเชธเชเชฆ เชเชฐเซ เชเซ.
เชตเชฟเชฎเชฎเชพเช เชเซเชฌเชฐเชจเซเชเซเชธ เชฎเชพเชเซ YAML เชฎเซเชจเชฟเชซเซเชธเซเช เชฒเชเชตเซเช? เช เชธเซเชชเชทเซเชเซเชเชฐเชฃเชฎเชพเช เชเชเชณเชจเซเช เชเซเชทเซเชคเซเชฐ เชเซเชฏเชพเช เชนเซเชตเซเช เชเซเชเช เชคเซ เชถเซเชงเชตเชพ เชฎเชพเชเซ เช
เชธเชเชเซเชฏ เชเชฒเชพเชเซ เชตเชฟเชคเชพเชตเซเชฏเชพ? เช
เชฅเชตเชพ เชเชฆเชพเช เชคเชฎเซ เชคเชซเชพเชตเชคเชจเชพ เชเชกเชชเซ เชฐเซเชฎเชพเชเชจเซเชกเชฐเชจเซ เชชเซเชฐเชถเชเชธเชพ เชเชฐเชถเซ args
ะธ command
? เชธเชพเชฐเชพ เชธเชฎเชพเชเชพเชฐ เชเซ! เชตเชฟเชฎ เชธเชพเชฅเซ เชฒเชฟเชเช เชเชฐเชตเซเช เชธเชฐเชณ เชเซ
(เชฎเซเชณ เชฒเซเช เชชเชฃ
เชญเชพเชทเชพ เชธเชฐเซเชตเชฐ
เชญเชพเชทเชพ เชธเชฐเซเชตเชฐเซเชธ (เชญเชพเชทเชพ เชธเชฐเซเชตเชฐเซเชธ) เชธเชเชชเชพเชฆเชเซ เช
เชจเซ IDE เชจเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชญเชพเชทเชพเชเชจเซ เชเซเชทเชฎเชคเชพเช เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซ, เชเซเชจเชพ เชฎเชพเชเซ เชคเซเช เชตเชฟเชถเชฟเชทเซเช เชชเซเชฐเซเชเซเชเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชเชฌเซเชเชพ เชธเชพเชฅเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชฐเซ เชเซ -
vim เชตเชฐเซเชฃเชตเซเชฒ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชญเชพเชทเชพ เชธเชฐเซเชตเชฐ เชเซเชฒเชพเชฏเชเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ. เชนเซเช เชเซ เชฌเซ เชชเชฆเซเชงเชคเชฟเช เชเชพเชฃเซเช เชเซเช เชคเซ เชเซ coc.vim
- เช เชเซเชทเชฃเซ เช เชธเซเชฅเซ เชฒเซเชเชชเซเชฐเชฟเชฏ เชชเซเชฒเชเชเชจ เชเซ. เชฆเซเชตเชพเชฐเชพ เชคเชฎเซ เชคเซเชจเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชถเชเซ เชเซ
" 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
เชตเชฟเชฎ เชฅเซ:
:CocInstall coc-yaml
เชเซเชฒเซเชฒเซ, เชคเชฎเซ เชธเชเชญเชตเชคเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชธเชพเชฅเซ เชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ coc-vim
, เชชเซเชฐเชธเซเชคเซเชค
yaml-language-server เชกเชฟเชเซเชเซเชถเชจ เชธเซเช เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เชชเซเชฐเชคเชฟ coc
yaml-language-server เชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ, YAML เชซเชพเชเชฒเซเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเชคเซ เชตเชเชคเซ เชคเซเชจเซ เชเซเชฌเชฐเชจเซเชเซเชธเชฎเชพเชเชฅเซ เชธเซเชเซเชฎเชพ เชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซ เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช เชธเชเชชเชพเชฆเชจ เชฆเซเชตเชพเชฐเชพ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ 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 เชฎเชพเช เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เช เชจเซเชฏ เชธเชเชฏเซเชเชจ) เชตเชฐเซเชคเชฎเชพเชจ เชธเชเชฆเชฐเซเชญ เช เชจเซเชธเชพเชฐ เชเชชเชฒเชฌเซเชง เชเซเชทเซเชคเซเชฐเซ เช เชจเซ เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ เชฌเชคเชพเชตเชตเซเช เชเซเชเช:
เช
เชนเซเช เชเชพเชฎ เชเชฐเซ เชเซ +เชธเซเชชเซเชธ เชเชพเชฐเชฃ เชเซ เชฎเซเช เชเซเช เชตเซเชฒ เชเซ inoremap <silent><expr> <c-space> coc#refresh()
. เชเซ เชคเชฎเซ เช เชจ เชเชฐเซเชฏเซเช เชนเซเชฏ, เชคเซ เชเซเช
Kubernetes API เชธเชเชธเซเชเชฐเชฃ เชชเชธเชเชฆ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เช เชฒเชเชพเชฃ เชฎเซเชเชฌ, เชฏเชพเชฎเชฒ-เชญเชพเชทเชพ-เชธเชฐเซเชตเชฐ เชเซเชฌเชฐเชจเซเชเซเชธ 1.14.0 เชธเซเชเซเชฎเชพ เชธเชพเชฅเซ เชฎเซเชเชฒเซ เชเซ. เชฎเชจเซ เชเชคเชฟเชถเซเชฒ เชฐเซเชคเซ เชธเซเชเซเชฎเชพ เชชเชธเชเชฆ เชเชฐเชตเชพเชจเซ เชเซเช เชฐเชธเซเชคเซ เชฎเชณเซเชฏเซ เชจเชฅเซ, เชคเซเชฅเซ เชฎเซเช เชเซเชฒเซเชฏเซเช 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 เชซเชพเชเชฒเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเชคเซ เชตเชเชคเซ vim เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ.
เชเซเชฎ เชคเชฎเซ เชธเชฐเชณเชคเชพเชฅเซ เชเซเช เชถเชเซ เชเซ, เชซเชพเชเชฒเชฎเชพเช เชธเซเชฅเชฟเชค เชเซ /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 เชฎเชพเชเซเชจเชพ เชกเชพเชฏเชพเชเซเชฐเชพเชฎเชฎเชพเช เชเซเช เชจ เชนเชคเซเช
เชธเชพเชฐเชพเชเชถ
เชนเซเช เชเชถเชพ เชฐเชพเชเซเช เชเซเช เชเซ เช เชคเช เชคเชฎเชจเซ เชคเซเชเชฒเซ เช เชเซเชถ เชเชฐเชถเซ เชเซเชเชฒเซ เชคเซ เชฎเชจเซ เชเชฐเซ เชนเชคเซ. เชนเซเชชเซเชชเซ YAMLing! เชฒเซเชเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชเชชเชฏเซเชเชฟเชคเชพเชเชจเซ เชตเชงเซ เชธเชพเชฐเซ เชฐเซเชคเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ เช เชญเชเชกเชพเชฐเซเชจเซ เชคเชชเชพเชธเชตเชพเชจเซ เชเชพเชคเชฐเซ เชเชฐเซ:
- coc-vim:
https://github.com/neoclide/coc.nvim ; - coc-yaml:
https://github.com/neoclide/coc-yaml .
เช เชจเซเชตเชพเชฆเช เชคเชฐเชซเชฅเซ เชชเซเชเชธ
เช
เชจเซ เชคเซเชฏเชพเช เชชเชฃ เชเซ
เช เชฎเชพเชฐเชพ เชฌเซเชฒเซเช เชชเชฐ เชชเชฃ เชตเชพเชเชเซ:
- ยซ
เชเซเชฌเชฐเซเชจเซเชเซเชธ เชฎเชพเชเซ เชเซเชฏเซเชฌเชฌเซเชเซเชธ เช เชจเซ เช เชจเซเชฏ เชถเซเชฒเซ ยป; - ยซ
kubectl เชฆเซเชตเชพเชฐเชพ Kubernetes เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชจเซเชธเซเชฒ เชธเชนเชพเชฏเชเซ ยป.
เชธเซเชฐเซเชธ: www.habr.com