Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Andreas Saurwein committed Sep 1, 2023
2 parents 9e46b21 + 65fbfc1 commit 52242f7
Show file tree
Hide file tree
Showing 13 changed files with 611 additions and 3 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -366,3 +366,4 @@ FodyWeavers.xsd
.vshistory/
/BackgroundLaunch/Properties/launchSettings.json
/BackgroundLaunch/Properties/launchSettings.json
/VSLauncherX/client_secret.json
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ Doing so manually is most often a tedious and time consuming process.
Also, as of late, the "Start Window" of Visual Studio is not the most helpful, besides its inherent limitations of managing its recently used list.

## Working Features

- Importing from folders
- Importing from any Visual Studio version and profile
- Support for VS 2017, 2019 and 2022
Expand All @@ -51,6 +50,16 @@ Also, as of late, the "Start Window" of Visual Studio is not the most helpful, b
- Support for dark mode
- Support for non-Windows environments

## How to use
First either import your whole recent list from VS by using the toolbar button with the VS symbol, or import from folder directly with the folder-up-arrow toolbar button. You can also drag solutions or projects from the explorer directly into it.

After you have at least one SoP in the list, you can start it by pressing enter on the selected item or double clicking it. When you double click on a folder/group then the whole folder will be launched, each item in its own VS instance as defined in the items settings.

As expected, you can use drag and drop to order items, alt+enter to open the items settings, del to delete an item, etc. Remember that the settings of a folder/group item are applied before all items. This means that when you set a folder to execute as admin, all the contained SoPs will run as admin too.
You can set for each SoP which (installed) version of Visual Studio you want to open it with. Recomended version is shown for each as it is defined in the solution file.
There are also context menus that you can invoke with right clicking on an item.


![SoP Settings](https://github.com/Hefaistos68/VSLauncherX/blob/master/docs/Settings-sample.jpg)


3 changes: 3 additions & 0 deletions VSLauncherX/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@
<setting name="SynchronizeVS" serializeAs="String">
<value>False</value>
</setting>
<setting name="DontShowMultiplesWarning" serializeAs="String">
<value>False</value>
</setting>
</VSLauncher.Properties.Settings>
</userSettings>
</configuration>
2 changes: 1 addition & 1 deletion VSLauncherX/Forms/dlgNewInstance.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

138 changes: 138 additions & 0 deletions VSLauncherX/Forms/dlgWarnMultiple.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 40 additions & 0 deletions VSLauncherX/Forms/dlgWarnMultiple.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using VSLauncher.DataModel;

namespace VSLauncher
{
/// <summary>
/// Warning dialog when multiple items are launched
/// </summary>
public partial class dlgWarnMultiple : Form
{
/// <summary>
/// Initializes a new instance of the <see cref="dlgWarnMultiple"/> class.
/// </summary>
public dlgWarnMultiple(int n)
{
InitializeComponent();
this.lblItemNumber.Text = n.ToString();
}

/// <summary>
/// Gets the instance name.
/// </summary>
public string ItemName { get; private set; } = string.Empty;

private void btnOk_Click(object sender, EventArgs e)
{
Properties.Settings.Default.DontShowMultiplesWarning = this.chkDontShow.Checked;
Properties.Settings.Default.Save();
}
}
}
Loading

0 comments on commit 52242f7

Please sign in to comment.