Niedawno poznałem w pracy magiczną kombinację klawiszy, która daje mi od tamtej pory wiele radości. O ile o radości może być w tym przypadku mowa.
Chodzi o CTRL+G. Takie coś wciśnięte w VS w kontekście TFS wyświetli dialog box z polem na wpisanie ID interesującego nas workitema. Po wpisaniu tegoż otwiera się nowa zakładka z wybranym w ten sposób elementem. Baaaardzo się cieszę, że nauczyłem się tego po 3 tygodniach a nie 3 latach szukania tasków za pomocą sortowania wyników zapytań ORDER BY ID DESC.
W miarę żarcia apetyt rośnie, więc teraz zachciało mi się operacji poniekąd odwrotnej. Mając wyniki zapytania chciałbym "jakoś" dostać do schowka ID wybranego workitema. ID a nie "work item shortcut", bo właśnie idkami karmię z poziomu command line git-tfs. ID, żeby dzielić się nimi w różnych kontekstach z zespołem (czy to w mailach, czy na skype, czy w opisach innych workitemów). ID, żeby wklejać je do budowanych "na bieżąco" zapytań. ID, żeby….. no, po prostu chciałem mieć ID, pirjod.
Szukałem, szukałem, i nie znalazłem. Należało więc zakasać rękawy i poświęcić kwadrans na rozwiązanie tego problemu samemu. Jak wiadomo, klikniecie "ctrl+c" na wierszu w TFS skopiuje do schowka wszystkie widoczne informacje wraz z nazwami kolumn. Jest to zdecydowanie zbyt wiele syfu żeby za każdym razem ręcznie wyłuskiwać potem z tego gołe ID. Ale informacja taka może doskonale służyć jako input do prostego regexa wyszukującego ciąg cyfr i usuwający cała resztę.
Poniżej skrypt autohotkey, który po wciśnięciu [win]+c wrzuca do schowka ID zaznaczonego itema. Jedno dodatkowe założenie: ID musi być pierwszą "liczbową" kolumną w raporcie z wynikami zapytania. Co chyba problemem nie jest, bo raczej tak to właśnie zwykle wygląda.
1: LWin & C:: 2: clipboard = ; 3: Send ^c 4: ClipWait ; 5: ItemRow = %clipboard% 6: RegExMatch(ItemRow, "m)\d+", ID) 7: clipboard = %ID% 8: return
A jeszcze korzystając z okazji zareklamuję swoje najnowsze, bo wczorajsze, dziecko.
Znacie stronę "Why Git is Better than X"? Jeśli nie – to zachęcam do odwiedzenia, bo znajduje się tam sporo interesujący informacji na temat Gita.
Ja z kolei podszedłem do problemu z drugiej strony i otworzyłem klon: "Why TFS is Better than X". Zapraszam również tam :).
A ja dzięki Tobie odkryłem, że w Source Control Explorer skrót CTRL + G daje wspaniałe ‘Go to Changeset’.