Rozšíření a podporu ekosystémExtensions and Ecosystem Support

Jedním z primárních cílů Visual Studio Live Share je vývojářům umožňuje spolupracovat s kolegy a z pohodlí jejich oblíbených a vysoce přizpůsobené nástroje.One of the primary goals of Visual Studio Live Share is to enable developers to collaborate with each other, from the comfort of their favorite, and highly-customized tools. Tímto způsobem ad-hoc interakce často, může dojít, přitom vizuálně známé a výrazně, bez ohledu na to co vám pomáhají s.This way, ad-hoc interactions can occur frequently, while remaining visually familiar and ergonomic, regardless what you're helping with. Za tím účelem je velmi důležité, že budou moci pokračovat v používání všechna rozšíření, které podporují účastníci v rámci spolupráce relace jejich osobní preference a pracovních postupů (třeba/ikony barevné motivy, klávesové zkratky, editor zvýšení produktivity stimulátory).To achieve this, it's critical that participants within a collaboration session are able to continue using any extensions which support their personal preferences and workflows (e.g. color/icons themes, key bindings, editor productivity enhancers).

Kromě toho provést v rámci připojení k relaci spolupráci jako okamžité nejvíce přitom vysoce produktivní, cílem Visual Studio Live Share je povolit hosté automaticky využívat nástroje specifické pro projekt, který sdílí jeho hostitele.Additionally, to make the act of joining a collaboration session as instant as possible, while remaining highly-productive, the goal of Visual Studio Live Share is to enable guests to automatically leverage the project-specific tooling their host has shared. Tímto způsobem můžete jednoduše kliknout na odkaz, spusťte nástroj dle výběru a zahájit spolupráci, bez jakékoliv další nastavení.This way, you can simply click a link, launch your tool of choice, and begin collaborating, without any extra setup. Za tím účelem je velmi důležité tohoto rozšíření, která power základní upravovat, vytvářet a ladit pracovní postupse transparentně "vzdálený" z hostitele na hosta, tak, aby věci, jako je automatické dokončování, přejít k definici a ladění " prostě fungují".To achieve this, it is critical that extensions, which power the core edit, build and debug workflow, are transparently "remoted" from the host to the guest, so that things like auto-completion, go-to-definition, and debugging "just work".

Tento dokument popisuje aktuální označuje stav pro rozšíření rozsáhlému ekosystému, stejně jako "metrik" pro výše uvedené cíle.This document covers the current known state for the vast extension ecosystem, as well as a "scorecard" for the aforementioned goals. Pokud dojde k rozšíření, které nebude tato kritéria splňují a je velmi důležité pro váš osobní pracovní postup, pak prosím dejte nám vědět!If you encounter an extension that doesn't meet this criteria, and is critical to your personal workflow, then please let us know!

Rozšíření specifické pro uživateleUser-Specific Extensions

Rozšíření, které podporují vlastní uživatelská nastavení musí práce pro hostitele, a by měl pro všechny hosté fungují.Extensions that support user-specific customizations must work for the host, and should work for all guests. Pokud rozšíření nebude fungovat správně pro hostitele, který by byl regrese a je pravděpodobně chyba ve Visual Studio Live Share (prosím založte problém Pokud se zobrazí jedna!).If an extension doesn't work properly for the host, that would be a regression, and is likely a bug in Visual Studio Live Share (please file an issue if you see one!). Pokud rozšíření nechová podle očekávání pro hosta, můžou vyžadovat změn v samotné rozšíření, a jsme budete pracovat s ekosystémem partnerů pro adresu/zlepšit tyto scénáře.If an extension doesn't behave as expected for a guest, it may require changes in the extension itself, and we'll work with the ecosystem to address/improve these scenarios.

Visual Studio CodeVisual Studio Code

