Jump to page: 1 2
Thread overview
How to write Good IDE?
Feb 01, 2017
unDEFER
Feb 02, 2017
FrankLike
Feb 02, 2017
Jack Stouffer
Feb 02, 2017
unDEFER
Feb 03, 2017
Chris Wright
Feb 03, 2017
unDEFER
Feb 03, 2017
Jacob Carlborg
Feb 03, 2017
unDEFER
Feb 03, 2017
MGW
Feb 04, 2017
unDEFER
Feb 05, 2017
MGW
Feb 05, 2017
unDEFER
Feb 05, 2017
MGW
Feb 05, 2017
unDEFER
Feb 05, 2017
MGW
Feb 05, 2017
unDEFER
February 01, 2017
Hello!
So my unDE 0.2.0 is released (http://forum.dlang.org/thread/yzfthfipouzhejfskxxp@forum.dlang.org), and this means that the time to write unDE 0.3.0 - text editor and IDE.

And I grab my head when thinking how much I want to implement.

1) It must shows unused modules
2) It must shows parts of modules which used by module
3) It must shows not caught exceptions
4) It must autocomplete always even "string".to

I have seen pretty tool from Hackerpilot (DCD, dfmt, Dscanner), but it doesn't cover this list.

And I think how easier may be implement such IDE? From zero, or maybe possible to use parts of dmd/gdc?
And what important for you for Good IDE?
February 02, 2017
On Wednesday, 1 February 2017 at 15:12:42 UTC, unDEFER wrote:
Visual Studio .net is the best,you can look at it!

Thanks.

Frank
February 02, 2017
On Wednesday, 1 February 2017 at 15:12:42 UTC, unDEFER wrote:
> And what important for you for Good IDE?

Speed. That's the only reason I use sublimetext 3 and not an IDE.

rant:

I abhor any kind of lag, input or otherwise. I used to play tons of fighting games and character action games, and in them I was trained to feel dropped frames, which cause you to have less time to react to things on screen. Every time an IDE drops below 60 frames per second, I notice, and it feels like crap.

If it takes longer than two seconds for your app to open itself or open a file, it's too slow. If the app ever drops below 60 fps while I'm entering text or scrolling down a file, it sucks. If your IDE freezes on files larger than 5 mb *cough* atom *cough*, then it sucks.

end of rant
February 02, 2017
On Thursday, 2 February 2017 at 15:04:10 UTC, Jack Stouffer wrote:

> Speed.

Yes, speed it will one of the main characteristic of my IDE.
February 03, 2017
On Wed, 01 Feb 2017 15:12:42 +0000, unDEFER wrote:
> And I think how easier may be implement such IDE? From zero, or maybe possible to use parts of dmd/gdc?

It's awkward to use dmdfe as a library, mainly because it's not vetted to work with the GC. You *can* disable the GC, invoke dmdfe, copy out the data you need, and then enable the GC.

This doesn't let you take advantage of the fact that almost all the code will be identical between two invocations. It's going to be slow. It won't necessarily get you the information you need.

On the plus side, it accepts D pretty well, and someone else gets to maintain it for you.

You could write your own. This is a project that might take years on its own.

You could fork dmdfe, add your own fields and datastructures for things you need that aren't there already, add extra analysis that suits you, and change error handling to account for partially completed lines of code.
February 03, 2017
On Friday, 3 February 2017 at 01:31:03 UTC, Chris Wright wrote:

> It's awkward to use dmdfe as a library, mainly because it's not vetted to work with the GC. You *can* disable the GC, invoke dmdfe, copy out the data you need, and then enable the GC.

Thank you Chris, really I don't want use dmd as library

> You could fork dmdfe, add your own fields and datastructures for things you need that aren't there already, add extra analysis that suits you, and change error handling to account for partially completed lines of code.

The last is more possible that I want. But not with dmd, but maybe with gcc/gdc. I really don't know how to fast support several languages. And maybe first version will support only D.

So.. I want to create own IDE for 6 months..
February 03, 2017
On 2017-02-01 16:12, unDEFER wrote:
> Hello!
> So my unDE 0.2.0 is released
> (http://forum.dlang.org/thread/yzfthfipouzhejfskxxp@forum.dlang.org),
> and this means that the time to write unDE 0.3.0 - text editor and IDE.
>
> And I grab my head when thinking how much I want to implement.
>
> 1) It must shows unused modules
> 2) It must shows parts of modules which used by module
> 3) It must shows not caught exceptions
> 4) It must autocomplete always even "string".to
>
> I have seen pretty tool from Hackerpilot (DCD, dfmt, Dscanner), but it
> doesn't cover this list.
>
> And I think how easier may be implement such IDE? From zero, or maybe
> possible to use parts of dmd/gdc?
> And what important for you for Good IDE?

The old Eclipse plugin for D1, Descent [1], is the gold standard when it comes to IDE's for D. Check the features list [2] to get some ideas and inspiration.

[1] http://www.dsource.org/projects/descent
[2] http://www.dsource.org/projects/descent#Features

-- 
/Jacob Carlborg
February 03, 2017
On Friday, 3 February 2017 at 12:37:53 UTC, Jacob Carlborg wrote:
> The old Eclipse plugin for D1, Descent [1], is the gold standard when it comes to IDE's for D. Check the features list [2] to get some ideas and inspiration.
>
> [1] http://www.dsource.org/projects/descent
> [2] http://www.dsource.org/projects/descent#Features

Thank you! Good links.
February 03, 2017
On Wednesday, 1 February 2017 at 15:12:42 UTC, unDEFER wrote:
> And what important for you for Good IDE?

Simple IDE. It is possible that that is useful from this what is. I permanently use it as it is very quickly.

https://www.youtube.com/watch?v=RBan5Dwt_JM
https://github.com/MGWL/QtE5/tree/master/ide5


February 04, 2017
On Friday, 3 February 2017 at 19:17:54 UTC, MGW wrote:
> On Wednesday, 1 February 2017 at 15:12:42 UTC, unDEFER wrote:
>> And what important for you for Good IDE?
>
> Simple IDE. It is possible that that is useful from this what is. I permanently use it as it is very quickly.
>
> https://www.youtube.com/watch?v=RBan5Dwt_JM
> https://github.com/MGWL/QtE5/tree/master/ide5

Wow, without DCD? Looking interesting.
How to build ide5?

$ dub build
Performing "debug" build using dmd for x86_64.
qte5 0.0.7: building configuration "exampleLinux"...
Linking...
Running post-build commands...
Error load: libQtE5Widgets64.so
Copying files for qte5...

$ dmd -of=ide_5 ide5/ide5.d  ide5/ini.d  ide5/qte5prs.d  source/asc1251.d  source/qte5.d
$ ./ide_5 -d
Error load: libQtE5Widgets64.so
« First   ‹ Prev
1 2