dirkster99 / edi Goto Github PK
View Code? Open in Web Editor NEWEdi - The open source text editor IDE based on AvalonDock and AvalonEdit
Home Page: https://dirkster99.github.io/Edi/
License: MIT License
Edi - The open source text editor IDE based on AvalonDock and AvalonEdit
Home Page: https://dirkster99.github.io/Edi/
License: MIT License
I have put 2 components into NuGet:
https://github.com/Dirkster99/DropDownButtonLib
https://github.com/Dirkster99/UserNotifications
...and added the MsgBox project with a dependency to the UserNotifications package in NuGet:
https://github.com/Dirkster99/MsgBox
Would you have a minute and review the MsgBox project to make sure I added the NuGet dependency correctly? I would then continue to add MsgBox to Nuget and add the reference into Edi etc...
I am noticing from some fellow friends, that the name Edi is bit confusing, they always ask, what is Edi stand for.
I give them my prediction,
"EDI is reversed IDE"
or
Entity Development Interface
and something else. But, when i asked my mentors, he tells me that
An application or commit, should and must have its unique, solid and meaningful name. along with meaningful icon. - J. Verdeburg
so this will be funny but big issue, why the name is Edi
Per discussion in #22, I'm opening a new issue for this specific topic.
Initial approaches are centered around
I have done some conditional build targets with MSBuild in the past which I'll brush up on and test.
Start Edi and switch theme to View > Themes > Generic
Bugs
I want to use the Edi project but when I rearrange a window I get the following problem:
In EdiTextEditor.xaml.cs row 129 "this.focus()" -> System.NullReferenceException.
Unfortunately I'm not (yet) smart enough to find a solution
Everytime I compile the project I forget that "Any CPU" is the correct option to go and wonder about the errors that result from compilling with "Mixed Platforms" ... :-(
Is there a way to setup the solution such that it will show "Any CPU" by default? (even without *.soa file)?
Some projects like the Files project have no reference to the main project Edi and require, therefore, copying as implemented in Edi.targets and shown below.
There is already a mechanism to mark Plugin folder projects and copy their binaries as described in the Wiki.
Question:
Should we use a similar mechanism based on a new XML Tag (eg. DeployMain instead of DeployPlugin) or is a different mechanism more appropriate?
<!-- Deploy Files toolwindow -->
<BuildDependsOn Condition="$(DeployApplication) == 'true'">
$(BuildDependsOn);
DeployFiles;
</BuildDependsOn>
<Target Name="DeployFiles">
<!-- Deploy Files assembly since its otherwise missing
because Edi's main project requires no additional reference -->
<ItemGroup>
<FilesModul Include="$(SolutionDir)\Tools\BuiltIn\Files\bin\$(Configuration)\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(FilesModul)"
DestinationFolder="$(ApplicationTargetDir)%(RecursiveDir)"
ContinueOnError="false"
SkipUnchangedFiles="false"
/>
<!-- Message Text=" %(FilesModul.Identity)" Importance="High"/-->
</Target>
The former PRISM version of Edi was using an EventAggregator to loosly couple events between components:
Is there an EventAggregator in Windsor or should we just use WeakEvents instead of the currenlty used standard .Net eventing?
I'm download the source code,run in vs2019 professional(16.1.3) ,and show a error like this...
the theme is default(metro light)
I changed the theme to darklight.
Title: Unhandled Error
Message: Object reference not set to an instance of an object.
Help Link: https://github.com/Dirkster99/Edi/issues
Help Link Url: https://github.com/Dirkster99/Edi/issues
More Details: System.NullReferenceException: Object reference not set to an instance of an object.
at Edi.App.OnStartup(StartupEventArgs e) in E:\ๅทฅๅ
ท\Edi-master\Edi\Edi\App.xaml.cs:line 242
at System.Windows.Application.<.ctor>b__1_0(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
as we know that :
An application or commit, should and must have its unique, solid and meaningful name. along with meaningful icon. - J. Verdeburg
I am trying to relate Edi with the Icon, and return an NullReferenceException ๐ , can you tell the audience what is Edi icon meaning, then they will likely try the app.
We can see that Edi uses ResX Localization that it must be compiled to get the language available.
I think this approach can be used, or we could improve it with Json / XML. so that users can add their own translation without having VS and the source code.
Greetings!
Sorry to bother you with such a basic issue, but I'm stocked in the build phase
1/ I cloned the repo to my local folder
2/ added the https://github.com/Dirkster99/Edi-Setup/ onto the same level as the source files.
3/ Opened in Visual Studio the project Edi.sln
4/run the build solution:
========== Build: 0 succeeded, 9 failed, 10 up-to-date, 0 skipped ==========
What am I missing?
Thank you in advance!
Edi keep failing when opening Avalon dock tab on right or bottom window.
System.ComponentModel.Win32Exception occurred HResult=0x80004005 Message=The operation completed successfully Source=<Cannot evaluate the exception source> StackTrace: at MS.Win32.UnsafeNativeMethods.CreateWindowEx(Int32 dwExStyle, String lpszClassName, String lpszWindowName, Int32 style, Int32 x, Int32 y, Int32 width, Int32 height, HandleRef hWndParent, HandleRef hMenu, HandleRef hInst, Object pvParam) at MS.Win32.HwndWrapper..ctor(Int32 classStyle, Int32 style, Int32 exStyle, Int32 x, Int32 y, Int32 width, Int32 height, String name, IntPtr parent, HwndWrapperHook[] hooks) at System.Windows.Window.EnsureHiddenWindow() at System.Windows.Window.SetTaskbarStatus() at System.Windows.Window.CreateAllStyle() at System.Windows.Window.CreateSourceWindow(Boolean duringShow) at System.Windows.Window.CreateSourceWindowDuringShow() at System.Windows.Window.SafeCreateWindowDuringShow() at System.Windows.Window.ShowHelper(Object booleanBox) at System.Windows.Window.Show()
Some classes like UserControls cannot be initialized with Dependency Injection via Constructor since they require per framework a parameterless constructor. The project, therefore, contains a static class definition to support MessageBox servicing in:
- static methods and
- classes that cannot have constructur injection (eg UserControl)
1.1 - Is there a better solution for this using Windsor.Castler?
1.2 - Can the static class and the initializer in
Edi.Installers reference the same MessageBox instance?
https://github.com/Dirkster99/Edi/blob/master/Edi/Edi.Core/StaticServices.cs
Is there an interest in providing backwards compatibility for less than C# 7? If so, I have a PR I'd like to submit with only those changes required to support < C# 7.
Maybe adding Dark UML editor will match the dark theme.
There are some _Container.Resolve<...>() statements in App.xaml.cs and Moduls:
https://github.com/Dirkster99/Edi/blob/master/Tools/BuiltIn/Files/Module/Installer.cs
void IWindsorInstaller.Install(IWindsorContainer container,
IConfigurationStore store)
{
Logger.InfoFormat("Registering Files.Module");
try
{
var avLayout = container.Resolve<IAvalonDockLayoutViewModel>();
var programSettings = container.Resolve<ISettingsManager>();
var toolRegistry = container.Resolve<IToolWindowRegistry>();
var fileOpenService = container.Resolve<IFileOpenService>();
var mruListViewModel = container.Resolve<IMRUListViewModel>();
Initialize(avLayout, programSettings, toolRegistry,
fileOpenService, mruListViewModel);
}
catch (System.Exception exp)
{
Logger.Error(exp);
}
}
Is there a better way to do this (eg. AbstractFactor) or is it OK as it is?
Just load a text file and click save - the application crashes ๐
how to add diagnostics on it ? is it any api
Hello,
My request concerns the retractable panels (4 on the right and 2 at the bottom), I would like to know if it is possible to add new ones and if it is possible how to do it?
Thanks in advance
the nuget package manager in this repo is not using the build in NPM. that can cause some issue in the future.
the Edi Solution contains many project and namespace, grouped in folder.
Edi
Edi.Core
EdiApp
EdiDialogs
EdiDocuments
Settings
SettingsView
Setup Edi
SimpleControls
Themes
Tools
Util
It's look messy and inconsistent, may be we should look at this approach.
Edi
Edi.Core
Edi.App
Edi.Dialogs
Edi.Documents
Edi.Settings
Edi.Settings.View
Edi.Setup
Edi.Controls
Edi.Themes
Edi.Tools
Edi.Util
The AvalonEdit Controls have error when reading Option class that doesn't exist yet.
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.