Atklājiet VS Code potenciālu, iemācoties veidot pielāgotus paplašinājumus. Šī rokasgrāmata sniedz pilnīgu pārskatu no iestatīšanas līdz publicēšanai, lai uzlabotu savu kodēšanas vidi un dalītos ar saviem darbiem.
VS Code paplašinājumu izstrādes apgūšana: visaptveroša rokasgrāmata globāliem izstrādātājiem
Visual Studio Code (VS Code) ir kļuvis par iecienītāko koda redaktoru miljoniem izstrādātāju visā pasaulē. Tā popularitāte sakņojas tā vieglajā dabā, jaudīgajās funkcijās un, kas ir vissvarīgākais, tā paplašināmībā. Spēja veidot pielāgotus paplašinājumus ļauj izstrādātājiem pielāgot redaktoru savām specifiskajām vajadzībām, palielinot produktivitāti un optimizējot darba plūsmas. Šī visaptverošā rokasgrāmata jūs iepazīstinās ar savu VS Code paplašinājumu izveides procesu, sākot no sākotnējās iestatīšanas līdz pat jūsu darba publicēšanai, lai to varētu izmantot visa pasaule.
Kāpēc izstrādāt VS Code paplašinājumus?
VS Code paplašinājumu izstrāde piedāvā daudzas priekšrocības gan individuāliem izstrādātājiem, gan organizācijām:
- Personalizēta darba plūsma: Pielāgojiet redaktoru, lai tas pilnībā atbilstu jūsu kodēšanas stilam un projekta prasībām.
- Paaugstināta produktivitāte: Automatizējiet atkārtotus uzdevumus, integrējiet ar ārējiem rīkiem un optimizējiet savu izstrādes procesu.
- Uzlabota sadarbība: Kopīgojiet paplašinājumus ar savu komandu vai plašāku kopienu, lai standartizētu darba plūsmas un uzlabotu koda kvalitāti.
- Mācīšanās un prasmju attīstība: Pieredzes gūšana ar TypeScript, Node.js un VS Code API paver jaunas karjeras iespējas.
- Ieguldījums kopienā: Dalieties ar saviem inovatīvajiem risinājumiem ar globālo izstrādātāju kopienu un veiciniet ekosistēmas attīstību.
Priekšnosacījumi
Pirms sākat paplašinājumu izstrādi, pārliecinieties, ka jums ir instalēts sekojošais:
- Node.js un npm (Node Package Manager): VS Code paplašinājumu izstrāde lielā mērā balstās uz Node.js. Lejupielādējiet un instalējiet jaunāko LTS versiju no oficiālās Node.js vietnes. npm tiek automātiski instalēts kopā ar Node.js.
- Visual Studio Code: Pārliecinieties, ka jums ir instalēta jaunākā VS Code versija.
- Yeoman un VS Code paplašinājumu ģenerators: Yeoman ir karkasa veidošanas rīks, kas vienkāršo paplašinājumu izveides procesu. Instalējiet to globāli, izmantojot npm:
npm install -g yo generator-code
Savas izstrādes vides iestatīšana
Ar sagatavotiem priekšnosacījumiem jūs esat gatavs iestatīt savu izstrādes vidi:
- Izveidojiet jaunu paplašinājuma projektu: Atveriet termināli un palaidiet šādu komandu, lai startētu paplašinājumu ģeneratoru:
- Atbildiet uz uzvednēm: Ģenerators uzdos virkni jautājumu par jūsu paplašinājumu. Šeit ir biežāko uzvedņu un ieteicamo atbilžu sadalījums:
- Kāda veida paplašinājumu vēlaties izveidot? Izvēlieties "New Extension (TypeScript)", lai izveidotu paplašinājumu uz TypeScript bāzes, kas ir ieteicamā pieeja.
- Kāds ir jūsu paplašinājuma nosaukums? Izvēlieties aprakstošu un unikālu nosaukumu savam paplašinājumam. Piemēri: "Code Spell Checker," "JavaScript Snippets," "Python Autocomplete."
- Kāds ir jūsu paplašinājuma identifikators? Tas ir unikāls identifikators jūsu paplašinājumam, parasti formātā `izdevējs.paplašinājuma-nosaukums`. Izvēlieties izdevēja vārdu (piemēram, jūsu GitHub lietotājvārdu vai uzņēmuma nosaukumu).
- Kāds ir jūsu paplašinājuma apraksts? Sniedziet kodolīgu un informatīvu aprakstu par to, ko jūsu paplašinājums dara.
- Inicializēt git repozitoriju? Izvēlieties "Jā", lai inicializētu Git repozitoriju versiju kontrolei.
- Vai vēlaties izmantot eslint koda pārbaudei? Izvēlieties "Jā", lai nodrošinātu koda stila konsekvenci.
- Atveriet projektu VS Code: Kad ģenerators pabeidz darbu, atveriet jaunizveidoto projekta mapi VS Code.
yo code
Projekta struktūras izpratne
Paplašinājumu ģenerators izveido pamata projekta struktūru ar šādiem galvenajiem failiem:
- `package.json`: Šis fails satur metadatus par jūsu paplašinājumu, ieskaitot tā nosaukumu, versiju, aprakstu, atkarības un aktivizācijas notikumus.
- `tsconfig.json`: Šis fails konfigurē TypeScript kompilatoru.
- `.vscode/launch.json`: Šis fails konfigurē jūsu paplašinājuma atkļūdotāju.
- `src/extension.ts`: Šis ir jūsu paplašinājuma galvenais ieejas punkts. Tas satur `activate` un `deactivate` funkcijas.
- `README.md`: Markdown fails, kas sniedz jūsu paplašinājuma aprakstu, lietošanas instrukcijas un citu svarīgu informāciju.
Jūsu pirmā paplašinājuma rakstīšana
Sāksim ar vienkārša paplašinājuma izveidi, kas parāda "Hello World" ziņojumu, kad tiek izpildīta komanda:
- Atveriet `src/extension.ts`: Šis fails satur `activate` funkciju, kas tiek izsaukta, kad jūsu paplašinājums tiek aktivizēts.
- Modificējiet `activate` funkciju: Aizstājiet esošo kodu ar sekojošo:
- Paskaidrojums:
- `vscode.commands.registerCommand('my-extension.helloWorld', ...)`: Reģistrē komandu ar ID `my-extension.helloWorld`. Šī komanda būs pieejama VS Code komandu paletē.
- `vscode.window.showInformationMessage('Sveika, pasaule, no mana paplašinājuma!')`: Parāda informatīvu ziņojumu VS Code logā.
- `context.subscriptions.push(disposable)`: Pievieno komandu paplašinājuma abonementiem, nodrošinot, ka tā tiek pareizi atbrīvota, kad paplašinājums tiek deaktivizēts.
- Modificējiet `package.json`: Pievienojiet sekojošo `contributes` sadaļai, lai definētu komandu:
- Paskaidrojums:
- `"commands"`: Definē komandas, ko jūsu paplašinājums pievieno.
- `"command": "my-extension.helloWorld"`: Norāda komandas ID, kas sakrīt ar ID, kas izmantots `extension.ts`.
- `"title": "Hello World"`: Iestata komandas attēlojamo nosaukumu komandu paletē.
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
console.log('Apsveicam, jūsu paplašinājums \"my-extension\" tagad ir aktīvs!');
let disposable = vscode.commands.registerCommand('my-extension.helloWorld', () => {
vscode.window.showInformationMessage('Sveika, pasaule, no mana paplašinājuma!');
});
context.subscriptions.push(disposable);
}
export function deactivate() {}
"contributes": {
"commands": [{
"command": "my-extension.helloWorld",
"title": "Hello World"
}]
}
Jūsu paplašinājuma testēšana
Tagad ir laiks testēt jūsu paplašinājumu:
- Nospiediet F5: Tas palaidīs jaunu VS Code logu ar instalētu jūsu paplašinājumu. Šis ir "Extension Development Host" (Paplašinājumu izstrādes resursdators).
- Atveriet komandu paleti: Nospiediet `Ctrl+Shift+P` (vai `Cmd+Shift+P` macOS) lai atvērtu komandu paleti.
- Ierakstiet "Hello World": Jums vajadzētu redzēt savu komandu komandu paletes sarakstā.
- Atlasiet "Hello World": Noklikšķinot uz komandas, tā tiks izpildīta un VS Code logā parādīsies "Hello World" ziņojums.
Jūsu paplašinājuma atkļūdošana
Atkļūdošana ir būtiska, lai identificētu un novērstu problēmas jūsu paplašinājumā. VS Code nodrošina izcilu atkļūdošanas atbalstu:
- Iestatiet pārtraukuma punktus (Breakpoints): Noklikšķiniet redaktora teknē blakus rindu numuriem, lai iestatītu pārtraukuma punktus savā kodā.
- Nospiediet F5: Tas palaidīs paplašinājumu izstrādes resursdatoru atkļūdošanas režīmā.
- Aktivizējiet savu paplašinājumu: Izpildiet komandu vai darbību, kas aktivizē kodu, kuru vēlaties atkļūdot.
- Pārbaudiet mainīgos un izsaukumu steku (Call Stack): VS Code atkļūdotājs apturēs izpildi jūsu pārtraukuma punktos, ļaujot jums pārbaudīt mainīgos, iziet cauri kodam soli pa solim un pārbaudīt izsaukumu steku.
Darbs ar VS Code API
VS Code API nodrošina bagātīgu saskarņu un funkciju kopumu mijiedarbībai ar redaktoru. Šeit ir dažas galvenās API jomas:
- `vscode.window`: Mijiedarbībai ar VS Code logu, ziņojumu rādīšanai, ievades lauku rādīšanai un paneļu pārvaldībai.
- `vscode.workspace`: Lai piekļūtu un manipulētu ar darbvietu, ieskaitot failus, mapes un konfigurācijas iestatījumus.
- `vscode.commands`: Komandu reģistrēšanai un izpildei.
- `vscode.languages`: Lai nodrošinātu valodu atbalstu, piemēram, sintakses izcelšanu, koda pabeigšanu un diagnostiku.
- `vscode.debug`: Mijiedarbībai ar atkļūdotāju.
- `vscode.scm`: Mijiedarbībai ar pirmkoda kontroles pārvaldības sistēmām, piemēram, Git.
Piemērs: Koda fragmenta paplašinājuma izveide
Izveidosim paplašinājumu, kas pievieno koda fragmentu pamata React komponenta izveidei:
- Izveidojiet mapi `snippets`: Izveidojiet jaunu mapi ar nosaukumu `snippets` sava projekta saknes direktorijā.
- Izveidojiet fragmenta failu: Izveidojiet failu ar nosaukumu `react.json` mapē `snippets`.
- Pievienojiet fragmenta definīciju: Pievienojiet šādu JSON failam `react.json`:
- Paskaidrojums:
- `"React Component"`: Fragmenta nosaukums.
- `"prefix": "reactcomp"`: Prefikss, kas aktivizē fragmentu. Ierakstot `reactcomp` un nospiežot `Tab`, tiks ievietots fragments.
- `"body"`: Virkņu masīvs, kas attēlo koda rindiņas fragmentā.
- `${1:ComponentName}`: Tabulēšanas pietura, kas ļauj ātri mainīt komponenta nosaukumu.
- `"description"`: Fragmenta apraksts.
- Modificējiet `package.json`: Pievienojiet sekojošo `contributes` sadaļai:
- Paskaidrojums:
- `"snippets"`: Definē fragmentus, ko jūsu paplašinājums pievieno.
- `"language": "javascriptreact"`: Norāda valodu, kurai fragments ir piemērojams.
- `"path": "./snippets/react.json"`: Norāda ceļu uz fragmenta failu.
- Pārbaudiet savu fragmentu: Atveriet `.jsx` vai `.tsx` failu un ierakstiet `reactcomp`. Nospiediet `Tab`, lai ievietotu fragmentu.
{
"React Component": {
"prefix": "reactcomp",
"body": [
"import React from 'react';",
"",
"interface Props {\n\t[key: string]: any;\n}",
"",
"const ${1:ComponentName}: React.FC = (props: Props) => {\n\treturn (\n\t\t\n\t\t\t${2:Content}\n\t\t\n\t);\n};",
"",
"export default ${1:ComponentName};"
],
"description": "Izveido pamata React komponentu"
}
}
"contributes": {
"snippets": [{
"language": "javascriptreact",
"path": "./snippets/react.json"
}]
}
Paplašinātas paplašinājumu izstrādes tehnikas
Kad esat apguvis pamatus, varat izpētīt sarežģītākas paplašinājumu izstrādes tehnikas:
- Valodu servera protokols (LSP): Izmantojiet LSP, lai nodrošinātu uzlabotu valodu atbalstu, piemēram, koda pabeigšanu, diagnostiku un refaktorēšanu, konkrētai valodai. Populāras LSP implementācijas ir pieejamas Python, Java un Go.
- Atkļūdošanas adapteri: Izveidojiet pielāgotus atkļūdošanas adapterus, lai atbalstītu konkrētu programmēšanas valodu vai izpildlaiku atkļūdošanu.
- Webviews: Ieguliet interaktīvas tīmekļa saskarnes VS Code, izmantojot webviews. Tas ļauj jums izveidot sarežģītus un vizuāli pievilcīgus paplašinājumus.
- Tēmas: Izveidojiet pielāgotas tēmas, lai mainītu VS Code izskatu. Daudzas populāras tēmas ir pieejamas VS Code Marketplace.
- Taustiņu kombinācijas: Definējiet pielāgotas taustiņu kombinācijas, lai piesaistītu konkrētas darbības tastatūras īsceļiem.
Internacionalizācija un lokalizācija (i18n un L10n)
Lai sasniegtu globālu auditoriju, apsveriet sava paplašinājuma internacionalizāciju un lokalizāciju. Tas ietver jūsu paplašinājuma pielāgošanu, lai atbalstītu dažādas valodas un reģionus.
- Eksternalizējiet virknes: Pārvietojiet visas lietotājam redzamās virknes uz atsevišķiem resursu failiem.
- Izmantojiet VS Code i18n API: VS Code nodrošina API lokalizētu virkņu ielādei, pamatojoties uz lietotāja lokalizāciju.
- Atbalstiet vairākas valodas: Nodrošiniet resursu failus dažādām valodām.
- Apsveriet izkārtojumu no labās uz kreiso (RTL): Ja jūsu paplašinājums rāda tekstu, pārliecinieties, ka tas atbalsta RTL valodas, piemēram, arābu un ivritu.
Jūsu paplašinājuma publicēšana
Kad jūsu paplašinājums ir gatavs, varat to publicēt VS Code Marketplace, lai citi to varētu izmantot:
- Izveidojiet Azure DevOps organizāciju: Lai publicētu savu paplašinājumu, jums būs nepieciešama Azure DevOps organizācija. Ja jums tādas nav, izveidojiet bezmaksas kontu Azure DevOps vietnē.
- Instalējiet rīku `vsce`: VS Code Extension Manager (`vsce`) ir komandrindas rīks paplašinājumu iepakošanai un publicēšanai. Instalējiet to globāli, izmantojot npm:
- Izveidojiet izdevēju: Izdevējs ir identitāte, kurai pieder jūsu paplašinājumi Marketplace. Izveidojiet izdevēju, izmantojot komandu `vsce create-publisher`. Jums būs jānorāda izdevēja nosaukums un personīgās piekļuves pilnvara (PAT) no Azure DevOps.
- Ģenerējiet personīgās piekļuves pilnvaru (PAT): Azure DevOps dodieties uz "User Settings" -> "Personal Access Tokens" un izveidojiet jaunu PAT ar "Marketplace (Publish)" tiesībām.
- Iepakojiet savu paplašinājumu: Izmantojiet komandu `vsce package`, lai iepakotu savu paplašinājumu `.vsix` failā.
- Publicējiet savu paplašinājumu: Izmantojiet komandu `vsce publish`, lai publicētu savu paplašinājumu Marketplace. Jums būs jānorāda savs izdevēja vārds un jūsu PAT.
npm install -g vsce
Labākā prakse paplašinājumu izstrādē
Ievērojiet šo labāko praksi, lai izveidotu augstas kvalitātes un uzturamus VS Code paplašinājumus:
- Izmantojiet TypeScript: TypeScript nodrošina statisku tipēšanu un uzlabo koda uzturamību.
- Rakstiet vienību testus: Rakstiet vienību testus, lai nodrošinātu, ka jūsu paplašinājums darbojas pareizi.
- Izmantojiet Linter: Izmantojiet linteru, piemēram, ESLint, lai nodrošinātu koda stila konsekvenci.
- Dokumentējiet savu kodu: Rakstiet skaidru un kodolīgu dokumentāciju savam paplašinājumam.
- Apstrādājiet kļūdas eleganti: Ieviesiet pareizu kļūdu apstrādi, lai novērstu jūsu paplašinājuma avārijas.
- Optimizējiet veiktspēju: Optimizējiet sava paplašinājuma veiktspēju, lai izvairītos no VS Code palēnināšanas.
- Ievērojiet VS Code API vadlīnijas: Ievērojiet VS Code API vadlīnijas, lai nodrošinātu, ka jūsu paplašinājums labi integrējas ar redaktoru.
- Apsveriet pieejamību: Padariet savu paplašinājumu pieejamu lietotājiem ar invaliditāti.
Kopienas resursi
Šeit ir daži vērtīgi resursi, lai uzzinātu vairāk par VS Code paplašinājumu izstrādi:
- VS Code Extension API dokumentācija: Oficiālā dokumentācija VS Code Extension API.
- VS Code paplašinājumu paraugi: Paraugu paplašinājumu kolekcija, kas demonstrē dažādas API funkcijas.
- VS Code Marketplace: Pārlūkojiet VS Code Marketplace, lai atrastu esošus paplašinājumus un mācītos no to koda.
- Stack Overflow: Uzdodiet jautājumus un atrodiet atbildes saistībā ar VS Code paplašinājumu izstrādi.
- GitHub: Izpētiet atvērtā koda VS Code paplašinājumus un sniedziet ieguldījumu kopienā.
Noslēgums
VS Code paplašinājumu izstrāde ir spēcīgs veids, kā pielāgot savu kodēšanas vidi, palielināt produktivitāti un dalīties ar saviem risinājumiem ar globālo izstrādātāju kopienu. Sekojot šai visaptverošajai rokasgrāmatai, jūs varat apgūt paplašinājumu izstrādes mākslu un radīt inovatīvus rīkus, kas uzlabo VS Code pieredzi gan sev, gan citiem. Atcerieties pieņemt kopienu, sniegt ieguldījumu atvērtā koda projektos un nepārtraukti mācīties un izpētīt pastāvīgi mainīgo VS Code paplašinājumu izstrādes pasauli. Veiksmi un priecīgu kodēšanu!