• This is a usual time of the year for summaries so let’s keep the tradition alive and write one. Here’s my 2017 achievements split between months. January Blogging for 18 days straight – nothing near gutek’s achievement (whole year!) but still a nice streak Microsoft MVP title (thx Konrad Kokosa for pointing this one ;)) February […]

  • “Advent of Code is a series of small programming puzzles for a variety of skill levels.” Each day was a fun an interesting coding challenge. I’ve decided to practice and code this in python to learn the skill. Some of them might not be the best python scripting as I was short on time in […]

  • Some time ago I’ve attended a .net developer days 2017 conference. I was quite busy since (traveling, teaching .net, working) that only now I got some time to share some thoughts about it. As a bonus I’m including a short interview I did during the event. I need to state here, just to be clear, […]

  • We developers don’t like documentation. We don’t like to read it, and we even more we don’t like to write it. But sometimes it is worth to read it. Like when you find out that by using datetime in SQL DB you got a milliseconds precision but only if it ends on 0,3,7 (link). That […]

  • In the previous post we’ve removed some of the technical debt that could be found in our NetDeveloperPoland Website application. In this one we will remove it even more. We can even maybe reach a B? Let’s see where we’ll end up at the end of this part.

Wiem, wiem ten news troszkę już stary, jako że Silverlight 2.0 został upubliczniony już wczoraj. Powód dla którego publikuję tę informację dopiero dziś związany jest z faktem, że chciałem dokończyć swoją stronę, którą wykonałem w tej technologii (choć w starszej wersji) i chciałem oba fakty zsynchronizować.

Jeśli ktoś jest zainteresowany Silverlight’em to więcej informacji nt. niego można znaleźć poda adresem: http://silverlight.net/. Z ciekawszych rzeczy należy wspomnieć, iż prócz SL wydane zostaną: plugin wspierający Silverlighta dla Eclipse oraz zestaw Control Pack rozszerzający Silverlighta. Microsoft podaje także, iż środowisko Open Source będzie wspieranie w ramach projektu Silverlight’a.

A teraz trochę info o mojej stronie:

Strona korzysta z kontrolki menu, które dostępne jest na stronie VectorForm a ta niestety używa Silverlight 1.0. Dlatego musiałem się trochę napocić, aby to pozmieniać i dostosować do moich celów. Muszę jednak przyznać, że jestem zadowolony z wyniku (i mam nadzieję, że na wszystkich Silverlightach działa 🙂 ).

W mojej obecnej pracy mam możliwość podłączenia się do firmowego komputera za pomocą MetaFrame Citrix’a. Nie jest to nic nadzwyczajnego gdyż pewnie sporo osób ma podobną możliwość. Co jest ciekawe to to, że dostęp uzyskuję za pomocą zdalnego pulpitu pomimo tego, że mój laptopowy Windows XP Home oficjalnie nie wspiera tej funkcjonalności. Zastanawiam się jak to udało się zrobić.

Na Wikipedii znalazłem taką oto notatkę (http://en.wikipedia.org/wiki/Terminal_Services):

Microsoft has a longstanding agreement with Citrix to facilitate sharing of technologies and patent licensing between Microsoft Terminal Services and Citrix Presentation Server (formerly Citrix MetaFrame) which has now been renamed to Citrix XenApp. In this arrangement, Citrix has access to key source code for the Windows platform enabling their developers to improve the security and performance of the Terminal Services platform. In late December, 2004 the two companies announced a five-year renewal of this arrangement to cover Windows Vista.

Więc zapewne wszystko jest robione legalnie, jednak fakt faktem ciekawe jest to. Oznacza to bowiem, że pełna (no może nie pełna, a jakaś) funkcjonalność Remote Desktop jest w XP Home a jedynie jest ukryte przed oczami użytkownika.

Kopiąc głębiej znalazłem także posty, które jawnie pokazują jak w naszym Win XP Home włączyć RDC. Więc już wsyzstko jasne. Takie rozwiązanie jednak jest już pewnie mniej legalne.

Choć połączenie za pomocą RDC jest wygodne to ja nadal pozostanę przy RealVNC. Ciekawe czy sprawa ma się podobnie z IIS.

UPDATE: Zdjęcia już dostępne – link na dole posta.

Czyli spotkanie z Timem Huckaby i Carl Franklin’em w Krakowie (The best of…). Panowie zawitali w Krakowie przemieszczająć się pomiędzy SDC a DevReach, a ponieważ byłem w tym okresie w Polsce odpoczywająć/pracująć zdalnie* miałem okazję posłuchać ich na żywo.

Prelegenci:

  • Carl Franklin to znany z .NET Rocks! oraz dnrTV prezenter.
    Intellectual Hedonism
  • Tim Huckaby – zajmuje się nowoczesnymi technologiami takimi jak WPF, Silverlight, Surface w firmie InterKnowlogy oraz szefuje 🙂 mojemu znajomemu z KGD.NET Szymonowi.
    Tim Huckaby’s blog

Carl w .NET Rocks robi niezły show a na żywo jeszcze lepszy. Zaczął od prezentacji swoich wokalnych umiejętności śpiewając bluesową piosenkę 🙂 (tak, tak Carl śpiewał :)). Wszystkie (chyba) dema Carl’a były powiązane z muzyką – MIDI, Zapis Wava i MP3 i jeszcze trochę innych demek związanych z muzyką. Aaaa no i oczywiście jak na Carl’a przystało kod był w VB.NET :).

