
Bitte wählen Sie die Bereiche, die Sie exportieren möchten:

Schulung Visual Studio Code Extension-Entwicklung mit TypeScript
Commands, Webviews, Language Server Protocol und Marketplace
Schulungsformen
Inhouse-/Firmenschulung
- 2 Tage - anpassbar
- Termin nach Wunsch
- In Ihrem Hause oder bei der GFU
- Preis nach Angebot
- Lernumgebung in der Cloud
- Inhalte werden auf Wunsch an die Anforderungen Ihres Teams angepasst.
Individualschulung
- 2 Tage - anpassbar
- Termin nach Wunsch
- In Ihrem Hause oder bei der GFU
- Preis nach Angebot
- Lernumgebung in der Cloud
- 1 Teilnehmender = Fokus aufs Fachliche und maximaler Raum für individuelle Fragen.
Beschreibung
Die typischen Use Cases für eigene Extensions sind konkreter als man denkt: ein Snippet-Set für die firmeneigene Komponentenbibliothek, ein Linter der hauseigene Coding-Standards prüft, ein Seitenpanel das den Status des internen CI/CD-Systems zeigt, ein Code-Generator der aus einer OpenAPI-Spec TypeScript-Clients erzeugt, oder Sprachunterstützung für eine interne Konfigurationssprache (Syntax-Highlighting, Validierung, Autocomplete).
Dieses zweitägige Seminar führt von der ersten Extension (10 Minuten: Yeoman Generator -> Hello World -> im Editor testen) bis zur Marketplace-Veröffentlichung - mit drei vollständigen Extensions als Lernprojekte.
Bei Interesse an einem passenden Visual Studio Seminar, werfen Sie einen Blick auf unser gesamtes Portfolio.
Schulungsziel
Jede teilnehmende Person verlässt das Seminar mit dem Verständnis der VS-Code-Extension-Architektur (Activation Events, Contribution Points, Extension Host), der Fähigkeit, Commands, Webviews, TreeViews und Sidebar-Panels zu implementieren, einem Grundverständnis des Language Server Protocol für eigene Sprachunterstützung, 3 funktionsfähigen Extensions als Referenz und Code-Basis, der Kompetenz, Extensions zu testen, zu paketieren und zu veröffentlichen (VSIX oder Marketplace) und einer Extension-Idee für den eigenen Arbeitsalltag mit erstem Prototyp.
Details
Inhalt
1. Extension-Architektur und erstes Projekt
- Ziele und Erwartungen der Teilnehmenden
- Klärung individueller Lernziele und Erwartungen für ein praxisnahes und relevantes Seminar
- VS Code Extension API: Architektur (Extension Host Process, Activation Events, Contribution Points), Capabilities und Grenzen.
- Projekt-Setup: Yeoman Generator, Projektstruktur (package.json als Manifest, extension.ts als Einstiegspunkt), Debugging der eigenen Extension (Extension Development Host - eine zweite VS-Code-Instanz zum Testen).
- package.json als Extension-Manifest: Contribution Points (Commands, Menus, Keybindings, Views, Languages, Themes, Snippets), Activation Events (onCommand, onLanguage, onStartupFinished, workspaceContains).
- Praxis-Übung: Extension 1a - „Hello World": Command registrieren, im Command Palette auslösen, Notification anzeigen. Im Extension Development Host debuggen.
- Commands: Registrieren, ausführen, mit Parametern. User-Input abfragen (Quick Pick, Input Box, Multi-Step Input). Statusbar-Items für permanente Anzeige.
- Menus und Context Menus: Commands in Editor-Kontextmenü, Explorer-Kontextmenü, Editor-Titelleiste oder Activity Bar einbinden. When-Clauses für kontextabhängige Sichtbarkeit.
- Keybindings: Tastaturkürzel für Commands definieren. Plattformspezifische Bindings (Ctrl auf Windows, Cmd auf Mac).
- Workspace und Editor API: Dateien lesen/schreiben, aktive Editor-Selektion lesen und manipulieren, Diagnostics (Fehler und Warnungen im Problems-Panel erzeugen), Decorations (Text-Hervorhebungen im Editor).
- Praxis-Übung: Extension 1b erweitern: Command, der die aktuelle Selektion in Großbuchstaben umwandelt, Kontextmenü-Eintrag, Keybinding, Statusbar-Item mit Wortanzahl.
- Webview-Panels: Eigene HTML/CSS/JavaScript-Oberfläche in VS Code. Für: Dashboards, Formulare, Visualisierungen, Preview-Panels, interaktive Dokumentation.
- Kommunikation: Extension <-> Webview Messaging (postMessage/onDidReceiveMessage). State Persistence (Webview-Zustand über Tab-Wechsel hinweg behalten).
- Security: Content Security Policy, lokale Ressourcen laden (Styles, Scripts, Bilder), kein direkter API-Zugriff aus dem Webview.
- Webview Views (Sidebar): Eigene Panels in der Sidebar (Activity Bar) statt als Editor-Tab.
- Praxis-Übung: Extension 2 - „Project Dashboard": Webview-Panel, das package.json liest und Projektinfos anzeigt (Name, Version, Dependencies, Scripts). Button im Webview -> Command in der Extension auslösen (npm-Script starten).
4. TreeViews und Custom Sidebar
- TreeView API: Eigene Baumansichten in der Sidebar (Explorer-ähnlich). TreeDataProvider implementieren, Items mit Icons und Kontext-Aktionen.
- Activity Bar: Eigenes Icon in der Activity Bar mit eigenem Container für TreeViews und Webview Views.
- Kombination: TreeView für Navigation + Webview für Detail-Ansicht - ein komplettes UI-Erlebnis innerhalb von VS Code.
- Praxis-Übung: Extension 2 erweitern: TreeView in der Sidebar, der alle TODO-Kommentare im Workspace als Baumstruktur anzeigt (gruppiert nach Datei), Klick navigiert zur Stelle im Code.
- LSP-Konzept: Sprachunterstützung (Autocomplete, Diagnostics, Hover, Go to Definition, Formatting) als separater Server-Prozess. Client (VS Code Extension) <-> Server (eigener Language Server) kommunizieren über ein standardisiertes Protokoll. Vorteil: derselbe Language Server funktioniert in VS Code, Neovim, Sublime, Eclipse.
- vscode-languageclient und vscode-languageserver: NPM-Pakete für Client und Server. Server implementieren: Text Document Synchronization, Diagnostics (Fehler und Warnungen bei jedem Tastendruck), Completion (Autocomplete-Vorschläge), Hover (Tooltip bei Mouse-Over).
- Einsatzszenarien: Sprachunterstützung für interne Konfigurationssprachen (YAML-Varianten, DSLs, Template-Sprachen), Validierung von firmeneigenen Dateiformaten, Autocomplete für interne APIs und Bibliotheken.
- Praxis-Übung: Extension 3 - einfacher Language Server für ein Custom-Konfigurationsformat: Syntax-Validierung (Diagnostics bei ungültigen Einträgen), Autocomplete für bekannte Schlüsselwörter, Hover-Informationen für Konfigurationsoptionen.
Testing (20 Min):
- Extension Testing: VS Code Extension Test Runner, Integration Tests (Extension in einem echten VS-Code-Fenster testen), Unit Tests für Logik ohne VS-Code-Abhängigkeit.
- CI/CD: Extensions in GitHub Actions oder Azure Pipelines automatisiert testen und bauen.
- VSIX: Extension als installierbare Datei paketieren. Für interne Verteilung ohne Marketplace.
- VS Code Marketplace: Publisher-Account erstellen, Extension veröffentlichen, Versionen verwalten, Bewertungen und Download-Statistiken.
- Private Extensions: Interne Verteilung über VSIX-Dateien, eigenen Extension-Registry oder Workspace-Empfehlungen.
- Qualität: README, CHANGELOG, Icon, Kategorien und Tags für Discoverability. Extension Bundling mit esbuild (kleinere Extension, schnelleres Laden).
- Phase 1 - Eigene Extension planen und prototypen (20 Min): Eigenen Use Case wählen (oder vorgegebenes Szenario). Extension-Typ festlegen (Command, Webview, TreeView, Language Server), package.json mit Contribution Points skizzieren, Kernfunktionalität prototypen.
- Phase 2 - Peer-Review (10 Min): Extension-Idee vorstellen. Feedback: Gibt es das schon im Marketplace? Ist der Use Case groß genug für eine Extension oder reicht ein Snippet-Set? Welche API-Features werden benötigt?
Zielgruppe & Vorkenntnisse
- TypeScript-Entwickler: Die interne Tooling-Lücken mit eigenen VS-Code-Extensions schließen - Linter, Snippet-Provider, Code-Generatoren oder Dashboard-Panels für firmenspezifische Technologien.
- DevEx- und Platform-Teams: Die Entwicklerproduktivität im Unternehmen steigern, indem sie VS Code mit maßgeschneiderten Extensions an interne Workflows, Coding-Standards und Infrastruktur anpassen.
- Open-Source-Entwickler: Die Extensions für die Community bauen und im VS Code Marketplace veröffentlichen.
- Tool-Entwickler und Architekten: Die das Language Server Protocol (LSP) verstehen und Sprachunterstützung für eigene DSLs oder Konfigurationsformate bauen.
Ihre Schulung
In Präsenz | Online |
|---|---|
| Lernmethode | |
Ausgewogene Mischung aus Theorie und praktischen Übungen auf persönlichem Schulungs-PC. | Wie auch bei unseren Präsenz-Seminaren: Ausgewogene Mischung aus Theorie und praktischen Übungen. Trainer durchgehend präsent. |
| Unterlagen | |
Seminarunterlagen oder Fachbuch inklusive. Das Fachbuch wählt der Trainer passend zum Seminar aus - Ihren individuellen Buch-Wunsch berücksichtigen wir auf Nachfrage gerne. | Seminarunterlagen oder Fachbuch inklusive (via DHL). Das Fachbuch wählt der Trainer passend zum Seminar aus - Ihren individuellen Buch-Wunsch berücksichtigen wir auf Nachfrage gerne. |
| Arbeitsmaterialien | |
Din A4 Block, Notizblock, Kugelschreiber, USB-Stick, Textmarker, Post-its | |
| Teilnahmezertifikat | |
Nach Abschluss des Seminars erhalten Sie das Teilnahmezertifikat inkl. Inhaltsverzeichnis per E-Mail als PDF. | |
Organisation
In Präsenz | Online | |
|---|---|---|
| Teilnehmendenzahl | ||
min. 1, max. 8 Personen | ||
| Garantierte Durchführung * | ||
Ab 1 Teilnehmenden | ||
| Schulungszeiten | ||
| ||
| Ort der Schulung | ||
GFU SchulungszentrumAm Grauen Stein 27 51105 Köln-Deutz oder online im Virtual Classroom oder europaweit bei Ihnen als Inhouse-Schulung Um ein optimales Raumklima zu gewährleisten, haben wir das Schulungszentrum mit 17 hochmodernen Trotec TAC V+ Luftreinigern ausgestattet. Diese innovative Filtertechnologie (H14 zertifiziert nach DIN EN1822) sorgt dafür, dass die Raumluft mehrfach pro Stunde umgewälzt wird und Schadstoffe zu 99.995% im HEPA-Filter abgeschieden und infektiöse Aerosole abgetötet werden. Zusätzlich sind alle Räume mit CO2-Ampeln ausgestattet, um jederzeit eine hervorragende Luftqualität sicherzustellen. | ||
| Räumlichkeiten | ||
Helle und modern ausgestattete Räume mit perfekter Infrastruktur | Bequem aus dem Homeoffice von überall | |
| All-Inclusive | ||
Frühstück, Snacks und Getränke ganztägig, Mittagessen im eigenen Restaurant, täglich 6 Menüs, auch vegetarisch | Eine Auswahl unserer Frühstücks-Snacks und Nervennahrungs-Highlights senden wir Ihnen mit den Seminarunterlagen via DHL zu. | |
| Barrierefreiheit | ||
Das GFU-Schulungszentrum (Am Grauen Stein 27) ist barrierefrei | - | |
Kostenfreie Services
In Präsenz | Online |
|---|---|
|
|
Buchungsmöglichkeiten
Online oder in Präsenz teilnehmen
Sie können sowohl Online als auch in Präsenz am Seminar teilnehmen. Klicken Sie bei Ihrer Buchung oder Anfrage einfach die entsprechende Option an.
- Lernumgebung in der Cloud
- Inhalte werden auf Wunsch an die Anforderungen Ihres Teams angepasst.
- Lernumgebung in der Cloud
- 1 Teilnehmender = Fokus aufs Fachliche und maximaler Raum für individuelle Fragen.
Was bedeutet Offene Schulung und Inhouse Schulung?
Bei einer offenen Schulung stehen Ort und Termin vorab fest. Jeder Interessent kann eine offene Schulung buchen, daher treffen Teilnehmer aus verschiedenen Unternehmen aufeinander.
Inhouse Schulungen können auf Ihren individuellen Schulungsbedarf zugeschnitten werden. Sie bestimmen den Teilnehmerkreis, Termin und Schulungsort.
Ist eine Inhouse Schulung die richtige Wahl?
Bei einer Inhouse Schulung gehen wir auf die individuellen Bedürfnisse Ihres Unternehmens ein und decken den Schulungsbedarf direkt bei Ihnen im Unternehmen ab.
Das spart Zeit und Geld und sorgt für einen schnellen Wissenstransfer Ihrer Mitarbeiter.
Wer kümmert sich um die Technik bei Inhouse Schulungen?
Eine komplette Lernumgebung in der Cloud mit Remote Zugriff ist für uns selbstverständlich. Sie müssen sich um nichts kümmern. Lediglich ein funktionierender PC oder Notebook mit Internetanschluss sollte für jeden Teilnehmer am Schulungstag bereit stehen.
Vorteile einer Inhouse Schulung
- Kompetente Seminarberatung
- Dozenten aus der Praxis
- Auf Ihre Bedürfnisse zugeschnittener individueller Lernstoff
- Sie können den Termin flexibel gestalten, so wie es für Sie am besten passt
- Unsere Inhouse Schulungen können Europaweit durchgeführt werden
- Der Fokus liegt auf Ihrem Schulungsbedarf, somit schonen Sie Ihr Budget
- Wissenslücken Ihrer Mitarbeitet werden schnell geschlossen
GFU Schulungszentrum