KategorieCategory Příklady () dotazůExample(s) Host podporovány?Guest-Supported? Spolupráci?Collaborative?
Barevné motivyColor Themes Jeden Pro tmavý, výstup Colorizer, Rainbow řetězec, Vybarvenými oblastech, odsazena bloku zvýraznění, Zvýraznění todo, párování Colorizer párOne Dark Pro, Output Colorizer, Rainbow String, Colored Regions, Indented Block Highlighting, Todo Highlight, Bracket Pair Colorizer NENÍ K DISPOZICIN/A
Ikona sadyIcon Sets vscode-icons, Visual Studio Classic Iconsvscode-icons, Visual Studio Classic Icons NENÍ K DISPOZICIN/A
Klávesové zkratkyKey bindings VIM, klávesové zkratky IntelliJ IDEA, Keymap popisný (emacs)Vim, IntelliJ IDEA Keybindings, Emacs Friendly Keymap NENÍ K DISPOZICIN/A
Fragmenty kóduSnippets Fragmenty kódu angular v5, fragmentů kódu HTML, SVG ikony, hlavička souboruAngular v5 Snippets, HTML Snippets, SVG Icons, File Header NENÍ K DISPOZICI 1N/A 1
OrganizaceOrganization Synchronizace nastavení, projektový manažer, Timeit, kontrolní body, TODO analyzátor, Oblíbené položky (❌) záložky (❌)Settings Sync, Project Manager, Timeit, Checkpoints, TODO Parser, Favorites (❌), Bookmarks (❌) 22 NENÍ K DISPOZICI 3N/A 3
ProduktivitaProductivity GitLens, Automatické přejmenování značky, kódu osnovy, barevné zvýraznění, zvýšit výběr, Bracketeer, náhled obrázku, pomocné rutiny JSON (ukazatel), výběr barvy, kopírování aplikace Word v kurzoru, CodeMetrics (CodeLens) Git spoluautoři, JavaScript podpůrná (CodeActions) protokolu konzoly Turbo, Goto další/předchozí člen, Automatické posunování, NPM Import verze (❌) importovat náklady (❌)GitLens, Auto-Rename Tag, Code Outline, Color Highlight, Increment Selection, Bracketeer, Image Preview, JSON Helper (Hover), Color Picker, Copy Word in Cursor, CodeMetrics (CodeLens), Git Co-Authors, JavaScript Booster (CodeActions), Turbo Console Log, Goto Next/Previous Member, Auto-scroll, NPM Import Version (❌), Import Cost (❌) 22 33
REPLsREPLs Klient REST, kódu Runner, Quokka.js, RREST Client, Code Runner, Quokka.js, R 44 33
Správce prostředkůResource Managers MSSQL, ftp jednoduchý, Azure Functions, Docker, Brew službymssql, ftp-simple, Azure Functions, Docker, Brew Services 55 33

1 Pokud byl uživatel již znáte fragment kódu, očekávají by byla k dispozici, a proto, díky kterým sdílené nedává smysl nutně.1 Unless a user was already familiar with a snippet, they wouldn't expect it to be available, and therefore, making them shared doesn't necessarily make sense.

2 tyto kategorie rozšíření jsou tak rozdílné, že není možné Řekněme, že fungují. Ale teoreticky by měly a sledujeme budete klíč ty, které ji nemají.2 These extension categories are so diverse, that it's impossible to say they all work. However, in theory, they should, and we'll track the key ones that don't.

3 tyto kategorie rozšíření můžou mít užitek z prostředí pro spolupráci, a proto potřebujeme vědět, že koncový uživatel zpětnou vazbu!3 These extension categories may benefit from collaborative experiences, and so we need end-user feedback to know that!

4 vyžadují hostem a být modulu runtime nainstalovány nástroje (například Node.js) a fungují tak, že spouštění kódu místně.4 These require the guest to have the runtime tools installed (e.g. Node.js), and work by running code locally.

5 těchto fungují tak, že připojení k serveru určitého druhu a můžete pracovat buď centralizované servery, servery, které sdílí hosta.5 These work by connecting to a server of some kind, and can work with either centralized servers, servers that the guest has shared.

Visual StudioVisual Studio

Již brzy.Coming soon.

Rozšíření specifické pro projektProject-Specific Extensions

Hostiteli nainstalovaná rozšíření, která podporu základní úpravy, sestavování a ladění aplikace a specifické na jazyk nebo platformu/knihovny/sadu SDK, musí být automaticky dostupná ke hosté, bez nutnosti jejich nutnost nic instalovat.Host-installed extensions, which support the core editing, building and debugging of an application, and are specific to a language/platform/library/SDK, should be automatically available to guests, without requiring them to install anything. Tímto způsobem hostitele můžete nastavit jejich prostředí pro podporu produktivitu vývoje projektu a povolit jejich hosté k nim, okamžitě bez další předpoklady.This way, hosts can setup their environment to support productive development of a project, and allow their guests to instantly join them, without additional pre-requisites. Vzhledem k tomu, že rozšíření specifické pro projekt nejsou subjektivní nebo osobní žádným způsobem, nedeterministicky sdíleny z hostitele na hosta, aniž by to ovlivnilo kýmkoli známém prostředí.Because project-specific extensions aren't subjective or personal in any way, they can be deterministically shared from host-to-guest, without impacting anyone's familiar environment.

Kromě toho za účelem podpory specifické pro projekt rozšíření, která má nainstalovanou hosta, ale hostitel nebude, by v ideálním případě poskytují degradovaný, ještě funkční prostředí (např. načtení jednotlivých souborů intellisense, nebudou moct dokument formátu).Additionally, in order to support project-specific extensions that a guest has installed, but the host doesn't, they would ideally provide a degraded, yet functional experience (e.g. getting single file intellisense, being able to format a document).