Tim natomiast..cóż co do Tim’a to nie wiedziałem czego mogę się spodziewać. Na szczęście Tim jest bardzo dobrym prezenterem i chyba znają się z Carlem długo…panowie naprawdę się uzupełniali i współgrali ze sobą wyśmienicie. Nie dali się problemom technicznym (niedziałający rzutnik, krótkie kable, itp. :)) i pokazali super show. Tim pokazał swoje dema (używanie pakietu Expression, Family.Show) oraz filmik z projektu wykorzystujący Surface. Ach..to jest niezły kawałek maszyny 🙂

Super prezentacja, super show, super przykłady i super żarty (w większości :D)). Ponad 2h spędzone wśród developerów. Dzięki!

A no i na koniec miła dla mnie rzecz…udało się wygrać nagrodę. Jupi 🙂

Czekam na zdjęcia i na wideo 🙂 a jak na razie…Carl 🙂

Dla chętnych wspomnień:

Carl w 386. odcinku swojego programu .NET Rocks! wspomina o spotkaniu.

W odcinku nr 400 .NET Rocks również można posłuchać jak było na spotkaniu. Dodatkowo w poście nt. konferencji znajduje się dość długi fragment odnośnie spotkania – Conference Season Begins!!

* – niepotrzebne skreślić

Drugi dzień minął i cały MTS2008 też. Pora na drugą część podsumowania sesji technicznych jak i może kilka przemyśleń całościowych… 🙂

Drugi dzień rozpocząłem od wyśmienitej (w moim mniemaniu) sesji – “Designing Silverlight Applications” by Michael Koester. Pomimo wczesnej pory prezenterowi udało się rozbudzić zaspanych uczestników :). Mowa była o UX, i o tym, że proces jego developmentu należy rozpocząć od początku fazy pisania oprogramowania a nie dodać na końcu jako nic nie znaczący dodatek. Przykład które zostały zaprezentowane był świetny i pokazywał możliwości Silverlighta. Viirtual.Earth (na razie nie mogę znaleźć linka do tego – gdzieś powinno być na blogu) czyli połączenie kontrolera do Wii z Virtual Earth i paroma innymi funkcjonalnościami. Dodatkowo podejście prowadzącego (dystans do siebie i MS – pojawił się Firefox i firma na g :)) sprawiły, że naprawdę miło spędziłem tę sesję.
DeepZoom & Virtual Earth

Kolejna sesja to sesja prowadzona przez (chyba) mojego ulubionego prelegenta czyli “Dostęp do danych w aplikacjach WWW” – Tomasz Kopacz. Sesja tyczyła się organizowania dobrego dostępu do danych w aplikacjach ASP.NET jak i porównania wydajności znanych i lubianych sposobów ich dostania. Zostało trochę pokazane o możliwościach asynchronicznego ASP.NET jak i jak wpływa to na wydajność. Sesja oczywiście bardzo dobra, ale mnogość przykładów powodować trudności z ogarnięciem wszystkiego. Tematy został tylko nakreślone…jeśli kogoś to zainteresowało, musi teraz sam w ramach własnego czasu doczytać szczegóły.

