picoe / eto.devextensions Goto Github PK
View Code? Open in Web Editor NEWEto developer extensions for Visual Studio
License: MIT License
Eto developer extensions for Visual Studio
License: MIT License
In Visual Studio I'm used to having the XAML preview/code panes split vertically instead of horizontally. Is there currently an option to do this in the Eto.Forms VS addon? I haven't been able to find one.
What bugs me a little bit about this new (and really cool!) UI toolkit is the fact, that there is no designer available.
I really like WinForms designer and to minor extent the Xcode Interface Builder.
It makes life so much easier in many cases, if you simply can drag widgets to a form and change their properties in a property panel.
I see these options:
This would greatly improve productivity
I've started using Jetbrain's Rider on linux, unlike MD it doesn't have the installation and other issues and works 'out of the box', unlike MD I've had to do very little in the way of figuring out how to enable key features etc.
Although a little heavier than MD, it feels lighter and more responsive than VS. it's cross platform so I'll likely start using it on my windows platform as well.
Rider is still in development so I'm not sure if it's quite there as far as plugin support for what would be required for an eto.forms designer plugin, but there's a blog post here: https://blog.jetbrains.com/dotnet/2017/02/07/rider-front-end-plugin-development/
discussing what can be done.
Eto Forms Preview in Visual Studio Mac is not able to load classes from the same project, without getting a compile error.
using System;
using Eto.Forms;
using Eto.Drawing;
using TestApp.Model;
namespace TestApp
{
partial class MainForm : Form
{
TestObj t;
void InitializeComponent()
{
Title = "My Eto Form";
ClientSize = new Size(400, 350);
Padding = 10;
t = new TestObj();
}
}
}
using System;
using Eto.Forms;
using Eto.Drawing;
using TestApp.Model;
namespace TestApp
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
}
}
using System;
namespace TestApp.Model
{
public class TestObj
{
}
}
Hi,
I have been drafting an Eto.Forms implementation of the Scintilla.NET wrapper. The process looks quite good on my opinion with the possibility to use the control as with WinForms. I don't have any experience with macOS nor any idea of how to implement the control to the macOS. The source code here doesn't compile on Mac - it seems to have been partially implemented though - can someone point me to the right direction with the macOS version so I could make the library support all three operating systems? I would only need a decent start / demo project to go further from there. Thanks ๐
Just a head's up in case you did not know (and care).
https://marketplace.visualstudio.com/items?itemName=CurtisWensley.EtoDevExtensionVisualStudio2022
The VSIX package for installing for Visual Studio doesn't work for Visual Studio code.
I would like to request that a compatible package be made for VS Code.
Define references to event handlers from xeto to the code so that transitions and reference counters work. Very inconvenient without this.
Is it possible to preview data-bound controls with dummy data in the designer in Visual Studio for Mac? With WPF and Visual Studio for Windows I've used MVVM Light and ViewModelBase.IsInDesignModeStatic
to set up dummy values for data-bound properties on my ViewModels that show up in the Visual Studio designer (and Blend). Is something similar possible with Eto? If not, what is the recommended way to preview data-bound UI to get a feel for layout, size, etc.
Thanks!
To be honest up front, I don't know that there's anything to be done about this, it seems rather hairy, but I can't find any issues related to it, so it seems worth bringing up.
Using a project built from the Code Preview template, and working in a form's .eto.cs file with the preview pane visible, attempting to assign a control to its own Content member creates an infinite loop that locks up the IDE and eventually crashes it. This is an admittedly boneheaded thing to do on purpose, but it can happen unintentionally, when the preview attempts to compile incomplete-but-miraculously-compilable code.
var someVariable = new StackLayout
{
Items =
{
"Hello World!",
// add more controls here
}
};
int guardVar = 4; // Just a random number, the important thing is having code here.
Content = someVariable;
The Intellisense list pops up and lets me browse for the member, method, or event I need.
The Intellisense list pops up briefly, then the IDE locks up, eventually crashing with an unhandled exception.
My intent was to define a StackLayout, change it programatically, then assign it to the Content of a form. My ultimate goal turns out not to need that, luckily, but I initially thought it did, which led to discovering this behavior.
After the IDE stops responding, it (at least on my machine) spends several minutes frozen while WerFault.exe collects crash info, and eventually gives a message about an unhandled exception. A separate instance of VS, attached to the first one before the crash, shows it's a stack overflow.
I got the addin up and running in Debug mode, and got down into CodeDomInterfaceBuilder.Compile, only to find there were no compile errors reported, which led me to realize that because StackLayouts have a Content member, just like Forms do, the moment you type the period after someVariable, and there's no actual code between that and the Content assignment (just whitespace, newlines, and comments), the C# code provider thinks it should compile someVariable.Content = someVariable, which while undesirable is technically valid C#, and will compile. This at first appeared to be a code completion issue, like picoe/Eto#471, but it's really the period creating a mirage that triggers the crash; that said period also invokes a code completion pop-up is just a coincidence.
That being said, despite my penchant for typing lots of words, I don't know what, if anything, you can or should do about this. The C# code provider is technically compiling C# just the way it's meant to, stripping out whitespace, newlines, and comments, and as I understand loops like this are difficult to detect, to say the least. Please accept my apologies if I made you read all this for nothing, but I'd feel guilty if I didn't make the issue known. Maybe it'll help somebody else understand why their preview is crashing.
I'm trying to use this extension to build ETO UIs on Mac for a Rhino Plugin I've been working on.
I tried installing the extension, but I get dependency issues about Mono;
I'm newer to mac so I'm not really sure how resolve this.
Thanks again,
My hardware
Callum
I have downloaded the .vsix extension package from marketplace.visualstudio.com and tried to install it on Visual Studio 2022, but it gave me an error. This is the log file:
2/7/2022 3:17:20 PM - Microsoft VSIX Installer
2/7/2022 3:17:20 PM - -------------------------------------------
2/7/2022 3:17:20 PM - vsixinstaller.exe version:
2/7/2022 3:17:20 PM - 17.0.5226-preview5
2/7/2022 3:17:20 PM - -------------------------------------------
2/7/2022 3:17:20 PM - Command line parameters:
2/7/2022 3:17:20 PM - C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service\VSIXInstaller.exe,C:\Users\teamc\Downloads\Eto.Addin.VisualStudio.Windows-2.5.11.vsix
2/7/2022 3:17:20 PM - -------------------------------------------
2/7/2022 3:17:20 PM - Microsoft VSIX Installer
2/7/2022 3:17:20 PM - -------------------------------------------
2/7/2022 3:17:21 PM - Initializing Install...
2/7/2022 3:17:21 PM - Extension Details...
2/7/2022 3:17:21 PM - Identifier : Eto.Addin.VisualStudio
2/7/2022 3:17:21 PM - Name : Eto.Forms Visual Studio Addin
2/7/2022 3:17:21 PM - Author : Curtis Wensley
2/7/2022 3:17:21 PM - Version : 2.5.11
2/7/2022 3:17:21 PM - Description : Eto.Forms Support for Visual Studio. Eto.Forms is a cross platform GUI framework for desktop and mobile applications in .NET that can target Wpf, WinForms, Direct2D, MonoMac, Xamarin.Mac, Gtk2, and Gtk3 with a single codebase.
2/7/2022 3:17:21 PM - Locale : en-US
2/7/2022 3:17:21 PM - MoreInfoURL : https://github.com/picoe/Eto
2/7/2022 3:17:21 PM - InstalledByMSI : False
2/7/2022 3:17:21 PM - SupportedFrameworkVersionRange : [4.7.2,)
2/7/2022 3:17:21 PM -
2/7/2022 3:17:21 PM - SignatureState : Unsigned
2/7/2022 3:17:21 PM - Supported Products :
2/7/2022 3:17:21 PM - Microsoft.VisualStudio.Pro
2/7/2022 3:17:21 PM - Version : [16.0,)
2/7/2022 3:17:21 PM - ProductArchitecture : x86
2/7/2022 3:17:21 PM - Microsoft.VisualStudio.Community
2/7/2022 3:17:21 PM - Version : [16.0,)
2/7/2022 3:17:21 PM - ProductArchitecture : x86
2/7/2022 3:17:21 PM - Microsoft.VisualStudio.Enterprise
2/7/2022 3:17:21 PM - Version : [16.0,)
2/7/2022 3:17:21 PM - ProductArchitecture : x86
2/7/2022 3:17:21 PM -
2/7/2022 3:17:21 PM - References :
2/7/2022 3:17:21 PM - -------------------------------------------------------
2/7/2022 3:17:21 PM - Identifier : Microsoft.VisualStudio.MPF.16.0
2/7/2022 3:17:21 PM - Name : Visual Studio MPF 16.0
2/7/2022 3:17:21 PM - Version : [16.0,)
2/7/2022 3:17:21 PM - MoreInfoURL :
2/7/2022 3:17:21 PM - Nested : No
2/7/2022 3:17:21 PM -
2/7/2022 3:17:21 PM - -------------------------------------------------------
2/7/2022 3:17:21 PM - Identifier : 3B5EAFB3-87E4-4986-8924-D24DF860D894
2/7/2022 3:17:21 PM - Name : Microsoft Visual Studio Template Engine
2/7/2022 3:17:21 PM - Version : [16.4.457.38025,)
2/7/2022 3:17:21 PM - MoreInfoURL :
2/7/2022 3:17:21 PM - Nested : No
2/7/2022 3:17:21 PM -
2/7/2022 3:17:21 PM - Prerequisites :
2/7/2022 3:17:21 PM - -------------------------------------------------------
2/7/2022 3:17:21 PM - Identifier : Microsoft.VisualStudio.Component.CoreEditor
2/7/2022 3:17:21 PM - Name : Visual Studio core editor
2/7/2022 3:17:21 PM - Version : [16.0,)
2/7/2022 3:17:21 PM -
2/7/2022 3:17:21 PM - -------------------------------------------------------
2/7/2022 3:17:21 PM - Identifier : Microsoft.NetCore.Component.SDK
2/7/2022 3:17:21 PM - Name : .NET Core 3.1 SDK
2/7/2022 3:17:21 PM - Version : [16.0,)
2/7/2022 3:17:21 PM -
2/7/2022 3:17:21 PM - -------------------------------------------------------
2/7/2022 3:17:21 PM - Identifier : Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites
2/7/2022 3:17:21 PM - Name : .NET desktop development tools
2/7/2022 3:17:21 PM - Version : [16.0,)
2/7/2022 3:17:21 PM -
2/7/2022 3:17:21 PM - -------------------------------------------------------
2/7/2022 3:17:21 PM - Identifier : Microsoft.Net.Component.4.7.2.TargetingPack
2/7/2022 3:17:21 PM - Name : .NET Framework 4.7.2 targeting pack
2/7/2022 3:17:21 PM - Version : [16.0,)
2/7/2022 3:17:21 PM -
2/7/2022 3:17:21 PM - Signature Details...
2/7/2022 3:17:21 PM - Extension is not signed.
2/7/2022 3:17:21 PM -
2/7/2022 3:17:21 PM - Searching for applicable products...
2/7/2022 3:17:21 PM - Found installed product - Global Location
2/7/2022 3:17:21 PM - Found installed product - Visual Studio Community 2022
2/7/2022 3:17:21 PM - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
at VSIXInstaller.ExtensionService.GetInstallableDataImpl(IInstallableExtension extension, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData)
at VSIXInstaller.ExtensionService.GetInstallableData(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData)
at VSIXInstaller.ExtensionPackService.IsExtensionPack(IStateData stateData, Boolean isRepairSupported)
at VSIXInstaller.ExtensionPackService.ExpandExtensionPackToInstall(IStateData stateData, Boolean isRepairSupported)
at VSIXInstaller.App.Initialize(Boolean isRepairSupported)
at VSIXInstaller.App.Initialize()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
( Sorry for my bad English :( )
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.