Git Product home page Git Product logo

dotpurple-app's Introduction

DotPurple

DotPurple is a cross-platform GUI for the .NET (dotnet) command-line interface (CLI) available for Windows, macOS, and Linux. Build, publish, run, and manage all of your .NET Core 3+ and .NET 5 projects and tools in just a few clicks without ever typing a dotnet command!

DotPurple helps you learn the .NET Core 3+ and .NET 5 CLI by providing an intuitive GUI for managing projects, templates, and tools. Taking advantage of the many options that the dotnet CLI provides are only a few clicks away.

DotPurple removes the annoyance of manually parsing the myriad of dotnet CLI options by providing an intuitive GUI that makes managing your .NET projects quick and easy. Build, run, clean, publish, and manage all of your projects, templates, and tools without the need to remember all needed CLI options every time.

This repo holds bug reports and feature requests for the DotPurple software. Please file bug reports or feature requests under issues! You can also request new tools to show up in the browsable 'dotnet' tool list, which shows up in v1.3 or greater. A browsable 'dotnet' template list shows up in v1.7 or greater. Thanks for your support!

Screenshots

Windows home screen

Manage templates

Build settings

macOS packing

dotpurple-app's People

Contributors

deadpikle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dotpurple-app's Issues

[Bug] Doesn't open on Windows 10

Describe the bug
The app doesn't open on Windows.

To Reproduce
Steps to reproduce the behavior:

  1. Install on Windows
  2. Click on DotPurple icon in start menu
  3. Nothing happens

Expected behavior
DotPurple should open and I can load a project etc

Desktop (please complete the following information):

  • OS: Windows 10
  • Version 1909

Additional context
Add any other context about the problem here.

Allow Your Projects pane to be resized

This pane has a fixed width and cannot be resized, unlike the Terminal pane at the bottom. When you're using solutions with long project file names, this becomes annoying as you have to sideways-scroll all the time to see the full project names. (It's even worse on Windows or Linux, as those platforms don’t do horizontal scrolling nearly as well as macOS does.) This change will also be useful for developers with very large screens, because they can make their windows quite large, and they might want the project list to have a width that is proportional to the window size, not a very narrow fixed size.

You should need to implement limits on how far you would be able to make this pane, however, or your editor UI to the right would be broken by being squished into a smaller space than it was designed for. My rule of thumb is that resizable sidebars can be between one-fifth and one-third of the container’s width, and this value is scaled to keep the fraction constant when the window is resized. (macOS’s NSScrollView does this second part for me automatically.)

"Your Projects" cannot be reloaded

Describe the bug
There needs to be a way to force DotPurple to reread the solution file from disk without removing it from the project list and adding it again. DotPurple could do it automatically whenever the file is changed, or there can be a manual command.

Furthermore, trying to use DotPurple with a solution that contains a reference to a project that has since been removed from it (and deleted from disk as well) causes chaos, to the level where I do not know if DotPurple will work properly any longer or not. Quitting and reopening the application will not cause it to reread the solution file. I must remove the solution from the project list and add it again, which stomps all over my custom settings.

Screenshots

bug repro

The selected project in the screenshot is the one that is causing the problem.

Desktop

  • OS: macOS
  • Version 11.2.1

[Bug] problem with russian encodings

Describe the bug
if I run command

dotnet build some.csproj in terminal I see:

(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

  Определение проектов для восстановления...
  Все проекты обновлены для восстановления.

if i run the same in DotPurple I see

Microsoft (R) Build Engine ўҐабЁЁ 16.9.0+57a23d249 ¤«п .NET
(C) Љ®аЇ®а жЁп Њ ©Єа®б®дв (Microsoft Corporation). ‚ᥠЇа ў  § йЁйҐ­л.

  ЋЇаҐ¤Ґ«Ґ­ЁҐ Їа®ҐЄв®ў ¤«п ў®ббв ­®ў«Ґ­Ёп...
  ‚ᥠЇа®ҐЄвл ®Ў­®ў«Ґ­л ¤«п ў®ббв ­®ў«Ґ­Ёп.

so we have problem with terminal encoding in dotpurple.
default codepage in terminal on my system (default if russian is default system language in windows) is 866.
If I change codepage in terminal to 65001 (before build start) it also works.

To Reproduce
Steps to reproduce the behavior:

  1. Set Russian Language as default in system
  2. run build of csproject

Expected behavior
I need text in terminal in correct encoding

Desktop (please complete the following information):

  • OS: Windows 10 (Version 10.0.19042.867)
  • Version 1.5.2.0

Add menu item with shortcut to close editor tabs

What the title says. By "editor" tabs I mean the tab for the screen that contains the details for a specific solution or csproj file (on the right side, at the top). If there are no "editor" tabs, you can simply do nothing. (Disabling the menu item in this situation is polite, but not technically required).

The Mac keyboard shortcut for this command should be ⌘W, because this is standard practice on macOS. (⌘ is called the Command key.) On Windows and Linux I would recommend using Ctrl+W instead.

BTW: You have an amazing product here (and one new customer)!

[Bug] Application crashes immediately after start

Describe the bug
I installed DotPurple, but when I try to launch it nothing happens, the app does not show up at all, only noticed that it is because of a crash while looking at the event log

To Reproduce
Steps to reproduce the behavior:
I guess it is not reproducable for others but:

  1. Install DotPurple
  2. Try to start the app
  3. Nothing happens

Expected behavior
The app starts

Desktop (please complete the following information):

  • OS: Windows 22H2 (Build 19045.2486)
  • Version: DotPurple 1.10.0.0

Additional context

Exception stacktrace

Application: DotPurple.exe
Frameworkversion: v4.0.30319
Description: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Exception information: System.ArgumentException
at System.Collections.Hashtable.Insert(System.Object, System.Object, Boolean)
at DotPurple.Helpers.CommandRunner+d__11.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at DotPurple.Helpers.CommandRunner+d__12.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at DotPurple.Helpers.Utilities+d__4.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at DotPurple.App+<Application_Startup>d__5.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at DotPurple.App.Main()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.