Po tej sesji (i lunchu :)) wybrałem się na sesję “Programowanie aplikacji mobilnych” – Bartłomiej Zass. Dawno się już mobilnymi rzeczami nie bawiłem a sesja była skierowana właśnie do takich osób. Osób, które chciałby zobaczyć co w świecie Compact Framework zmieniło się. A zmieniło się sporo. Dużo nowych narzędzi wprowadzono wraz z Compact Frameworkiem 3.5, które pozwalają lepiej i łatwiej pisać na urządzenia mobilne. FakeGPS, Cellular Emulator czy Hopper to tylko niektóre z nich. Ciekawy jest ten ostatni, który poprzez naciskanie dowolnych punktów na ekranie czy klawiszy ma symulować noszenie urządzenia w kieszeni bez zablokowanej klawiatury :). Sesja była ciekawa i pozwoliła mi zapoznać się co w kwestii mobile zmieniło się od czasu CF 2, którego używałem. Dodatkowo przyjemne żarty publiczności (prelegent miał podłączony telefon, na który część osób z publiczności wysyłała SMS’y które później wyświetlały się na wielkim ekranie :)). Sesja dobra technicznie…co prawda jeden przykład (no w zasadzie to dwa, ale położenie LinkLabel na formie i uruchomienie tego nie nazwałbym przykładem), ale ciekawy. Pokazujący co w chwili obecnej można z telefonem zrobić w .NET. Reakcja na SMS, wywoływanie rozmowy… samoistne uruchomienie programu po otrzymaniu SMS’a (!!!).

Kolejna sesja w moim planie to było “Architektura i wykorzystanie usług oprogramowania w chmurze”, którą jednak sobie odpuściłem z racji chęci wrócenia w rozsądnym czasie do Krakowa.

Dobre “gratisy”. Plecak, notatnik i gazety to miłe prezenty, które przydadzą się maniakowi technologii .NET (czy też innemu ITPro :)).

Cieszę się, że mogłem spotkać znajomych (a także kilku wykładowców – obecność niektórych to było małe zaskoczenie dla mnie ) i chwilę z nimi porozmawiać (tylko znajomi :)) . Właśnie dla “networkingu” warto wybrać się na takie konferencje (ofc nie tylko), ale to jest znacząca wartość dodana jak dla mnie.
Mały offtopic. W Polsce rzeczywiście źle jest z edukacją. Pewnie z 70% (strzelam z tą estymatą) osób nie potrafi czytać (albo rozumieć czytanego tekstu). Na salę kongresową gdzie przy każdym wejściu napisane – “Nie wnosić napojów i jedzenia” – niektórzy zabierali wyżej wymienione produkty.

Tak więc MTS2008 – Day I już za nami. Będzie trochę o tym co było, o wrażeniach i o tym czego nie było (tego zdecydowanie mniej) 🙂

Tak więc rozpoczęło się spokojnie od dyskusji dyrektorów MS, Dell i Intela. Panowie rozmawiali sobie o innowacyjności, wyjściu na potrzeby klienta i ogólnie świecie IT w przyszłości.
Po tej luźnej dyskusji, była sesja która była naprawdę dobrym wprowadzeniem i zostawiła naprawdę dobre wrażenie. Pan Mariusz Jarzębowski opowiadał historię wstążki Office’owej (Ribbon). Pomimo braku technicznych dodatków, sesja była ciekawa. Opowiedziana cała historia jak doszło do powstania znanej nam z Office 2007 wstążki, dlaczego znajduje się na niej wielki przycisk Paste, i dlaczego tak jest ułożona a nie inaczej. To wszystko było na tej sesji opowiedziane. Została w ciekawy sposób zaprezentowania ewolucja Word’a jak i szczere przyznanie się do winy, że to co dostaliśmy w Word 2003 to nie to co miało być (Więcej przestrzeni zajmowały menu i komendy niż dokument). Tak więc podsumowując, ciekawa sesja pomimo iż mniej techniczna.

UPDATE: Właśnie dziś zauważyłem, iż sesja ta była kopią sesji pod tym samym tytułem, która była na MIX’08. Momentami nawet dokładnie te same słowa, są używane (oczywiście po polsku). Nie wiem czy tylko ja przegapiłem informację o tym, że jest to sesja z MIX’08 czy nie było to mówione. Tak czy tak – mam teraz mieszane uczucia 🙁

