Qaphela. transl.: Isihloko sokuqala sabhalwa u-Josh Rosso, umakhi wezakhiwo e-VMware owake wasebenza ezinkampanini ezifana ne-CoreOS ne-Heptio, futhi ungumbhali-munye we-Kubernetes alb-ingress-controller. Umbhali wabelana ngeresiphi encane engaba wusizo kakhulu konjiniyela bemisebenzi “yesikole esidala” abakhetha i-vim ngisho nangenkathi yomdabu wamafu wokunqoba.
Ukubhala i-YAML iveza i-Kubernetes in vim? Uchithe amahora amaningi uzama ukuthola ukuthi inkambu elandelayo kufanele ibe kuphi kulokhu kucaciswa? Noma mhlawumbe uzojabulela isikhumbuzo esisheshayo somehluko args
и command
? Kunezindaba ezinhle! I-Vim kulula ukuyixhumanisa nayo
(Isihloko sokuqala futhi
Iseva yolimi
Iziphakeli zolimi (amaseva olimi) khuluma ngamakhono ezilimi zokuhlela kubahleli kanye nama-IDE, abasebenzisana ngawo kusetshenziswa iphrothokholi ekhethekile -
Ukuze i-vim isebenze ngendlela echaziwe, uzodinga ukufaka iklayenti leseva yolimi. Izindlela ezimbili engizaziyo ziyi coc.vim
- Lena i-plugin ethandwa kakhulu okwamanje. Ungayifaka nge
" 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'}
Okokuqala coc
(futhi ngaleyo ndlela i-yaml-language-server) izodinga ukuthi i-node.js ifakwe:
curl -sL install-node.now.sh/lts | bash
Nini coc.vim
kumisiwe, faka isandiso seseva coc-yaml
kusuka ku-vim:
:CocInstall coc-yaml
Ekugcineni, cishe uzofuna ukuqala ngokulungiselela coc-vim
, kwethulwe
Isetha ukutholwa kweseva ye-yaml-language
ukuthi coc
ingase isebenzise iseva ye-yaml-language, idinga ukucelwa ukuthi ilayishe i-schema kusuka ku-Kubernetes lapho ihlela amafayela e-YAML. Lokhu kwenziwa ngokuhlela coc-config
:
:CocConfig
Ekucushweni uzodinga ukungeza kubernetes
kuwo wonke amafayela yaml
. Ngaphezu kwalokho ngisebenzisa iseva yolimi golang
ngakho-ke ukumisa kwami okujwayelekile kubukeka kanje:
{
"languageserver": {
"golang": {
"command": "gopls",
"rootPatterns": ["go.mod"],
"filetypes": ["go"]
}
},
"yaml.schemas": {
"kubernetes": "/*.yaml"
}
}
kubernetes
— inkambu egodliwe etshela iseva yolimi ukuthi ilande i-schema ye-Kubernetes ku-URL echazwe kuyo yaml.schemas
inganwetshwa ukuze isekele izikimu ezengeziwe - ukuze uthole imininingwane eyengeziwe, bheka
Manje usungakwazi ukudala ifayela le-YAML futhi uqale ukusebenzisa ukuqedela ngokuzenzakalela. Iyacindezela +isikhala (noma enye inhlanganisela elungiselelwe ku-vim) kufanele ibonise izinkambu ezitholakalayo kanye nemibhalo ngokuya komongo wamanje:
Isebenza lapha +isikhala ngoba ngimisile inoremap <silent><expr> <c-space> coc#refresh()
. Uma ungakwenzanga lokhu, niyabo
Ukukhetha inguqulo ye-Kubernetes API
Kusukela kulokhu kubhalwa, imikhumbi ye-yaml-language-server ene-Kubernetes 1.14.0 schemas. Angizange ngithole indlela yokukhetha i-schema, ngakho ngivule server.ts
.
Ukuze uyithole emshinini wakho, vele uvule ifayela le-YAML nge-vim futhi uthole inqubo ngayo 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
Inqubo efanelekile kithi iyinqubo engu-2380: iyona esetshenziswa yi-vim lapho uhlela ifayela le-YAML.
Njengoba ubona kalula, ifayela likhona /Users/joshrosso/.config/coc/extensions/node_modules/coc-yaml/node_modules/yaml-language-server/out/server/src/server.js
. Vele uyihlele ngokushintsha inani KUBERNETES_SCHEMA_URL
, isibonelo, inguqulo 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";
Kuye ngenguqulo esetshenzisiwe coc-yaml
Indawo yokuguquguquka kukhodi ingahluka. Sicela futhi uqaphele ukuthi ngishintshe indawo yokugcina kusuka garethr
on instrumenta
. Kubonakala sengathi garethr
kushintshelwe kumasekethe asekelayo lapho.
Ukuze uhlole ukuthi ushintsho seluqalile ukusebenza, bheka ukuthi ingabe iyavela yini inkambu ebingekho ngaphambilini [ezinguqulweni zangaphambilini ze-Kubernetes]. Isibonelo, kumdwebo we-K8s 1.14 kwakungekho
Isifingqo
Ngethemba ukuthi leli thuba lizokujabulisa njengoba lingithokozisile. Jabulela i-YAMLing! Qiniseka ukuthi ubheka lezi zindawo zokugcina ukuze uqonde kangcono izinsiza ezishiwo esihlokweni:
- i-coc-vim:
https://github.com/neoclide/coc.nvim ; - i-coc-yaml:
https://github.com/neoclide/coc-yaml .
I-PS evela kumhumushi
Futhi kukhona futhi
Funda futhi kubhulogi yethu:
- «
kubebox namanye amagobolondo e-Kubernetes "; - «
Abasizi bekhonsoli ekusebenzeni noKubernetes nge-kubectl ".
Source: www.habr.com