From 7db4d8c17b7dfb8ffc23a687b7c78413af492681 Mon Sep 17 00:00:00 2001 From: Huajiang Wei Date: Mon, 11 Dec 2023 10:43:43 +0800 Subject: [PATCH] add CORE Gripper, and fix document edit bug --- .../RoslynPad.Common.UI.csproj | 5 - .../ViewModels/MainViewModelBase.cs | 17 +- .../ViewModels/OpenDocumentViewModel.cs | 11 +- .../RoslynPad.Editor.Windows.csproj | 4 +- .../AssemblyExecutionHost.cs | 41 +- .../RoslynPad.Hosting/DotNetConfigHelper.cs | 1 + .../RoslynPad.Hosting.csproj | 2 - .../RoslynPad.Roslyn.Windows.csproj | 5 - .../RoslynPad.Roslyn/AssemblyAttributes.cs | 2 + .../RoslynPad.Roslyn/RoslynPad.Roslyn.csproj | 2 - .../Scripting/ScriptRunner.cs | 1 + .../RoslynPad.Runtime.csproj | 2 - .../Utilities/IOUtilities.cs | 1 - editor/src/RoslynPad.sln | 27 +- editor/src/RoslynPad/DocumentTreeView.xaml | 4 +- editor/src/RoslynPad/DocumentTreeView.xaml.cs | 4 +- editor/src/RoslynPad/DocumentView.xaml | 7 +- editor/src/RoslynPad/DocumentView.xaml.cs | 11 +- editor/src/RoslynPad/MainViewModel.cs | 130 +++--- editor/src/RoslynPad/MainWindow.xaml | 26 +- editor/src/RoslynPad/MainWindow.xaml.cs | 8 +- editor/src/RoslynPad/PlatformsFactory.cs | 4 +- editor/src/RoslynPad/Program.cs | 83 ---- editor/src/RoslynPad/RoslynPad.csproj | 32 +- editor/src/WpfApp1/App.config | 6 - editor/src/WpfApp1/App.xaml | 9 - editor/src/WpfApp1/App.xaml.cs | 17 - editor/src/WpfApp1/MainWindow.xaml | 12 - editor/src/WpfApp1/MainWindow.xaml.cs | 28 -- editor/src/WpfApp1/Properties/AssemblyInfo.cs | 55 --- .../WpfApp1/Properties/Resources.Designer.cs | 70 --- editor/src/WpfApp1/Properties/Resources.resx | 117 ----- .../WpfApp1/Properties/Settings.Designer.cs | 29 -- .../src/WpfApp1/Properties/Settings.settings | 7 - editor/src/WpfApp1/WpfApp1.csproj | 102 ---- examples/STAR.lay | Bin 35098 -> 36233 bytes examples/STAR.res | 2 +- examples/UseCoreGripper.csx | 10 + .../Component/CoreGripper/GripperForce.cs | 54 +++ .../CoreGripper/GripperXAccelerationLevel.cs | 34 ++ .../Component/CoreGripper/STARCoreGripper.cs | 436 ++++++++++++++++++ .../Component/CoreGripper/TransportMode.cs | 28 ++ src/STARLine/STARCommand.cs | 12 +- src/STARLine/STARLine.csproj | 4 + src/STARLine/Simulator/IProtoclSimulator.cs | 47 +- 45 files changed, 756 insertions(+), 753 deletions(-) delete mode 100644 editor/src/RoslynPad/Program.cs delete mode 100644 editor/src/WpfApp1/App.config delete mode 100644 editor/src/WpfApp1/App.xaml delete mode 100644 editor/src/WpfApp1/App.xaml.cs delete mode 100644 editor/src/WpfApp1/MainWindow.xaml delete mode 100644 editor/src/WpfApp1/MainWindow.xaml.cs delete mode 100644 editor/src/WpfApp1/Properties/AssemblyInfo.cs delete mode 100644 editor/src/WpfApp1/Properties/Resources.Designer.cs delete mode 100644 editor/src/WpfApp1/Properties/Resources.resx delete mode 100644 editor/src/WpfApp1/Properties/Settings.Designer.cs delete mode 100644 editor/src/WpfApp1/Properties/Settings.settings delete mode 100644 editor/src/WpfApp1/WpfApp1.csproj create mode 100644 examples/UseCoreGripper.csx create mode 100644 src/STARLine/Component/CoreGripper/GripperForce.cs create mode 100644 src/STARLine/Component/CoreGripper/GripperXAccelerationLevel.cs create mode 100644 src/STARLine/Component/CoreGripper/STARCoreGripper.cs create mode 100644 src/STARLine/Component/CoreGripper/TransportMode.cs diff --git a/editor/src/RoslynPad.Common.UI/RoslynPad.Common.UI.csproj b/editor/src/RoslynPad.Common.UI/RoslynPad.Common.UI.csproj index e44cf49..fc117ab 100644 --- a/editor/src/RoslynPad.Common.UI/RoslynPad.Common.UI.csproj +++ b/editor/src/RoslynPad.Common.UI/RoslynPad.Common.UI.csproj @@ -3,11 +3,6 @@ RoslynPad.UI netstandard2.0 - false - key.pfx - - - false diff --git a/editor/src/RoslynPad.Common.UI/ViewModels/MainViewModelBase.cs b/editor/src/RoslynPad.Common.UI/ViewModels/MainViewModelBase.cs index 4f0e502..88d1545 100644 --- a/editor/src/RoslynPad.Common.UI/ViewModels/MainViewModelBase.cs +++ b/editor/src/RoslynPad.Common.UI/ViewModels/MainViewModelBase.cs @@ -81,7 +81,7 @@ public MainViewModelBase(IServiceProvider serviceProvider, ITelemetryProvider te NewDocumentCommand = commands.Create(CreateNewDocument); OpenFileCommand = commands.CreateAsync(OpenFile); CloseCurrentDocumentCommand = commands.CreateAsync(CloseCurrentDocument); - CloseDocumentCommand = commands.CreateAsync(CloseDocument); + CloseDocumentCommand = commands.CreateAsync(CloseDocument); ClearErrorCommand = commands.Create(() => _telemetryProvider.ClearLastError()); ReportProblemCommand = commands.Create(ReportProblem); EditUserDocumentPathCommand = commands.Create(EditUserDocumentPath); @@ -115,6 +115,7 @@ public async Task Initialize() typeof(MainViewModelBase).Assembly); protected virtual ImmutableArray TypeNamespaceImports => ImmutableArray.Create(typeof(Runtime.ObjectExtensions)); + private async Task InitializeInternal() { RoslynHost = await Task.Run(() => new RoslynHost(CompositionAssemblies, @@ -122,9 +123,9 @@ private async Task InitializeInternal() disabledDiagnostics: ImmutableArray.Create("CS1701", "CS1702"))) .ConfigureAwait(true); - if(!OpenDocumentFromCommandLine()) - await OpenAutoSavedDocuments().ConfigureAwait(true); - + OpenDocumentFromCommandLine(); + await OpenAutoSavedDocuments().ConfigureAwait(true); + /* if (HasCachedUpdate()) { HasUpdate = true; @@ -133,10 +134,10 @@ private async Task InitializeInternal() { // ReSharper disable once UnusedVariable var task = Task.Run(CheckForUpdates); - } + }*/ } - private bool OpenDocumentFromCommandLine() + private void OpenDocumentFromCommandLine() { string[] args = Environment.GetCommandLineArgs(); @@ -148,10 +149,8 @@ private bool OpenDocumentFromCommandLine() { var document = DocumentViewModel.FromPath(filePath); OpenDocument(document); - return true; } } - return false; } private async Task OpenAutoSavedDocuments() @@ -388,7 +387,6 @@ public async Task CloseDocument(IOpenDocumentViewModel document) { return; } - var result = await document.Save(promptSave: true).ConfigureAwait(true); if (result == SaveResult.Cancel) { @@ -764,7 +762,6 @@ private void OnDocumentFileChanged(DocumentFileChanged data) { case DocumentFileChangeType.Renamed: Debug.Assert(data.NewPath != null); - if (data.NewPath == null) return; current.ChangePath(data.NewPath); // move it to the correct place parent.InternalChildren.Remove(current); diff --git a/editor/src/RoslynPad.Common.UI/ViewModels/OpenDocumentViewModel.cs b/editor/src/RoslynPad.Common.UI/ViewModels/OpenDocumentViewModel.cs index 3db993f..9e750a7 100644 --- a/editor/src/RoslynPad.Common.UI/ViewModels/OpenDocumentViewModel.cs +++ b/editor/src/RoslynPad.Common.UI/ViewModels/OpenDocumentViewModel.cs @@ -121,7 +121,7 @@ public string ILText } public void Dispose() { - if(_results!=null) + if (_results != null) { _results.Clear(); } @@ -156,13 +156,8 @@ public OpenDocumentViewModel(IServiceProvider serviceProvider, MainViewModelBase NuGet.RestoreCompleted += OnNuGetRestoreCompleted; _dispatcher = appDispatcher; - List platforms = new List(); - foreach (var f in serviceProvider.GetService() - .GetExecutionPlatforms()) - if (f.IsDesktop && f.Architecture == Architecture.X86) - platforms.Add(f); - AvailablePlatforms = platforms.ToImmutableArray(); - + AvailablePlatforms = serviceProvider.GetService() + .GetExecutionPlatforms().ToImmutableArray(); OpenBuildPathCommand = commands.Create(() => OpenBuildPath()); SaveCommand = commands.CreateAsync(() => Save(promptSave: false)); diff --git a/editor/src/RoslynPad.Editor.Windows/RoslynPad.Editor.Windows.csproj b/editor/src/RoslynPad.Editor.Windows/RoslynPad.Editor.Windows.csproj index 4cbbe39..76f19ad 100644 --- a/editor/src/RoslynPad.Editor.Windows/RoslynPad.Editor.Windows.csproj +++ b/editor/src/RoslynPad.Editor.Windows/RoslynPad.Editor.Windows.csproj @@ -8,8 +8,6 @@ RoslynPad.Editor $(EditorPackageVersion) Provides a Roslyn-based code editor using AvalonEdit (WPF platform) with completion, diagnostics, and quick actions - false - key.pfx @@ -26,7 +24,7 @@ - + diff --git a/editor/src/RoslynPad.Hosting/AssemblyExecutionHost.cs b/editor/src/RoslynPad.Hosting/AssemblyExecutionHost.cs index 680036c..ef602b6 100644 --- a/editor/src/RoslynPad.Hosting/AssemblyExecutionHost.cs +++ b/editor/src/RoslynPad.Hosting/AssemblyExecutionHost.cs @@ -170,46 +170,13 @@ private void InitializeBuildPath(bool stop) private void CleanupBuildPath() { StopProcess(); + foreach (var file in IOUtilities.EnumerateFiles(BuildPath)) { IOUtilities.PerformIO(() => File.Delete(file)); } } - public async Task ExecuteAsync2(string code, bool disaseemble, OptimizationLevel? optimizationLevel) - { - await new NoContextYieldAwaitable(); - try - { - _running = true; - - using var executeCts = new CancellationTokenSource(); - var cancellationToken = executeCts.Token; - - _assemblyPath = Path.Combine(BuildPath, $"RoslynPad-{Name}.dll"); - - //CopyDependencies(); - - var script = CreateScriptRunner(code, optimizationLevel, OutputKind.ConsoleApplication); - //var diagnostics = await script.SaveAssembly(_assemblyPath, cancellationToken).ConfigureAwait(false); - await script.RunAsync(cancellationToken); - } - catch(Exception e) - { - Console.WriteLine(e.Message); - Console.WriteLine(e.StackTrace); - } - finally - { - _executeCts = null; - _running = false; - if (_initializeBuildPathAfterRun) - { - _initializeBuildPathAfterRun = false; - InitializeBuildPath(stop: false); - } - } - } public async Task ExecuteAsync(string code, bool disassemble, OptimizationLevel? optimizationLevel) { await new NoContextYieldAwaitable(); @@ -238,7 +205,7 @@ public async Task ExecuteAsync(string code, bool disassemble, OptimizationLevel? if (disassemble) { - //Disassemble(); + Disassemble(); } _executeCts = executeCts; @@ -328,7 +295,7 @@ private static bool CopyIfNewer(string source, string destination) return false; } - private ScriptRunner CreateScriptRunner(string code, OptimizationLevel? optimizationLevel, OutputKind outputKind= OutputKind.ConsoleApplication) + private ScriptRunner CreateScriptRunner(string code, OptimizationLevel? optimizationLevel) { Platform platform = Platform.Architecture == Architecture.X86 ? Microsoft.CodeAnalysis.Platform.AnyCpu32BitPreferred @@ -337,7 +304,7 @@ private ScriptRunner CreateScriptRunner(string code, OptimizationLevel? optimiza return new ScriptRunner(code: null, syntaxTrees: ImmutableList.Create(InitHostSyntax, ParseCode(code)), _parseOptions, - outputKind, + OutputKind.ConsoleApplication, platform, _scriptOptions.MetadataReferences, _scriptOptions.Imports, diff --git a/editor/src/RoslynPad.Hosting/DotNetConfigHelper.cs b/editor/src/RoslynPad.Hosting/DotNetConfigHelper.cs index 1cca4f6..244d446 100644 --- a/editor/src/RoslynPad.Hosting/DotNetConfigHelper.cs +++ b/editor/src/RoslynPad.Hosting/DotNetConfigHelper.cs @@ -53,6 +53,7 @@ public static XDocument CreateNetFxAppConfig(IList references) runtime.Add(element); } } + var startup = new XElement("startup", new XAttribute("useLegacyV2RuntimeActivationPolicy", "true")); var config = new XElement("System.Windows.Forms.ApplicationConfigurationSection", new XElement("add", new XAttribute("key", "DpiAwareness"), new XAttribute("value", "PerMonitorV2")), diff --git a/editor/src/RoslynPad.Hosting/RoslynPad.Hosting.csproj b/editor/src/RoslynPad.Hosting/RoslynPad.Hosting.csproj index 9d519c8..e80de0a 100644 --- a/editor/src/RoslynPad.Hosting/RoslynPad.Hosting.csproj +++ b/editor/src/RoslynPad.Hosting/RoslynPad.Hosting.csproj @@ -4,8 +4,6 @@ Library RoslynPad.Hosting netstandard2.0 - false - key.pfx diff --git a/editor/src/RoslynPad.Roslyn.Windows/RoslynPad.Roslyn.Windows.csproj b/editor/src/RoslynPad.Roslyn.Windows/RoslynPad.Roslyn.Windows.csproj index 2c9e8f8..0f5126b 100644 --- a/editor/src/RoslynPad.Roslyn.Windows/RoslynPad.Roslyn.Windows.csproj +++ b/editor/src/RoslynPad.Roslyn.Windows/RoslynPad.Roslyn.Windows.csproj @@ -9,11 +9,6 @@ $(RoslynAssemblyVersion) $(RoslynPackageVersion) Provides platform-specific (WPF) implementations for UI elements required by the RoslynPad.Roslyn package. - false - key.pfx - - - 4 diff --git a/editor/src/RoslynPad.Roslyn/AssemblyAttributes.cs b/editor/src/RoslynPad.Roslyn/AssemblyAttributes.cs index fba5eb1..9ad488e 100644 --- a/editor/src/RoslynPad.Roslyn/AssemblyAttributes.cs +++ b/editor/src/RoslynPad.Roslyn/AssemblyAttributes.cs @@ -2,6 +2,8 @@ [assembly: InternalsVisibleTo("RoslynPad")] [assembly: InternalsVisibleTo("RoslynPad.Common.UI")] +[assembly: InternalsVisibleTo("RoslynPad.Editor.Avalonia")] [assembly: InternalsVisibleTo("RoslynPad.Editor.Windows")] +[assembly: InternalsVisibleTo("RoslynPad.Roslyn.Avalonia")] [assembly: InternalsVisibleTo("RoslynPad.Roslyn.Windows")] [assembly: InternalsVisibleTo("RoslynPad.Hosting")] diff --git a/editor/src/RoslynPad.Roslyn/RoslynPad.Roslyn.csproj b/editor/src/RoslynPad.Roslyn/RoslynPad.Roslyn.csproj index 0998170..5e62ff9 100644 --- a/editor/src/RoslynPad.Roslyn/RoslynPad.Roslyn.csproj +++ b/editor/src/RoslynPad.Roslyn/RoslynPad.Roslyn.csproj @@ -7,8 +7,6 @@ $(RoslynAssemblyVersion) $(RoslynPackageVersion) Exposes many Roslyn editor services that are currently internal. The version of this package corresponds to the Roslyn packages. - false - key.pfx diff --git a/editor/src/RoslynPad.Roslyn/Scripting/ScriptRunner.cs b/editor/src/RoslynPad.Roslyn/Scripting/ScriptRunner.cs index e967fa6..7fe622f 100644 --- a/editor/src/RoslynPad.Roslyn/Scripting/ScriptRunner.cs +++ b/editor/src/RoslynPad.Roslyn/Scripting/ScriptRunner.cs @@ -238,6 +238,7 @@ private static MethodInfo GetEntryPointRuntimeMethod(IMethodSymbol entryPoint, A { var entryPointTypeName = BuildQualifiedName(entryPoint.ContainingNamespace.MetadataName, entryPoint.ContainingType.MetadataName); var entryPointMethodName = entryPoint.MetadataName; + var entryPointType = assembly.GetType(entryPointTypeName, throwOnError: true, ignoreCase: false); return entryPointType.GetTypeInfo().GetDeclaredMethod(entryPointMethodName); } diff --git a/editor/src/RoslynPad.Runtime/RoslynPad.Runtime.csproj b/editor/src/RoslynPad.Runtime/RoslynPad.Runtime.csproj index eda311c..d91f422 100644 --- a/editor/src/RoslynPad.Runtime/RoslynPad.Runtime.csproj +++ b/editor/src/RoslynPad.Runtime/RoslynPad.Runtime.csproj @@ -6,8 +6,6 @@ netstandard2.0 true $(NoWarn);1591 - false - key.pfx diff --git a/editor/src/RoslynPad.Runtime/Utilities/IOUtilities.cs b/editor/src/RoslynPad.Runtime/Utilities/IOUtilities.cs index 2825f89..0224e56 100644 --- a/editor/src/RoslynPad.Runtime/Utilities/IOUtilities.cs +++ b/editor/src/RoslynPad.Runtime/Utilities/IOUtilities.cs @@ -130,7 +130,6 @@ public static IEnumerable EnumerateDirectories(string path, string searc var dir = new DirectoryInfo(enumerator.Current); var att = dir.Attributes; if (((int)att & (int)FileAttributes.Hidden) > 0) continue; - //if (dir.Name.StartsWith(".")) continue; yield return enumerator.Current; } } diff --git a/editor/src/RoslynPad.sln b/editor/src/RoslynPad.sln index 40578fd..52e1dec 100644 --- a/editor/src/RoslynPad.sln +++ b/editor/src/RoslynPad.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 -VisualStudioVersion = 16.0.34301.259 +VisualStudioVersion = 16.0.28407.52 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RoslynPad", "RoslynPad\RoslynPad.csproj", "{2F7723C1-297B-416F-9A78-153156D319B9}" EndProject @@ -27,12 +27,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Hosting", "Hosting", "{E219 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Roslyn", "Roslyn", "{33A4C07C-3BBB-4BA5-8A4E-CC22883B8ED5}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "STARLine", "STARLine", "{29CEF494-6CCD-404B-9EB4-AEBBBE424C8A}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "STARLine", "..\..\src\STARLine\STARLine.csproj", "{B2BFEA5D-3909-4CA3-8F18-901E2A0D557A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfApp1", "WpfApp1\WpfApp1.csproj", "{E50DF474-F338-4384-814C-F500F673DB93}" -EndProject Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "CSharp4Venus", "CSharp4Venus\CSharp4Venus.wapproj", "{EB7B8287-0660-40A2-BCB0-1ACCF4F4DF29}" EndProject Global @@ -212,26 +208,6 @@ Global {B2BFEA5D-3909-4CA3-8F18-901E2A0D557A}.Release|x64.Build.0 = Release|Any CPU {B2BFEA5D-3909-4CA3-8F18-901E2A0D557A}.Release|x86.ActiveCfg = Release|Any CPU {B2BFEA5D-3909-4CA3-8F18-901E2A0D557A}.Release|x86.Build.0 = Release|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Debug|ARM.ActiveCfg = Debug|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Debug|ARM.Build.0 = Debug|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Debug|ARM64.Build.0 = Debug|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Debug|x64.ActiveCfg = Debug|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Debug|x64.Build.0 = Debug|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Debug|x86.ActiveCfg = Debug|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Debug|x86.Build.0 = Debug|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Release|Any CPU.Build.0 = Release|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Release|ARM.ActiveCfg = Release|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Release|ARM.Build.0 = Release|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Release|ARM64.ActiveCfg = Release|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Release|ARM64.Build.0 = Release|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Release|x64.ActiveCfg = Release|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Release|x64.Build.0 = Release|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Release|x86.ActiveCfg = Release|Any CPU - {E50DF474-F338-4384-814C-F500F673DB93}.Release|x86.Build.0 = Release|Any CPU {EB7B8287-0660-40A2-BCB0-1ACCF4F4DF29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EB7B8287-0660-40A2-BCB0-1ACCF4F4DF29}.Debug|Any CPU.Build.0 = Debug|Any CPU {EB7B8287-0660-40A2-BCB0-1ACCF4F4DF29}.Debug|Any CPU.Deploy.0 = Debug|Any CPU @@ -274,7 +250,6 @@ Global {47C8DFA4-E7E9-4E44-86C4-B906229A25E0} = {52BBDF63-C2F5-439C-AFD6-E7BAC5A868C8} {075292F0-DBCD-4A01-9791-9637D396CCB8} = {33A4C07C-3BBB-4BA5-8A4E-CC22883B8ED5} {7FB0604B-44CD-4DB1-99C5-E89EA6C20AEC} = {09BCD791-CCF8-48DB-98E4-6B18105D2DDB} - {B2BFEA5D-3909-4CA3-8F18-901E2A0D557A} = {29CEF494-6CCD-404B-9EB4-AEBBBE424C8A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {6E595517-397C-4164-83BB-D80FC9B19D36} diff --git a/editor/src/RoslynPad/DocumentTreeView.xaml b/editor/src/RoslynPad/DocumentTreeView.xaml index c4663ef..4195317 100644 --- a/editor/src/RoslynPad/DocumentTreeView.xaml +++ b/editor/src/RoslynPad/DocumentTreeView.xaml @@ -9,9 +9,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:roslynPad="clr-namespace:RoslynPad" mc:Ignorable="d" + d:DataContext="{d:DesignInstance ui:MainViewModel}" d:DesignHeight="300" d:DesignWidth="300"> +