KategorieCategory Příklady () dotazůExample(s) Sdílet?Shared? Host podporovány?Guest-Supported?
Gramatika / zvýrazňování syntaxeGrammars / Syntax highlighting Ryb prostředí, Nginx, Vetur, DotEnv, ES6 řetězec HTML, Todo +, Rainbow sdíleného svazku clusteruFish Shell, Nginx, Vetur, DotEnv, ES6 String HTML, Todo+, Rainbow CSV
Jazykové službyLanguage Services YAML, cesta Intellisense, ARMYAML, Path Intellisense, ARM 11 22
JSON SchemasJSON Schemas Azure FunctionsAzure Functions
LinterůLinters ESLint, Markdownlint, kódu kontrolu pravopisu, PHPCSESLint, Markdownlint, Code Spell Checker, PHPCS 22
Formátovací modulyFormatters Prettier, BeautifyPrettier, Beautify 22
Ladicí programyDebuggers Python, ladicího programu pro ChromePython, Debugger for Chrome 33 44
Nástrojům test RunnerTest Runners Nástroj Test Runner pro jazyk Java, postranního panelu Mocha, Postman Runner, Jest Runner, NeptunJava Test Runner, Mocha Sidebar, Postman Runner, Jest Runner, Neptune 55 22
Vlastní soubor náhledyCustom File Previewers Ve verzi Preview SVG, GraphViz, velikost obrázku MarkdownuSVG Preview, GraphViz, Markdown Image Size
Generátory souboru nebo projektuFile/Project Generators Služba Azure Functions, generátor projektu jazyka C/C++Azure Functions, C/C++ Project Generator 66
Poskytovatelé řízení zdrojůSource control providers SVN, HgSVN, Hg

1 momentálně se podporuje jenom C# a jazyka JavaScript/TypeScript s další podporou již brzy.1 Currently only C# and JavaScript/TypeScript, with more support coming soon.

2 by podporují pouze aktuálně aktivní dokument, protože hosté nemají přístup k místnímu souboru.2 Would only support the current active document, since guests don't have local file access.

3 sdílené základní možnosti ladění, ale nejsou automaticky předávat všechny spuštěné servery.3 The core debugging experience is shared, however, any launched servers aren't automatically forwarded.

4 hosté nemají místní kopii aplikace, a proto běžící aplikaci a všechny relace ladění potřeba spustit na počítači hostiteli.4 Guests don't have a local copy of the app, and therefore, the running app and any debug sessions need to start on the host's machine.

5 výstup testovacího běhu by vyžadovaly všechny výsledné terminály, podokna výstup a chyby byly také sdílet s hosty.5 The output of a test run would require that any resulting terminals, output panes and errors were also shared with guests.

6 téměř všechny z nich byste použili na Node.js fs modul přímo k vytváření souborů, které nebude fungovat.6 Almost all of these would use the Node.js fs module directly to create files, which wouldn't work.

Visual StudioVisual Studio

Již brzy.Coming soon.

Známé problémyKnown Issues

Toto jsou problémy s aktuálně známé rozšíření, které může bránit funkčním pro hosty v rámci kontextu relace spolupráce (spolu s jejich řešení) a proto může mít vliv na jejich pracovního postupu:The following are currently known extension issues, that could prevent them from working for guests within the context of a collaboration session (along with their workarounds), and therefore, could impact their workflow:

Visual Studio CodeVisual Studio Code

