![]() |
FusionEdit v0.1
1 Attachment(s)
I've only posted a couple times during build season and I've been pretty inactive on Chief Delphi during off season, but bear with me.
SVN was really difficult for my team last year, even though we used a decent utility. We were constantly resolving conflicts, waiting on other people to finish building, and trying to tell SVN that we actually didn't want to resolve conflicts in the .MSW file. :( Anyway, a couple months ago I decided to start coding a free alternative to the MPLAB IDE, called FusionEdit. The killer app would be a sweet SVN system that allows multiple users to work simultaneously on the same file, letting them see each other type in real-time. Now, several months later, the first beta is done. No real-time typing, but it's getting close. Attached is the installer, which includes documentation in the start menu folder. Let me know what you guys think! :D [edit] Application requires .NET Framework 2.0 or higher. |
Re: FusionEdit v0.1
Also, there's a freely available collaborative editor called Gobby here: http://darcs.0x539.de/trac/obby/cgi-bin/trac.cgi
It's supposedly very good, I haven't tried it yet, I plan to tonight. |
Re: FusionEdit v0.1
You beat me to it! :D
I started working on something similar a few months ago! http://www.chiefdelphi.com/forums/sh...ight=first+IDE Would you be willing to let me see a copy of the source? |
Re: FusionEdit v0.1
Sure thing, I don't want to release the source publicly quite yet, it's just a wee bit ugly. :) If you want to PM me your email address, I can send it to you. I'd put it up on a free host, but I'm having problems with my internet filter. :(
|
Re: FusionEdit v0.1
If you need a place to host it I can get some space on my teams site.
|
Re: FusionEdit v0.1
If you want a good colloborative editor get yourself some macs, and use SubEthaEdit. Realtime live editing using the standard Bonjour network. It is an awesome application, that has access permissions and other such things, it can be hosted as a general server, and then let other people access it. Then when it is saved, one can script it using Apple Script to auto check the new source code into svn, and then you can check outa copy on a windows machine with MPLab and compile it.
Also, tell SVN to just ignore certain files. With SVNTortoise you can do this easily. It will from then on not care if a file has been changed or not. |
Re: FusionEdit v0.1
I haven't used it yet, but from the looks of it, nicely done. These are the exact features I am looking for. Thanks.
|
Re: FusionEdit v0.1
Can you post a screen shot?
|
Re: FusionEdit v0.1
@X-Istence: I realize there are more than one collaborative IDEs available. The idea was to write an IDE specifically for FIRST that other people can modify and/or make suggestions. With this post, I wanted to introduce the idea and open the floor to suggestions.
|
Re: FusionEdit v0.1
This thread has some good ideas.
http://www.chiefdelphi.com/forums/sh...ad.php?t=45934 This has some other info that could be helpful. http://www.chiefdelphi.com/forums/sh...ad.php?t=45814 |
Re: FusionEdit v0.1
|
Re: FusionEdit v0.1
You should try to figure out how to make collapsable regions.. Like in Visual Studio
|
Re: FusionEdit v0.1
1 Attachment(s)
Collapsible regions and syntax highlighting are on my to-do. :)
I forgot about SourceForge, which my filter doesn't block. I'm waiting approval of the project right now. @bear24w: jpg attachments are limited to 100 kb, so it's low quality, but you get the idea. ;) |
Re: FusionEdit v0.1
Quote:
I think it might be beneficial if we join forces to try to get a working version of this as soon as possible. :D |
Re: FusionEdit v0.1
Quote:
I would also like to help out with the project some. either when you have it on sourceforge or if you could email me w/ with(just send a PM and ill send you my email) |
Re: FusionEdit v0.1
Quote:
Being a .Net programmer myself I would defiently like to see a sourceforge project go up! Awsome job |
Re: FusionEdit v0.1
The code is very clean, but could use some more comments. :)
|
Re: FusionEdit v0.1
As soon as the SourceForge site is up, I'll let you guys know and you can join. I know three other people on my team who might be willing to help out as well.
EHaskins, would you allow me to see some of your code? |
Re: FusionEdit v0.1
I'm not at the computer with that code and I'll be out of town for about a week, but, I don't have any problem with that. :)
Sorry I can't get it to you faster. |
Re: FusionEdit v0.1
Hi,
I'm glad that you are undertaking the work to get a quality IDE working for FIRST. However, I'm confused about a couple of things. Why are you writing an entirely new program when you could create scripts or plugins for one of the incredibly functional editors already out there? (VIM, EMACS, Eclipse, jEdit etc.) Not that I have a big problem with another editor, but it seems like you're reinventing the wheel a little bit here. Also, why .NET? That leaves out a significant userbase of Linux and Mac users. Then these users will have to duplicate the fine work you're doing on the Windows platform if they want similar functionality. See the problem? Again, please take these as suggestions, not angry demands. |
Re: FusionEdit v0.1
Quote:
But, really I think the ide a behind this and other projects similar us that the technology er're using for FIRST has been stolen from other purposes. We should have an all in one soultion for programming, downloading, SVN, and any other things I can't think of right now. As for using .NET .net is fast, easy, and the people who are using linux or Mac for programming are the people who have akready used another IDE, and won't change anyway. |
Re: FusionEdit v0.1
Hypothetically (of course), the Mono project will allow you to run this on Linux. It doesn't because he uses a Window Form control which isn't supported yet, but I'm planning on trying to port this to GTK# at some point.
Good work, E. :D |
Re: FusionEdit v0.1
I used .NET mostly because it's really easy to create great interfaces. Visual C# is just drag-n-drop. Also, I had just learned the basics of C# and wanted to test my knowledge on a real project. .NET isn't the best choice, but if I chose Java or some other multi-platform language, it probably wouldn't be where it is right now.
I see what you mean about reinventing the wheel. I'll be completely honest and say the thought of writing scripts or plugins for another editor never entered my mind. I just saw a need for a FIRST-only IDE, and started writing one. Maybe a little rash, but we'll see. :D Hope that answers your question. |
Re: FusionEdit v0.1
Quote:
Thanks for your reply. |
Re: FusionEdit v0.1
Quote:
I'm going to be up-front with this: You can't top Eclipse. Between the code completion, going-to-definitions-of-functions, automatic compilation, managed make & multiple targets, plug-in architecture, projects, versioning, and broad user base (not to mention IBM), beating it is somewhere between hard and a miracle. Any home-brewed IDE I'm going to be skeptical of. (Take that as a challenge.) BTW, how much would it cost to produce 1200 CDs? |
Re: FusionEdit v0.1
1200 CDs? About $200. Why?
|
Re: FusionEdit v0.1
I think it would be a great idea if we started a development team to write a fully open-source toolchain for the FIRST competition - with your IDE, my program loader (which will be very easy to integrate into your idea, the code is designed to be used as a shared library), and some other useful collaboration tools (I agree that svn is a little overboard for most team's programming groups, too much work).
This may sound a little insane, but I've been more and more interested in writing a free software compiler for the FRC. It would take a hell of a lot of research and work, and probably wouldn't be usable for this year's competition, but it would be a great learning experience for anyone willing to help out and would greatly benefit the competition in general, IMHO. In my opinion, we should try to centralize all these small programming projects for FIRST to encourage collaboration and making better and more robust tools for the competition. :) |
Re: FusionEdit v0.1
Quote:
As for your compiler idea, that sounds insanely hard, but if you want to, go for it. This project might be useful. Also, you might want to go look what the gcc people are doing. Its possible they are planning on a compiler for Microchip stuff, or they might have some discussions about it (I haven't looked yet). |
Re: FusionEdit v0.1
Quote:
|
Re: FusionEdit v0.1
Quote:
|
Re: FusionEdit v0.1
You may want to upload this to FIRST Software Repository when it is all finished.
|
Re: FusionEdit v0.1
Quote:
|
Re: FusionEdit v0.1
Quote:
|
Re: FusionEdit v0.1
Quote:
And if you wanted to put it in the kit, that would require all sorts of approval from the higher-ups, and it would have to work perfectly or near-perfectly, unless you want hundreds of emails/forum posts complaining about how it won't work for whatever reason. |
Re: FusionEdit v0.1
Quote:
|
Re: FusionEdit v0.1
Quote:
|
Re: FusionEdit v0.1
Alright, the SourceForge site is up!
Website: http://fusionedit.sourceforge.net SourceForge Project site: http://sourceforge.net/projects/fusionedit |
Re: FusionEdit v0.1
Quote:
One small problem - you need to distribute the GPL with the source code. |
Re: FusionEdit v0.1
Quote:
|
Re: FusionEdit v0.1
So I went to test the program some more, and it wouldn't run. :ahh:
I went and tried to run it from source so I could find the problem, and I found that when the code tried to find my computers IP it found "::1". I can ping this address, but the software throws an incompatible IP address exception. Is this a firewall problem? EDIT: Exception data. System.Net.Sockets.SocketException was unhandled Message="An address incompatible with the requested protocol was used" Source="System" ErrorCode=10047 NativeErrorCode=10047 StackTrace: at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at FusionEdit.FusionServer.Initialize() in C:\Documents and Settings\Eric Haskins\Desktop\Source\Source\FusionServer.cs:line 59 at FusionEdit.FusionServerForm..ctor(String[] Arguments) in C:\Documents and Settings\Eric Haskins\Desktop\Source\Source\FusionServerForm.cs: line 38 at FusionEdit.StartupForm.ServerButton_Click(Object sender, EventArgs arguments) in C:\Documents and Settings\Eric Haskins\Desktop\Source\Source\StartupForm.cs:line 55 at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.SendMessa ge(HandleRef hWnd, Int32 msg, IntPtr wParam, IntPtr lParam) at System.Windows.Forms.Control.SendMessage(Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.Control.ReflectMessageInterna l(IntPtr hWnd, Message& m) at System.Windows.Forms.Control.WmCommand(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m) at System.Windows.Forms.ContainerControl.WndProc(Mess age& m) at System.Windows.Forms.Form.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.CallWindo wProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam) at System.Windows.Forms.NativeWindow.DefWndProc(Messa ge& m) at System.Windows.Forms.Control.DefWndProc(Message& m) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchM essageW(MSG& msg) at System.Windows.Forms.Application.ComponentManager. System.Windows.Forms.UnsafeNativeMethods.IMsoCompo nentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at FusionEdit.Startup.Main(String[] Arguments) in C:\Documents and Settings\Eric Haskins\Desktop\Source\Source\Startup.cs:line 21 at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args) at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) at Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly() at System.Threading.ThreadHelper.ThreadStart_Context( Object state) at System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() |
Re: FusionEdit v0.1
Quote:
|
Re: FusionEdit v0.1
When I looked at the code I found that I was getting an array of IP addresses, and the code only tried to use the first one. I rewrote the code so if the first one fails then it looks to next, then the next, ect.
The IPv4 vs. IPv6 incompatibility could be the problem, but I know I made it work so its ok for now. :rolleyes: |
| All times are GMT -5. The time now is 19:41. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi