Phawula. transl.: Inqaku lokuqala labhalwa nguJosh Rosso, umakhi we-VMware owayesebenza ngaphambili kwiinkampani ezifana ne-CoreOS kunye ne-Heptio, kwaye ungumbhali-mbhali we-Kubernetes alb-ingress-controller. Umbhali wabelana ngeresiphi encinci enokuba luncedo kakhulu kwiinjineli zemisebenzi "yesikolo esidala" ezikhetha i-vim nakwixesha lemveli yelifu eloyisileyo.
Ukubhala i-YAML ibonakalisa i-Kubernetes kwi-vim? Uchithe iiyure ezininzi uzama ukufumanisa ukuba intsimi elandelayo ifanele ibe phi kule nkcazelo? Okanye mhlawumbi uya kuxabisa isikhumbuzo esikhawulezayo somahluko args
ΠΈ command
? Kukho iindaba ezimnandi! Vim kulula ukudibanisa
(Inqaku lokuqala nalo
Umncedisi wolwimi
Abancedisi bolwimi (abancedisi bolwimi) Thetha malunga nobuchule beelwimi zeprogram kubahleli kunye nee-IDE, apho banxibelelana omnye nomnye usebenzisa iprotocol ekhethekileyo -
Ukuze i-vim isebenze ngendlela echazwe ngayo, kuya kufuneka ufakele umxhasi womncedisi wolwimi. Zimbini iindlela endizaziyo ngazo coc.vim
-Le yeyona plugin idumileyo okwangoku. Ungayifaka ngokusebenzisa
" 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
(kwaye ngoko i-yaml-language-server) iyakufuna i-node.js efakiweyo:
curl -sL install-node.now.sh/lts | bash
Xa coc.vim
iqwalaselwe, faka ulwandiso lomncedisi coc-yaml
ukusuka kwi-vim:
:CocInstall coc-yaml
Ekugqibeleni, uya kufuna ukuqala ngoqwalaselo coc-vim
, inikezelwe
Ukucwangcisa i-yaml-language-server ubhaqo
ukuba coc
inokusebenzisa i-yaml-language-server, ifuna ukucelwa ukuba ilayishe i-schema esuka kwi-Kubernetes xa uhlela iifayile ze-YAML. Oku kwenziwa ngokuhlela coc-config
:
:CocConfig
Kubumbeko kuya kufuneka udibanise kubernetes
kuzo zonke iifayile yaml
. Ndisebenzisa kwakhona iseva yolwimi golang
ngoko uqwalaselo lwam ngokubanzi lujongeka ngolu hlobo:
{
"languageserver": {
"golang": {
"command": "gopls",
"rootPatterns": ["go.mod"],
"filetypes": ["go"]
}
},
"yaml.schemas": {
"kubernetes": "/*.yaml"
}
}
kubernetes
- indawo egciniweyo exelela umncedisi wolwimi ukuba akhuphele i-Kubernetes schema kwi-URL echazwe kuyo yaml.schemas
inokwandiswa ukuxhasa izikimu ezongezelelweyo-ukufumana iinkcukacha ezithe vetshe, bona
Ngoku unokwenza ifayile ye-YAML kwaye uqale ukusebenzisa ukugqibezela ngokuzenzekelayo. Ukucinezela + indawo (okanye enye indibaniselwano eqwalaselweyo kwi-vim) kufuneka ibonise imihlaba ekhoyo kunye noxwebhu ngokwemeko yangoku:
Isebenza apha +Isithuba ngenxa yokuba ndiqwalasele inoremap <silent><expr> <c-space> coc#refresh()
. Ukuba awukwenzanga oku, yabona
Ukukhetha i-Kubernetes API version
Ukusukela koku kubhalwa, iinqanawa ze-yaml-language-server ezine-Kubernetes 1.14.0 schemas. Khange ndifumane indlela yokukhetha i-schema, ndiye ndavula server.ts
.
Ukuyibona kumatshini wakho, vula ngokulula ifayile ye-YAML nge-vim kwaye ufumane inkqubo nayo 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
Inkqubo efanelekileyo kuthi yinkqubo 2380: yeyona nto isetyenziswa yivim xa uhlela ifayile yeYAML.
Njengoko unokubona ngokulula, ifayile ikhona /Users/joshrosso/.config/coc/extensions/node_modules/coc-yaml/node_modules/yaml-language-server/out/server/src/server.js
. Yihlele nje ngokutshintsha ixabiso KUBERNETES_SCHEMA_URL
, umzekelo, kuguqulelo 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";
Kuxhomekeke kwinguqulelo esetyenzisiweyo coc-yaml
Indawo yokuguquguquka kwikhowudi inokwahluka. Nceda uqaphele ukuba nditshintshe indawo yokugcina ukusuka garethr
phezu instrumenta
. Kubonakala ngathi garethr
itshintshelwe kwiisekethe ezixhasayo apho.
Ukujonga ukuba utshintsho luye lwasebenza, jonga ukuba intsimi ibonakala ibingekho ngaphambili [kwiinguqulelo zangaphambili zeKubernetes]. Umzekelo, kwidayagram ye-K8s 1.14 kwakungekho
Isishwankathelo
Ndiyathemba ukuba eli thuba liyakukholisa wena njengokuba linjalo kum. Happy YAMLing! Qiniseka ukuba ujonga ezi ndawo zokugcina ukuze uqonde ngcono izinto eziluncedo ezikhankanywe kwinqaku:
- coc-vim:
https://github.com/neoclide/coc.nvim ; - i-coc-yaml:
https://github.com/neoclide/coc-yaml .
PS evela kumguquleli
Kwaye kukho kwakhona
Funda nakwibhlog yethu:
- Β«
kubebox kunye namanye amaqokobhe eKubernetes "; - Β«
Abancedisi beConsole ekusebenzeni neKubernetes nge kubectl Β».
umthombo: www.habr.com