Skip to content

Instantly share code, notes, and snippets.

View grokys's full-sized avatar

Steven Kirk grokys

View GitHub Profile
This file has been truncated, but you can view the full file.
2017-05-22 16:36:28> Program: Starting Squirrel Updater: --createShortcut GitHub Desktop.exe
2017-05-22 16:36:28> ApplyReleasesImpl: About to create shortcuts for GitHub Desktop.exe, rootAppDir C:\Users\grokys\AppData\Local\GitHubDesktop
2017-05-22 16:36:28> ApplyReleasesImpl: Creating shortcut for GitHub Desktop.exe => C:\Users\grokys\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\GitHub, Inc.\GitHub Desktop.lnk
2017-05-22 16:36:28> ApplyReleasesImpl: About to save shortcut: C:\Users\grokys\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\GitHub, Inc.\GitHub Desktop.lnk (target C:\Users\grokys\AppData\Local\GitHubDesktop\GitHub Desktop.exe, workingDir C:\Users\grokys\AppData\Local\GitHubDesktop\app-0.5.5, args , toastActivatorCSLID 27d44d0c-a542-5b90-bcdb-ac3126048ba2)
2017-05-22 16:36:28> ApplyReleasesImpl: Creating shortcut for GitHub Desktop.exe => C:\Users\grokys\Desktop\GitHub Desktop.lnk
2017-05-22 16:36:28> ApplyReleasesImpl: About to save shortcut: C:\Users\grokys\Desktop\GitHub Desktop.l

Problems with current editor margin

  1. Hard to differentiate between VS' margin and our margin - clicking on wrong one to add breakpoints etc
  2. Hard to see comment glyph on colored line in margin
  3. Confusing when comments show up in editor because you're on a PR branch and you don't know why

Thoughts on 1 and 2

Other tools such as ncrunch add a margin to editors and this margin doesn't cause a problem because it has the same background color as the editor.

GitHub.VisualStudio Refactoring Notes

We have 2 different places for views

  • GitHub.VisualStudio.Views
  • GitHub.VisualStudio.UI.Views

We have 3 different places for controls

  • GitHub.UI.Reactive.Controls
  • GitHub.VisualStudio.UI.Controls
  • GitHub.VisualStudio.UI.Views.Controls

GitHub.VisualStudio API Review Notes

We have 2 different places for views

  • GitHub.VisualStudio.Views
  • GitHub.VisualStudio.UI.Views

We have 3 different places for controls

  • GitHub.UI.Reactive.Controls
  • GitHub.VisualStudio.UI.Controls
  • GitHub.VisualStudio.UI.Views.Controls
Test Name: CancelButtonShowsPullRequestList
Test FullName: GitHub.VisualStudio.TestAutomation.GitHubCreatePullRequestTests.CancelButtonShowsPullRequestList
Test Source: D:\projects\GitHubVSTestAutomation\GitHubVSTests\GitHubCreatePullRequestTests.cs : line 62
Test Outcome: Failed
Test Duration: 0:00:33.5865875
Result StackTrace:
at GitHub.VisualStudio.TestAutomation.SearchableControlBase.Ensure(Boolean includeEnabled) in D:\projects\GitHubVSTestAutomation\GitHubVSAutomationFramework\SearchableControlBase.cs:line 18
at GitHub.VisualStudio.TestAutomation.PullRequestListView..ctor(UITestControl parent) in D:\projects\GitHubVSTestAutomation\GitHubVSAutomationFramework\GitHub\PullRequestListView.cs:line 18
at GitHub.VisualStudio.TestAutomation.GitHubToolWindow.ShowPullRequestList() in D:\projects\GitHubVSTestAutomation\GitHubVSAutomationFramework\GitHub\GitHubToolWindow.cs:line 21
using System;
using System.Windows.Input;
using Avalonia.Markup.Xaml.Data;
using Xunit;
namespace Avalonia.Controls.UnitTests
{
public class ButtonTests
{
[Fact]

Supporting Multiple Visual Studio Versions in a Single Package

A few people have asked how we support both Visual Studio 2015 and Visual Studio 2017 in the GitHub for Visual Studio Extension. In particular we needed to support Team Foundation 14 and 15, and we wanted to do it from a single package.

It's important to note that although each new version of Visual Studio includes all the previous versions of assemblies of many core APIs, Team Explorer is an extension and so a single version is installed.

The way we achieved this was to create two assemblies: [GitHub.TeamFoundation.14](https://github.com/github/VisualStudio/tree/master/src/GitHub.Te

using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
namespace GitHub.UI
{
/// <summary>
/// A ComboBox that displays as a link with a dropdown.
/// </summary>
[Fact]
public void Infinite_Loop()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var xaml = @"
<Window xmlns='https://github.com/avaloniaui'
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
Width='100' Height='100'>
<ListBox Items='{Binding}'>
# Flow for Maintainer Workflow
- In PR list, each open PR has a "checkout" button if no local branch
- If a local branch for a PR it instead has "merge" and "sync" icon buttons
- Clicking "checkout" checks out PR as local branch and switches to that branch
- "Sync" refreshes from upstream PR
- "Merge" merges the PR to master and switches to master
- Once synced, a "Delete" button appears - this deletes the local and remote branch
(if PR from same repos)