Po tej sesji pojawiła się krótka sesja Pana z Telekomunikacji Polskiej S.A., która na początku wyglądała jak marketing ichniejszych produktów internetowych, ale z czasem bardziej skierowała się na tory innowacyjności. Sesję generalną zamkneło rozdanie nagród za innowacyjne aplikacje jak i występ eksperta z Centrum A. Smitha o wpływie IT na gospodarkę (którą w większości sobie odpuściłem, więc nie będę jej komentował).

Sesje tematyczne:
Mój dzień na MTS2008 rozpoczął się od sesji pt. “Wydajne aplikacje ASP.NET w świecie WEB 2.0”. Sesja miała być ponoć bardzo techniczna bo poziom 400 (nie sprawdzona informacja jeszcze). No ale niestety jak dla mnie była ona może techniczna, ale wszystko to były podstawy :(. Panowie z K2 Internet S.A. prezentowali jak ze “zwykłej” aplikacji ASP.NET zrobić coś na miarę WEB 2.0. W sesji brakowało mi więcej informacji o wydajności i jak sobie radzić z problemami, które serwisy Web 2.0 mają. Sesja była bardziej jak zrobić taki serwis mając istniejącą aplikację ASP.NET. Nie chcę tu być źle zrozumiany, panowie poruszyli aspekty wydajnościowe, ale jak dla mnie było to tylko wierzchołek tematu…zademonstrowanie kilku metod optymalizacji (AJAX, JSON, DataSet vs DataReader vs LINQ). Były dema i to było dobre. Choć tak jak pisałem na 400 bym jej nie zakwalifikował.

Po tej sesji była przerwa na lunch i nie bardzo jest się nad czym tu skupiać. Lunch podobnie jak na każdej takiej konferencji – je się gdzie się da i kolejki większe niż za komuny (którą bardziej znam z filmów niż z życia, ale to tak na marginesie). Jedyna minus to, że Speaker Idol, odbył się w tym samym czasie. Chciałem posłuchać sesji ludzi, który być może już niedługo będą prelegentami na kolejnym MTSie :). No ale Speaker Idol czy Lunch to wybrałem Lunch (w sumie sporo kanapek było nawet koło 16 więc teoretycznie mogłem się bez tego Lunchu obejść no ale to dowiedziałem się dopiero po :))

Kolejna sesja to “Praktyczne aspekty budowania rozwiązań klasy Enterprise z wykorzystaniem Microsoft Pattern & Practices”. Ciekawa sesja o rozwiązaniach prezentowanych przez team Pattern & Practices. Było ogólnie o tym co oferują jak i omówienia kilku “produktów” takich jak: Caching Application Block, Logging Block, Exception Handling Block. Zaprezentowane zostało również kilka metod śledzenia wycieków pamięci, ukrytych alokacji itp. rzeczy. Sesja ciekawa, choć szkoda, że mało kodu zostało zaprezentowane.

Następniy na mojej liście hicior (i chyba na wielu innych listach także – sądząc z ilości widzów) czyli “Aplikacje biznesowe w WPF” Szymona Kobalczyka. Szymona znam z KGD.NET. Spodziewałem się trochę innego kontaktu czylu pokazania prawdziwej aplikacji biznesowej w WPF. Szymon skupił się na innym aspekcie. Próby odpowiedzi na pytanie “Jeśli chcemy zbudować aplikację biznesową w WPF to czy mamy wystarczającą liczbę elementów z których ją złożymy?”. Pokazał skąd można uzyskać grida (i czy spełniają one swoje możliwości) a jeśli chcemy stworzyć wykres to czy będziemy pozostawieni sami sobie i będziemy musieli powi się w twórcę kontrolek czy już ktoś to za nas zrobił. Szymon pokazał kilka dem aplikacji WPF-owych (w tym swoją na konkurs WPF in Finance – który zresztą wygrał). Było też trochę o Prism czyli Composite Application Guidance for WPF. Czyli dobry content jak dla mnie :)..było też sporo kodu.

No i ostatnia sesja dzisiejszego dnia – Tomasz Kopacz o tym “Jak organizować systemy IT oraz jak ich nie organizować”.Sesje Tomka Kopacza zawsze przyjmuję z zadowoleniem, choć dość dawno byłem na poprzedniej to zawsze zadziwia mie super sposób w jaki są one prowadzone. Dla mnie ta sesja to prawie mistrzostwo świata (w prowadzeniu sesji). A ta prelekcja była o architekturze…co to jest i jak ją zorganizować, aby była łatwa do zrozumienia nie
tylko dla architekta, ale także dla osób, które tej architektury będą używa oraz aby łatwo można było jej użyć i aby mogła ewoluować. Oczywiście nie obyło się bez SOA oraz zademonstrowane zostały przykłady WCF-owe realizujące niektóre niektóre wymagania stawiane najnowszym systemom. Zaprezentowane zostało narzędzie MSE rozwiązujące najczęstsze problemy pojawiające się przy wersjonowaniu serwisów w WCF. Bardzo dobra i techniczna sesja… 🙂

