ማስታወሻ. ትርጉምዋናው መጣጥፍ የተጻፈው በቪኤምዌር አርክቴክት በጆሽ ሮስሶ ሲሆን ቀደም ሲል እንደ CoreOS እና Heptio ባሉ ኩባንያዎች ውስጥ ይሰራ ነበር እንዲሁም የኩበርኔትስ አልብ-ኢንግረስ-ተቆጣጣሪው ተባባሪ ደራሲ ነው። ደራሲው በአሸናፊው የደመና ተወላጅ ዘመን እንኳን ቪም ለሚመርጡ "የድሮ ትምህርት ቤት" ኦፕሬሽኖች መሐንዲሶች በጣም ጠቃሚ ሊሆን የሚችል ትንሽ የምግብ አሰራርን አካፍሏል።
YAML መፃፍ ለ Kubernetes በቪም? በዚህ ዝርዝር ውስጥ ቀጣዩ መስክ የት መሆን እንዳለበት ለማወቅ ስፍር ቁጥር የሌላቸውን ሰዓታት አሳልፈዋል? ወይም ደግሞ ስለ ልዩነቱ ፈጣን ማሳሰቢያ ያደንቁ ይሆናል። args
и command
? መልካም ዜና አለ! ቪም ለማገናኘት ቀላል ነው
(የመጀመሪያው ጽሑፍ እንዲሁ
የቋንቋ አገልጋይ
የቋንቋ አገልጋዮች (የቋንቋ አገልጋዮች) ልዩ ፕሮቶኮልን በመጠቀም እርስ በእርስ ስለሚገናኙባቸው የፕሮግራም ቋንቋዎች ለአርታዒዎች እና IDEዎች ችሎታዎች ይናገሩ -
ቪም በተገለፀው መንገድ እንዲሰራ የቋንቋ አገልጋይ ደንበኛን መጫን ያስፈልግዎታል። የማውቃቸው ሁለቱ ዘዴዎች ናቸው። 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-ቋንቋ-አገልጋይ) node.js መጫን ያስፈልገዋል፡-
curl -sL install-node.now.sh/lts | bash
መቼ coc.vim
የተዋቀረ፣ የአገልጋይ ቅጥያውን ይጫኑ coc-yaml
ከቪም:
:CocInstall coc-yaml
በመጨረሻም፣ በጣም አይቀርም በማዋቀር መጀመር ትፈልጋለህ coc-vim
፣ አቅርቧል
የ yaml-ቋንቋ-አገልጋይ ማወቂያን በማዘጋጀት ላይ
ያ coc
Yaml-ቋንቋ-አገልጋይ ሊጠቀም ይችላል፣የ YAML ፋይሎችን በሚያርትዑበት ጊዜ ከኩበርኔትስ ንድፉን እንዲጭን መጠየቅ ያስፈልጋል። ይህ በአርትዖት ይከናወናል coc-config
:
:CocConfig
በማዋቀሩ ውስጥ መጨመር ያስፈልግዎታል kubernetes
ለሁሉም ፋይሎች yaml
. እኔ በተጨማሪ የቋንቋ አገልጋይ እጠቀማለሁ። golang
ስለዚህ የእኔ አጠቃላይ መዋቅር ይህንን ይመስላል
{
"languageserver": {
"golang": {
"command": "gopls",
"rootPatterns": ["go.mod"],
"filetypes": ["go"]
}
},
"yaml.schemas": {
"kubernetes": "/*.yaml"
}
}
kubernetes
- የቋንቋ አገልጋዩ የ Kubernetes ን ንድፍ ከተገለጸው ዩአርኤል እንዲያወርድ የሚናገር የተጠበቀ መስክ yaml.schemas
ተጨማሪ እቅዶችን ለመደገፍ ሊሰፋ ይችላል - ለተጨማሪ ዝርዝሮች, ይመልከቱ
አሁን የ YAML ፋይል መፍጠር እና ራስ-አጠናቅቅን መጠቀም መጀመር ይችላሉ። በመጫን ላይ + ቦታ (ወይም በቪም ውስጥ የተዋቀረ ሌላ ጥምረት) አሁን ባለው አውድ መሰረት ያሉትን መስኮች እና ሰነዶች ማሳየት አለበት፡
እዚህ ይሰራል + ቦታ ስላዋቀርኩ ነው። inoremap <silent><expr> <c-space> coc#refresh()
. ይህን ካላደረጉት ይመልከቱ
የ Kubernetes ኤፒአይ ስሪት መምረጥ
እስከዚህ ጽሑፍ ድረስ፣ የያምል ቋንቋ-አገልጋይ ከኩበርኔትስ 1.14.0 መርሃግብሮች ጋር ይጓዛሉ። በተለዋዋጭ ንድፍ የምመርጥበት መንገድ አላገኘሁም፣ ስለዚህ ከፈትኩ። server.ts
.
በማሽንዎ ላይ ለማግኘት በቀላሉ የ 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 በሥዕላዊ መግለጫው ውስጥ የለም
ማጠቃለያ
ይህ እድል እኔን እንዳስደሰተኝ ተስፋ አደርጋለሁ። መልካም YAMLing! በአንቀጹ ውስጥ የተጠቀሱትን መገልገያዎች የበለጠ ለመረዳት እነዚህን ማከማቻዎች መመልከትዎን ያረጋግጡ፡-
- ኮክ-ቪም:
https://github.com/neoclide/coc.nvim ; - ኮክ-ያማል:
https://github.com/neoclide/coc-yaml .
PS ከተርጓሚ
እና ደግሞ አለ
በብሎጋችን ላይ ያንብቡ፡-
ምንጭ: hab.com