2016-08-29 34 views
5

Potrzebuję opracowania dość skomplikowanego interfejsu użytkownika dla karty podsumowania kompilacji VSTS. Używam kodu VS jako edytora kodu. Poniższy adres URL opisuje sposób debugowania za pomocą przeglądarki krawędziowej, jednak takie podejście wymaga ciągłego pakowania i wdrażania rozszerzenia do VSTS, co sprawia, że ​​jest on czasochłonny. https://www.visualstudio.com/en-us/docs/integrate/extensions/test/debug-in-browserJak debugować kartę podsumowania kompilacji rozszerzeń VSTS bez wdrażania do usługi VSTS?

Próbowałem bezpośrednio załadować kartę (podsumowanie) .html używając widok w rozszerzenie przeglądarki i następujący komunikat wyświetlany w konsoli przeglądarki

No handler found on any channel for message: 
{"id":1,"methodName":"initialHandshake","instanceId":"VSS.HostControl","params":[{"notifyLoadSucceeded":true,"vssSDKVersion":2}],"jsonrpc":"2.0","handshakeToken":"4234q23rqfafaf23r"} 

Czy istnieje lepszy sposób debugowania aplikacji podczas rozwoju?

Odpowiedz

2

Nie, nie można debugować kodu rozszerzenia bez wdrażania rozszerzenia do VSTS, rozszerzenie musi zostać wdrożone w VSTS przed debugowaniem kodu.

3

Możesz rozwijać lokalnie. Ponieważ VSTS używa iframe do pokazania zawartości twojego rozszerzenia, możesz uruchomić lokalny serwer i odwołać się do tego w manifeście vss-extension.json.

Najpierw, w vss-extension.json, ustaw właściwość baseUri na miejsce, w którym prowadzisz projekt lokalnie, na przykład https://localhost:8889. Aby VSTS mógł obsługiwać zawartość, musisz go uruchomić jako https, ponieważ w przeciwnym razie pojawi się błąd "Mixed Content", a VSTS odmówi wyświetlenia zawartości twojego rozszerzenia.

Następnie opublikuj rozszerzenie i uruchom je lokalnie. Wha-la, powinieneś mieć rozwój lokalny. Może zaistnieć potrzeba więcej prób i błędów, daj mi znać, jeśli są jakieś kroki, których mi brakuje.

Jeśli link nadal działa (wiesz jak Interent jest), projekt ten rozrusznik jest dobry początek: https://github.com/Microsoft/vsts-extension-multivalue-control

+2

Mówiłeś * Można rozwijać lokalnie *, ale potem następuje z * Następnie opublikować rozszerzenie i uruchomić go lokalnie * .. Czy to oznacza, że ​​musimy najpierw opublikować naszą aplikację? Czy istnieje sposób, aby w ogóle nie publikować aplikacji? Tak jak na przykład, gdy jesteśmy na wczesnym etapie rozwoju, więc chcemy tylko debugować aplikację bez jej publikowania i nie otrzymujemy komunikatu "Brak kontaktu w kanale dla wiadomości". – samAlvin

+0

Musisz opublikować go jako pierwszy chcesz uzyskać dostęp do interfejsu API VSTS. Jeśli nie chcesz, aby ktokolwiek widział twoje rozszerzenie, ustaw flagę 'public' na 'false' w twoim pliku' vss-extension.json' i nie będzie publikować na rynku. Aby jednak wyświetlić aplikację wewnątrz VSTS i uzyskać dostęp do interfejsów API, należy ją najpierw opublikować, tak. Możesz jednak opublikować jeden raz, odwołując się do lokalnego serwera sieciowego i uruchamiać go lokalnie, póki nie będziesz gotowy do opublikowania prawdziwego. – jporcenaluk

+1

Dzięki za wyjaśnienie :) – samAlvin