Na tym zakończył się oficjalnie dzień pierwszy. Małe podsumowanie:

MTS2008 – Day I w liczbach

  • 2 wypite mirindy
  • 4 sesje tematyczne
  • 5 zjedzonych kanapek 🙂
  • 6 wypitych herbat 🙂
  • ~15 spotkanych znajomych (po 10 trochę straciłem rachubę)
  • 21 zapisanych kartek z sesji w notatniku 🙂

Dzień pierwszy uznaję za udany. Z niecierpliwością oczekuję dnia II :).


Już jutro MTS 2008. Dwa dni technicznych sesji i sale pełne maniaków technologii i .NET takich jak ja :). Niestety na wszystkich sesjach być się nie dało i czasem musiałem ostro zastanawiać się, na którą sesję warto pójśc. Dlatego pomyślałem, że warto po prostu wymienić się wrażeniami z sesji. Nie wiem czy sesje będą dostępne później do przejrzenia – mam nadzieję, że tak, ale z racji odpłatności za konferencję, nie wiem czy tak będzie. Dlatego nasza developerska brać powinna zjednoczyć się i przekazać wiedzę “manualnie”.
UPDATE (po I dniu): Jak się dowiedziałem nagrania ze wszystkich sesji będą dostępne w okolicach 1 listopada, tak więc co najwyżej można wymienić się wrażeniami, już słyszałem, że sesja Silverlight’a na pierwszym dniu była…khem…ciekawa 🙂

Zatem moje sesje to:
Środa

  • Wydajne aplikacje ASP.NET w świecie Web 2.0 – Tymoteusz Chmielewski
  • Praktyczne aspekty budowania rozwiazań klasy Enterprise z wykorzystaniem produktów Microsoft Patterns and Practices – Marcin Sieradzki
  • Aplikacje biznesowe w WPF – Szymon Kobalczyk
  • Wybrane koncepcje architektoniczne – jak organizować rozbudowane systemy Informatyczne (oraz jak ich NIE organizować) – Tomasz Kopacz

Czwartek

  • Designing Silverlight Applications – Michael Koester
  • Organizacja dostępu do danych w aplikacjach WWW – Tomasz Kopacz
  • Programowanie mobilne – Bartłomiej Zass
  • Architektura i wykorzystanie usług oprogramowania w chmurze – Grzegorz Gogołowicz

Oczywiście generalne uwagi z sesji zamieszczę po konferencji, ale gdyby ktoś chciał wymienić się swoimi uwagami czy podyskutować zapraszam do pozostawienia komentarza lub napisania do mnie maila.

Do zobaczenia na MTS 2008.


Nie wiem czy ta konferencja jest rozpowszechniona (dlatego o niej wspominam), ale już po raz kolejny odbędą się Virtual Tech Days. Tym razem 25 & 26 listopada 2008. Podczas kilku sesje można posłuchać/pooglądać sesje tyczące się wielu tematów. Na ostatnich przewijały się tematy takie jak: Developer Fundamentals, Windows Client, Windows Communication Foundation, Visual Studio Team Systems. Czy dla każdego coś dobrego. Niestety problemem może być udział w konferencji. Ja pomimo najszczerszych chęci uczestnictwa i pobudki o 5, nie mogłem się połączyć z serwerem podczas sesji (zapewne znajdującego się w Indiach). Na szczęście wszystkie prezentacje i sesje są w późniejszym terminie dostępne do ściągnięcia. (Chyba) Jedyna wada to audio, jakoś nie jest najlepsza.

Adres konferencji – Virtual Tech Days

W końcu plugin jest na takim etapie, że jestem go w stanie upublicznić (choć niektóre rzeczy mogą nie działać w 100% zawsze). Jak pisałem we wcześniejszym poście nie było moim zamiarem stworzenie idealnego rozwiązania, a jedynie rozwiązania, które pomoże mi w szybki sposób konwertować kod źródłowy do LaTeX’a, którego używam.