ProblémIssue DůvodReason Alternativní řešeníWorkaround
Použití na Node.js fs modulu, který chcete detekovat/čtení souborů (například konfigurace souboru), nebo vytvoření výčtu adresářů (a nejste si služba jazyka).Using the Node.js fs module to detect/read files (e.g. a config file), or enumerate directories (and you aren't a language service). Hosté nemají přístup k místním souborům.Guests don't have local file access. 1. Řádně snížit činnost koncového uživatele (Pokud je to možné).1. Gracefully degrade the user-experience (if possible).

2. Použití openTextDocument a findFiles pracovního prostoru rozhraní API pro čtení a vytvoření výčtu souborů.2. Use the openTextDocument and findFiles workspace APIs to read and enumerate files.
Použití na Node.js fs modulu k vytvoření nebo zápis souborůUsing the Node.js fs module to create or write files Stejný jako předchozíSame as above Není k dispozici můžete použít openTextDocument(Uri) rozhraní API k vytvoření untitled soubor, ale nelze uložit přímo do systému souborů do konkrétní cesty.N/A You can use the openTextDocument(Uri) API to create an untitled file, but you can't save it directly to the file system, at a specific path.
V závislosti na dodávat projektu knihovny nebo nástrojDepending on a project-bundled library or tool Stejný jako předchozíSame as above 1. Vytvoření balíčku záložní verze závislosti s příponou1. Bundle a fallback version of the dependency with the extension

2. Podporu globální instalace odblokujete hosté, pokud se rozhodnete explicitně ji nainstalovat.2. Support global installation to unblock guests if they choose to explicitly install it.

3. Vzdálené stavu a akce, pokud je to možné, protože hostitel bude mít správné závislosti, které jsou k dispozici.3. Remote the state/action if possible, since the host would have the right dependencies available.
Použití na Node.js fs modulu k vytvoření adresářeUsing the Node.js fs module to create a directory Stejný jako předchozíSame as above NENÍ K DISPOZICIN/A
Omezení funkce na dokumenty, které používají file schéma.Restricting functionality to documents that use the file scheme. Soubory při použití na straně hosta vsls schéma.Files on the guest's side use the vsls scheme. Přidání podpory pro vsls dokumenty (příklad)Add support for vsls documents (example)
Použití Uri.file metoda a/nebo Uri.fsPath / TextDocument.fileName členy k serializaci/parsování identifikátorů URIUsing the Uri.file method and/or Uri.fsPath/TextDocument.fileName members to serialize/parse URIs Stejný jako předchozíSame as above Použití Uri.parse a Url.toString() místo, které udržovat a dodržovat schémata souboru (příklad)Use Uri.parse and Url.toString() instead, which maintain and respect file schemes (example)
Použití workspace.openTextDocument metodu s cestu k souboru místo UriUsing the workspace.openTextDocument method with a file path instead of a Uri Stejný jako předchozíSame as above Zadejte Uri instanci místo řetězec cesty soubor raw (příklad)Provide a Uri instance instead of a raw file path string (example)
Použití workspace.rootPath vlastnost pro zjištění přítomnosti tohoto pracovního prostoruUsing the workspace.rootPath property to detect the presence of a workspace workspace.rootPath Vlastnost volání Uri.fsPath první workspaceFolder v workspace, který má stejný problém uvedených výšeThe workspace.rootPath property calls Uri.fsPath on the first workspaceFolder in the workspace, which has the same issue mentioned above Použití workspace.workspaceFolders vlastnost pro zjištění přítomnosti tohoto pracovního prostoru místo a v případě potřeby, podívejte se na každý workspaceFolderspolečnosti Uri.scheme chcete zjistit, jestli je místní nebo neUse the workspace.workspaceFolders property to detect the presence of a workspace instead, and if needed, look at each workspaceFolder's Uri.scheme to determine if it's local or not
Bez zadání schématu dokumentu, při registraci jazykových služeb (buď prostřednictvím LanguageClient, nebo languages.register* metody)Not specifying a document scheme when registering language services (either via a LanguageClient, or the languages.register* methods) Hosté příjem výsledků služby jazyka ze svých místních rozšíření i hostitele a proto, pokud obě účastníci mají nainstalované rozšíření služby stejného jazyka, guests uvidí duplicitní položky pro určité informace (například automatické doplňování, kód Akce)Guests receive the language service results from both their local extensions, and the host, and therefore, if both participants have the same language service extension installed, guests will see duplicate entries for certain things (e.g. auto-completion, code actions) Omezit jazykové služby na pouze file a untitled schémata (příklad)Restrict the language services to only file and untitled schemes (example)
Nekontrolují se dokumentu Uri.scheme před naplnění DiagnosticCollection pro nějNot checking a document's Uri.scheme before populating a DiagnosticCollection for it Stejný jako předchozíSame as above Generovat jenom Diagnostics pro documents jehož Uri.scheme === file (příklad)Only generate Diagnostics for documents whose Uri.scheme === file (example)
Nekontrolují schéma pracovního prostoru se při vrácení Tasks z vlastního TaskProviderNot checking for workspace scheme when returning Tasks from a custom TaskProvider Zobrazit všechny úlohy vzdáleném i místním hostů a proto by se zobrazily duplicity po obou účastníci měl stejnou příponu nainstalovanéGuests display all remote and local tasks, and therefore, would display duplicates if both participants had the same extension installed Vrátit pouze Tasks pro WorkspaceFolders jejíž Uri.scheme === file (příklad)Only return Tasks for WorkspaceFolders whose Uri.scheme === file (example)

Visual StudioVisual Studio

Již brzy.Coming soon.

Viz také:See also

Máte potíže?Having problems? Podívejte se na článek o odstraňování potíží nebo nám pošlete svůj názor.See troubleshooting or provide feedback.