Do pobrania:
Źródła – CopyAsLaTeXAddIn
Release – CopyAsLaTeXAddIn

Działanie pluginu + LED:


Bugi, uwagi czy też pochwały 😉 można kierować w komentarzach lub na adres redakcji 🙂

We wczorajszym poście (Pisanie plugin’ów do VS) narzekałem, że MSDN nie ma żadnego wsparcia dla ikonek, które podaje się przy tworzeniu przycisku dla pluginu. Takie zachowanie nie jest jednak pro-aktywne dlatego postanowiłem sam choć trochę w tym temacie podrążyć.
Stworzyłem enumerację zawierającą choć trochę ikonek. Nie udało mi się sprawdzić wszystkich (i nie sądzę, żeby kiedykolwiek mi się udało) i nie wszystkie udało mi się zidentyfikować, dlatego w niektórych miejscach można zobaczyć wpisy typu:

public enum VSIcons

{

    None = 1,

    SpellCheck,

    Save,

    Print,

    PageWidth,

    Unknown07,

    Table,

    Columns,

    Unknown10,

    OrderList,

Enum obejmuje ikonki od 0 do 135. Do poprania znajduje się tu: VSIcons.cs

Można używać dowoli. Gdyby komuś udało się rozpoznać jakąś z nieznanych mi ikonek, lub sprawdził ikonki dalej to niech pisze do mnie na maila lub w komentarzach. Uzupełnię ją.

Potrzebowałem napisać plugin, który swóją funkcjonalnością przypominać będzie CopySourceAsHTML tyle, że zamiast HTML’a produkował będzie źródło LaTeX, jako, że używam go do pisania wszystkiego co ma mieć objętość powyżej 1 strony. LaTeX ma już pakiet umożliwiający formatowanie kodu (listings), ale nie chce przepisywać linijka po linijce kodu – chcę, aby zostało to automatycznie zrobione.

Wcześniej nie pisałem plug-in’ów do VS a poniżej moje spostrzeżenia, uwagi i (może dla kogoś) rady…

Moje uwagi, wnioski i komentarze:

  • duży plus za wizard. Pozwala od razu zacząć pracę nad treścią plug-in’a a nie skupiać się na technicznych detalach jak to wszystko do kupy poskładać
  • dokumentacja w tym przypadku to koszmar. Zwykle nie narzekam na MSDN, ale w tym przypadku to co oferuje rozczarowuje (lekko mówiąc). Praktycznie zero przykładów użycia
  • odpal Reflectora i podglądaj cudze przykłady. Inaczej z nauką będzie kiepsko
  • kolory zdefiniowane dla VS przechowywane są w jakimś dziwnym formacie zamiast ARGB jest ABGR. Zwykłe Color.FromArgb nie zadziała tak jak się tego spodziewamy :(.
  • aby dostać się do właściwości VS, użyj poniższego kodu. Pamiętaj, żeby usunąc spacje z nazwy (“Fonts and Colors” -> “FontsAndColors”):

    _applicationObject.get_Properties(“FontsAndColors”, “TextEditor”)

  • dodanie pozycji do menu kontekstowego to również nie lada wyczyn – należy dostać się do menu o nazwie Code Window – tym razem nazwa ze spacjami :/

    var menuBarCommandBar =

            ((Microsoft.VisualStudio.CommandBars.CommandBars)_applicationObject.CommandBars);

     

    Command viewCommand = commands.AddNamedCommand2(_addInInstance,

                          “CopyAsLaTeXAddIn”, “CopyAsLaTeXAddIn”,

                          “Executes the command for CopyAsLaTeXAddIn”, true, 0x13,

                          ref contextGUIDS,

                          (int)vsCommandStatus.vsCommandStatusSupported +

                          (int)vsCommandStatus.vsCommandStatusEnabled,

                          (int)vsCommandStyle.vsCommandStylePictAndText,

                          vsCommandControlType.vsCommandControlTypeButton);

    viewCommand.AddControl(menuBarCommandBar[“Code Window”], 1);

  • zero informacji o tym jaki ID jest skojarzony z jaką ikonką – trzeba błądzić po omacku 🙁

Jak tylko doprowadzę mój plugin do stanu akceptowalnego (ma działać w takim zakresie jak go potrzebuję – nie ma być to coś super, ale zostało mi jeszcze wymyślenie jak zrobić kolorowanie klas 🙁 ), opublikuję go – może komuś się przyda.