digitalmars.D.ide - Which features are the most important for an IDE for D?
- Ary Borenszweig (19/19) Feb 07 2008 I'm talking about features that already exist in IDEs for other
- naryl (7/26) Feb 07 2008 I would like to add:
- Robert Fraser (9/12) Feb 07 2008 JDT has that, and it's a sort-of-planned feature for Descent. I don't
- BCS (9/32) Feb 07 2008 in the order I though of them:
- Bjoern (7/28) Feb 08 2008 1-
- Alexander Panek (11/15) Feb 08 2008 - proper Vim integration
- boyd (8/27) Feb 08 2008 What I'd like to see most in an IDE is userfriendliness. Especially the ...
- Saaa (5/10) Feb 08 2008 Poseidon is going that way. (If all goes well)
- BCS (4/19) Feb 08 2008 seeing as dmd is free an small on win/Linux having an app that updates
- =?ISO-8859-15?Q?J=F6rg_R=FCppel?= (13/34) Feb 08 2008 In addition to that list in no particular order:
- Robert Fraser (4/9) Feb 08 2008 You just blew my mind! This is something that always bothers me when
- Frank Benoit (2/6) Feb 08 2008 In JDT you can use ALT-Left/Right or the arrow symbols in the toolbar.
- Robert Fraser (3/10) Feb 08 2008 OK, _YOU_ just blew my mind! I learn something new about JDT every day!
- Ary Borenszweig (3/10) Feb 08 2008 I think it's actually a part of Eclipse, not just JDT. I can navigate
- naryl (3/14) Feb 08 2008 The only IDE I know of that has this feature is NetBeans.
- Bill Baxter (3/20) Feb 08 2008 Visual Studio has it too. Same Alt-left/Alt-right key binding as JDT.
- Jussi Jumppanen (5/10) Feb 08 2008 Zeus implements this feature through its TagsSearchUndo
- Jascha Wetzel (3/8) Feb 08 2008 the current SEATD alpha plugin for Kate has such a navigation history ;)
- Frank Benoit (2/2) Feb 08 2008 Speed. The IDE shall not slow down if the project has hundreds of source...
- Aarti_pl (5/7) Feb 08 2008 You will have to translate Eclipse to D ;-)
- Robert Fraser (3/12) Feb 08 2008 Done! ;-P
- BCS (3/21) Feb 08 2008 I think that he's thinking of porting Eclipse to D so that it's not
- BCS (10/10) Feb 08 2008 Reply to Ary,
- Yigal Chripun (15/15) Feb 08 2008 almost all requested features are probably already implemented in the
- Robert Fraser (3/19) Feb 08 2008 I also see this as a future for Descent, and we could sure use some help...
- Vladimir Panteleev (4/4) Feb 08 2008 I mentioned this in another thread: it would be really great for D in ge...
- Walter Bright (8/12) Feb 08 2008 The most important is to allow plugins so it is user extensible. Coupled...
- Ary Borenszweig (29/44) Feb 09 2008 That's exactly the Eclipse philosophy, and Descent honors that.
- Vladimir Vlasov (4/8) Feb 09 2008 I can imagine, given what Eclipse already can do with Java, C/C++ and D
- dennis luehring (5/26) Feb 09 2008 for refactoring/cleanup:
- bobef (4/4) Feb 09 2008 Intellisense
- Tom (4/4) Feb 09 2008 Integrated builder (DSSS would be great).
- Christopher Wright (16/16) Feb 14 2008 Start autocompletion as soon as I start typing. I'm pretty much always
- Robert Fraser (13/36) Feb 14 2008 You have to press control-space to get it, but if you type "n" and have
- Christopher Wright (8/47) Feb 15 2008 I would certainly appreciate that, though a lot of people would kvetch
- Bruno Medeiros (7/14) Mar 24 2008 If you're talking about the type and method hierarchy features, which
- Ary Borenszweig (15/38) Feb 15 2008 Visual Studio does that, and at least for me it becomes annoying some
- Christopher Wright (5/24) Feb 15 2008 Then there'd be multiple matches, and the completion shouldn't insert
- Graham St Jack (4/4) Feb 17 2008 For me, a very important feature is to be able to build (with jump-to-
- BCS (13/13) Feb 17 2008 Not exactly important but cool:
I'm talking about features that already exist in IDEs for other languages, or features that don't exist at all. Suppose you are typing some D source file and stop thinking "Man, I would really like to do/know X". I'll give as an example the features I found most useful in Eclipse for Java: - Refactoring. - Import rewriting: adding necessary imports and removing unnecessary automatically. - Semantic errors as you type. - Autocompletion. - Implement methods of interface/abstract class. - Type hierarchy. - Finding all the locations where a symbol is used. - Extract variable: selecting an expression and replacing it with a variable, and also adding a declaration for it. - Cast expression/argument to X. But possibles answers for D could also be "Template instantiation debugging", "Mixin expansion", etc.
Feb 07 2008
On Fri, 08 Feb 2008 04:02:11 +0300, Ary Borenszweig <ary esperanto.org.ar> wrote:I'm talking about features that already exist in IDEs for other languages, or features that don't exist at all. Suppose you are typing some D source file and stop thinking "Man, I would really like to do/know X". I'll give as an example the features I found most useful in Eclipse for Java: - Refactoring. - Import rewriting: adding necessary imports and removing unnecessary automatically. - Semantic errors as you type. - Autocompletion. - Implement methods of interface/abstract class. - Type hierarchy. - Finding all the locations where a symbol is used. - Extract variable: selecting an expression and replacing it with a variable, and also adding a declaration for it. - Cast expression/argument to X. But possibles answers for D could also be "Template instantiation debugging", "Mixin expansion", etc.I would like to add: - Intention Actions ( http://www.jetbrains.com/idea/docs/help/editing/intentionactions.html ) - External build tool integration, like Ant for Java. (As you may guess, I'd vote for DSSS :) )
Feb 07 2008
naryl wrote:I would like to add: - Intention Actions ( http://www.jetbrains.com/idea/docs/help/editing/intentionactions.html )JDT has that, and it's a sort-of-planned feature for Descent. I don't usually use that feature for correcting mistakes, I actually use it to write a lot of my code. For example, if I need a new class I'll often just write the new declaration, toss a couple method calls there, and go back and use the quick-fix processor (as JDT calls it) to generate the class with the correct constructor & functions right there. If I'm assigning it to an interface, it'll even put the unimplemented methods there. Very handy!
Feb 07 2008
Reply to Ary,I'm talking about features that already exist in IDEs for other languages, or features that don't exist at all. Suppose you are typing some D source file and stop thinking "Man, I would really like to do/know X". I'll give as an example the features I found most useful in Eclipse for Java: - Refactoring. - Import rewriting: adding necessary imports and removing unnecessary automatically. - Semantic errors as you type. - Autocompletion. - Implement methods of interface/abstract class. - Type hierarchy. - Finding all the locations where a symbol is used. - Extract variable: selecting an expression and replacing it with a variable, and also adding a declaration for it. - Cast expression/argument to X. But possibles answers for D could also be "Template instantiation debugging", "Mixin expansion", etc.in the order I though of them: Live "unittest": this would look like a table of values to call a function with and any time the function will compile (try every key stroke) the function is run and each output is reported. (the level of integration with the compiler this would demand would be intense) This would make one of the best things about using spreadsheets available in a real programming language. selective import maintenance: if you try to use a new function it adds it to the import list (maybe after asking) or maybe even adding new imports.
Feb 07 2008
Ary Borenszweig schrieb:I'm talking about features that already exist in IDEs for other languages, or features that don't exist at all. Suppose you are typing some D source file and stop thinking "Man, I would really like to do/know X". I'll give as an example the features I found most useful in Eclipse for Java: - Refactoring. - Import rewriting: adding necessary imports and removing unnecessary automatically. - Semantic errors as you type. - Autocompletion. - Implement methods of interface/abstract class. - Type hierarchy. - Finding all the locations where a symbol is used. - Extract variable: selecting an expression and replacing it with a variable, and also adding a declaration for it. - Cast expression/argument to X. But possibles answers for D could also be "Template instantiation debugging", "Mixin expansion", etc.1- Realtime Developer Collaboration without the need of CVS, SVN and the like. (requires RDBMS and async. communication support) 2- The I in IDE ;) Bjoern
Feb 08 2008
Ary Borenszweig wrote:I'm talking about features that already exist in IDEs for other languages, or features that don't exist at all. Suppose you are typing some D source file and stop thinking "Man, I would really like to do/know X".- proper Vim integration - Help in applying conventions, or even being able to define conventions on a per project base (module/package naming, type naming, general code style, etc.) - Additional to the above point, possibility to define project templates and rules/conventions - integration of one or more build tools (namely rebuild, dsss, make) and abstraction of config files of each (automatic generation for a project, too, of course but with the possibility to alter variables & co with the IDE itself, without having to edit the file(s))
Feb 08 2008
What I'd like to see most in an IDE is userfriendliness. Especially the installation of the IDE. I just want to download the IDE, and install it with a few button clicks or a single console command. It should be able to do most of its features without the need to configure compiler paths, or what not. That's what I think is missing in the current IDE's for D. ---- On Fri, 08 Feb 2008 02:02:11 +0100, Ary Borenszweig <ary esperanto.org.ar> wrote:I'm talking about features that already exist in IDEs for other languages, or features that don't exist at all. Suppose you are typing some D source file and stop thinking "Man, I would really like to do/know X". I'll give as an example the features I found most useful in Eclipse for Java: - Refactoring. - Import rewriting: adding necessary imports and removing unnecessary automatically. - Semantic errors as you type. - Autocompletion. - Implement methods of interface/abstract class. - Type hierarchy. - Finding all the locations where a symbol is used. - Extract variable: selecting an expression and replacing it with a variable, and also adding a declaration for it. - Cast expression/argument to X. But possibles answers for D could also be "Template instantiation debugging", "Mixin expansion", etc.
Feb 08 2008
What I'd like to see most in an IDE is userfriendliness. Especially the installation of the IDE. I just want to download the IDE, and install it with a few button clicks or a single console command. It should be able to do most of its features without the need to configure compiler paths, or what not. That's what I think is missing in the current IDE's for D.Poseidon is going that way. (If all goes well) I also wish more programs could update themselves with the latest build. And maybe update the compiler as well. There should be a project on dsource which would make handling stuff like that easier :)
Feb 08 2008
Saaa wrote:seeing as dmd is free an small on win/Linux having an app that updates it's self using a source download/compile would not be to nasty even for non-programmer users.What I'd like to see most in an IDE is userfriendliness. Especially the installation of the IDE. I just want to download the IDE, and install it with a few button clicks or a single console command. It should be able to do most of its features without the need to configure compiler paths, or what not. That's what I think is missing in the current IDE's for D.Poseidon is going that way. (If all goes well) I also wish more programs could update themselves with the latest build. And maybe update the compiler as well. There should be a project on dsource which would make handling stuff like that easier :)
Feb 08 2008
Ary Borenszweig wrote:I'm talking about features that already exist in IDEs for other languages, or features that don't exist at all. Suppose you are typing some D source file and stop thinking "Man, I would really like to do/know X". I'll give as an example the features I found most useful in Eclipse for Java: - Refactoring. - Import rewriting: adding necessary imports and removing unnecessary automatically. - Semantic errors as you type. - Autocompletion. - Implement methods of interface/abstract class. - Type hierarchy. - Finding all the locations where a symbol is used. - Extract variable: selecting an expression and replacing it with a variable, and also adding a declaration for it. - Cast expression/argument to X. But possibles answers for D could also be "Template instantiation debugging", "Mixin expansion", etc.In addition to that list in no particular order: ° Code navigation similar to webbrowser where you follow code definitions and uses go to definition etc). Most IDEs have that, but very few implement a proper back button/shortcut, so that I can quickly look up a function implementation and return to where I was before. ° Find all references: Given a symbol, it shows me all places where this symbol is used. ° Method outline: A combobox that, when clicked, lists all method declared in the current file and brings me there on selection. ° Symbol search: A dialog where I can search for symbols project wide. ° Automatic code formatting as I type, with the settings stored per project, and not per user.
Feb 08 2008
Jörg Rüppel wrote:In addition to that list in no particular order: ° Code navigation similar to webbrowser where you follow code definitions and uses go to definition etc). Most IDEs have that, but very few implement a proper back button/shortcut, so that I can quickly look up a function implementation and return to where I was before.You just blew my mind! This is something that always bothers me when using go-to-definition, but I never thought there'd be such a simple solution.
Feb 08 2008
Robert Fraser schrieb:You just blew my mind! This is something that always bothers me when using go-to-definition, but I never thought there'd be such a simple solution.In JDT you can use ALT-Left/Right or the arrow symbols in the toolbar.
Feb 08 2008
Frank Benoit wrote:Robert Fraser schrieb:OK, _YOU_ just blew my mind! I learn something new about JDT every day! And it turns out Descent has this feature, too :-).You just blew my mind! This is something that always bothers me when using go-to-definition, but I never thought there'd be such a simple solution.In JDT you can use ALT-Left/Right or the arrow symbols in the toolbar.
Feb 08 2008
Frank Benoit wrote:Robert Fraser schrieb:I think it's actually a part of Eclipse, not just JDT. I can navigate across different editors that way (not just java source files).You just blew my mind! This is something that always bothers me when using go-to-definition, but I never thought there'd be such a simple solution.In JDT you can use ALT-Left/Right or the arrow symbols in the toolbar.
Feb 08 2008
On Fri, 08 Feb 2008 16:03:45 +0300, Robert Fraser <fraserofthenight gmail.com> wrote:Jörg Rüppel wrote:The only IDE I know of that has this feature is NetBeans.In addition to that list in no particular order: ° Code navigation similar to webbrowser where you follow code definitions and uses go to definition etc). Most IDEs have that, but very few implement a proper back button/shortcut, so that I can quickly look up a function implementation and return to where I was before.You just blew my mind! This is something that always bothers me when using go-to-definition, but I never thought there'd be such a simple solution.
Feb 08 2008
naryl wrote:On Fri, 08 Feb 2008 16:03:45 +0300, Robert Fraser <fraserofthenight gmail.com> wrote:Visual Studio has it too. Same Alt-left/Alt-right key binding as JDT. --bbJörg Rüppel wrote:The only IDE I know of that has this feature is NetBeans.In addition to that list in no particular order: ° Code navigation similar to webbrowser where you follow code definitions and uses go to definition etc). Most IDEs have that, but very few implement a proper back button/shortcut, so that I can quickly look up a function implementation and return to where I was before.You just blew my mind! This is something that always bothers me when using go-to-definition, but I never thought there'd be such a simple solution.
Feb 08 2008
Bill Baxter Wrote:naryl wrote:Zeus implements this feature through its TagsSearchUndo and TagsSerachRedo functions, which can be bound to the keyboard or added to the toolbar. JussiJThe only IDE I know of that has this feature is NetBeans.Visual Studio has it too. Same Alt-left/Alt-right key binding as JDT.
Feb 08 2008
Jörg Rüppel wrote:In addition to that list in no particular order: ° Code navigation similar to webbrowser where you follow code definitions and uses go to definition etc). Most IDEs have that, but very few implement a proper back button/shortcut, so that I can quickly look up a function implementation and return to where I was before.the current SEATD alpha plugin for Kate has such a navigation history ;) http://seatd.mainia.de
Feb 08 2008
Speed. The IDE shall not slow down if the project has hundreds of source files or uses big libs/files. Editing shall always be smooth.
Feb 08 2008
Frank Benoit pisze:Speed. The IDE shall not slow down if the project has hundreds of source files or uses big libs/files. Editing shall always be smooth.You will have to translate Eclipse to D ;-) BR Marcin Kuszczak (aarti_pl)
Feb 08 2008
Aarti_pl wrote:Frank Benoit pisze:Done! ;-P http://www.dsource.org/projects/descentSpeed. The IDE shall not slow down if the project has hundreds of source files or uses big libs/files. Editing shall always be smooth.You will have to translate Eclipse to D ;-) BR Marcin Kuszczak (aarti_pl)
Feb 08 2008
Robert Fraser wrote:Aarti_pl wrote:I think that he's thinking of porting Eclipse to D so that it's not written in Java. (I don't have an opinion on this BTW)Frank Benoit pisze:Done! ;-P http://www.dsource.org/projects/descentSpeed. The IDE shall not slow down if the project has hundreds of source files or uses big libs/files. Editing shall always be smooth.You will have to translate Eclipse to D ;-) BR Marcin Kuszczak (aarti_pl)
Feb 08 2008
Reply to Ary, Internal Diff: I want to mark points (plural!) in time and then get a on screen diff from those points (highlight added stuff, mark removed, hover-over to see removed and replaced text). It would be cool if there were some way to search the deltas (find all places where ' was replaced with ") and how about right-click>undo for each delta? Also being able to drop into the old versions to copy stuff out would be cool. I'm thinking more granular than per-save or per-commit but it would also be cool to integrate this with a source control system so that you can get that same tool set with source control revisions
Feb 08 2008
almost all requested features are probably already implemented in the major IDEs on the market. I personally use Eclipse so I [eagerly] await the completion of Descent so Eclipse could support D. I want proper integration more than anything else, so Descent would use all the advanced features provided by the Eclipse platform. Also I want a built-in (or pre-configured and bundled) compiler so that I can just use Eclipse to build my project and not mess with external paths, command-line tools, DSSS/makefiles/dmd/installation of external programs/whatever. The IDE should provide _full_ support for all the D features including stuff like: 1. compile on the fly parts of the code like CTFE functions 2. mixin support - if there's an error the IDE should show mixed-in location and also it's definition. 3. same as above for templates. -- Yigal
Feb 08 2008
Yigal Chripun wrote:almost all requested features are probably already implemented in the major IDEs on the market. I personally use Eclipse so I [eagerly] await the completion of Descent so Eclipse could support D. I want proper integration more than anything else, so Descent would use all the advanced features provided by the Eclipse platform. Also I want a built-in (or pre-configured and bundled) compiler so that I can just use Eclipse to build my project and not mess with external paths, command-line tools, DSSS/makefiles/dmd/installation of external programs/whatever. The IDE should provide _full_ support for all the D features including stuff like: 1. compile on the fly parts of the code like CTFE functions 2. mixin support - if there's an error the IDE should show mixed-in location and also it's definition. 3. same as above for templates. -- YigalI also see this as a future for Descent, and we could sure use some help getting there :-).
Feb 08 2008
I mentioned this in another thread: it would be really great for D in general if we had an IDE that either comes with the full toolchain necessary for compiling and debugging programs, or will download the necessary components at installation. This applies more to Windows users (since Linux users will most likely find their way around on their own) - having an installation package with Eclipse+Descent, DMD, DDBG and possibly Tango would be wonderful. -- Best regards, Vladimir mailto:thecybershadow gmail.com
Feb 08 2008
Ary Borenszweig wrote:I'm talking about features that already exist in IDEs for other languages, or features that don't exist at all. Suppose you are typing some D source file and stop thinking "Man, I would really like to do/know X".The most important is to allow plugins so it is user extensible. Coupled with that, it needs a built-in scripting language (like elisp is used for emacs). If you do this right, you won't have to have all those other features, and users won't have to wait for you to implement them. I believe user extensibility, for example, was a big factor in the success of firefox.
Feb 08 2008
That's exactly the Eclipse philosophy, and Descent honors that. For example, you have access to the structure of a project, packages, modules (called compilation units in Descent), and it's declarations. You can see which methods are in a module, which are their arguments names and types, as well as return types. Base classes and interfaces of classes are also provided. Given a compilation unit, you can create a parser that will give you an AST for it, optionally with bindings resolved. Bindings refer to the ability to know the resolved types of expressions and names in the source file, as well as compile-time values. That allows you to do static analysis on code. The metrics plugin works this way, although it needs to be updated to take advantage of bindings (which were implemented in 0.5). To see this in action in Descent, go to Window -> Show View -> D -> AST View. Further, you can specify transformations to the AST by simply modifying it and then rewriting the AST to the same file or to another file. That allows any kind of refactoring, "quick fixes" and "assistancies" you can imagine. This is exaclty the way JDT is built. Here is an article explaining some of it: http://www.eclipse.org/articles/article.php?file=Article-JavaCodeManipulation_AST/index.html Another feature (not yet implemented in Descent): searching symbols and names is extensible. That means you can make a plugin that, when searching with Descent, will return results for modules referenced in a dsss or bud config file. :-) Just one note: all of what I mentioned is 80% implemented in Descent (that's why the zero is still there in the version number of the release :-P). Walter Bright escribió:Ary Borenszweig wrote:I'm talking about features that already exist in IDEs for other languages, or features that don't exist at all. Suppose you are typing some D source file and stop thinking "Man, I would really like to do/know X".The most important is to allow plugins so it is user extensible. Coupled with that, it needs a built-in scripting language (like elisp is used for emacs). If you do this right, you won't have to have all those other features, and users won't have to wait for you to implement them. I believe user extensibility, for example, was a big factor in the success of firefox.
Feb 09 2008
Ary Borenszweig пишет:Further, you can specify transformations to the AST by simply modifying it and then rewriting the AST to the same file or to another file. That allows any kind of refactoring, "quick fixes" and "assistancies" you can imagine.I can imagine, given what Eclipse already can do with Java, C/C++ and D sources, automatic transformation of Java and C++ code into almost-compilable D code might be excellent feature to have.
Feb 09 2008
Ary Borenszweig schrieb:I'm talking about features that already exist in IDEs for other languages, or features that don't exist at all. Suppose you are typing some D source file and stop thinking "Man, I would really like to do/know X". I'll give as an example the features I found most useful in Eclipse for Java: - Refactoring. - Import rewriting: adding necessary imports and removing unnecessary automatically. - Semantic errors as you type. - Autocompletion. - Implement methods of interface/abstract class. - Type hierarchy. - Finding all the locations where a symbol is used. - Extract variable: selecting an expression and replacing it with a variable, and also adding a declaration for it. - Cast expression/argument to X. But possibles answers for D could also be "Template instantiation debugging", "Mixin expansion", etc.for refactoring/cleanup: - symbol renaming - rename this variable/function... - show scope - is it a global, local member, variable/method/class...? - show dependecies - of a function/class,...
Feb 09 2008
Intellisense Debuging Smart build system I can't say which one is most important.
Feb 09 2008
Integrated builder (DSSS would be great). Tom; Ary Borenszweig escribió: ....
Feb 09 2008
Start autocompletion as soon as I start typing. I'm pretty much always going to be typing a type name, function name, or variable name, so why not offer suggestions immediately? Have an option to accept autocompletion suggestions as soon as a character is entered that can separate the current token -- whitespace, a dot, equals sign, that sort of thing. These two will save a very large amount of typing. Additionally, offering a way to resolve imports based on types used would be good. I know I want a Time struct, but I don't recall whether I get it from tango.core or tango.util or maybe they've moved it this release. An efficient keyboard shortcut for goto inheritor/base/implementation for a method or type. A template mechanism, so I can click new -> from template -> my custom template, enter a name, and have a new module instantiated from the template. Essentially, I want Resharper.
Feb 14 2008
Descent has all of this already. Christopher Wright wrote:Start autocompletion as soon as I start typing. I'm pretty much always going to be typing a type name, function name, or variable name, so why not offer suggestions immediately?You have to press control-space to get it, but if you type "n" and have a local variable called "name", that will be suggested. Maybe we should add an option to pop up the suggestion box immediately.Have an option to accept autocompletion suggestions as soon as a character is entered that can separate the current token -- whitespace, a dot, equals sign, that sort of thing.Descent just has this with dot, everything else you need to press control-space.These two will save a very large amount of typing. Additionally, offering a way to resolve imports based on types used would be good. I know I want a Time struct, but I don't recall whether I get it from tango.core or tango.util or maybe they've moved it this release.Yup, got that. Start typing Time control-space up the autocomplete, choose the suggestion, and the import is automatically added. Good times ensue.An efficient keyboard shortcut for goto inheritor/base/implementation for a method or type.Control-click on it.A template mechanism, so I can click new -> from template -> my custom template, enter a name, and have a new module instantiated from the template.Been in Descent for a while... sort of. A more robust templating mechanism is probably in order, though.Essentially, I want Resharper.
Feb 14 2008
Robert Fraser wrote:Descent has all of this already.I just started using it yesterday, so forgive my ignorance.Christopher Wright wrote:I would certainly appreciate that, though a lot of people would kvetch if that were the default. I knew that Eclipse allowed for ctrl-space to force autocompletion.Start autocompletion as soon as I start typing. I'm pretty much always going to be typing a type name, function name, or variable name, so why not offer suggestions immediately?You have to press control-space to get it, but if you type "n" and have a local variable called "name", that will be suggested. Maybe we should add an option to pop up the suggestion box immediately.Okay. So it shouldn't be too hard to do this, if I want to patch Descent.Have an option to accept autocompletion suggestions as soon as a character is entered that can separate the current token -- whitespace, a dot, equals sign, that sort of thing.Descent just has this with dot, everything else you need to press control-space.Groovy.These two will save a very large amount of typing. Additionally, offering a way to resolve imports based on types used would be good. I know I want a Time struct, but I don't recall whether I get it from tango.core or tango.util or maybe they've moved it this release.Yup, got that. Start typing Time control-space up the autocomplete, choose the suggestion, and the import is automatically added. Good times ensue.And inheritor or base? And a keyboard shortcut?An efficient keyboard shortcut for goto inheritor/base/implementation for a method or type.Control-click on it.A template mechanism, so I can click new -> from template -> my custom template, enter a name, and have a new module instantiated from the template.Been in Descent for a while... sort of. A more robust templating mechanism is probably in order, though.Essentially, I want Resharper.
Feb 15 2008
Christopher Wright wrote:If you're talking about the type and method hierarchy features, which you seem to be, that feature is not yet implement. But if it was, the keyboard shortcut would be Ctrl-T, same as JDT. -- Bruno Medeiros - MSc in CS/E student http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#DAnd inheritor or base? And a keyboard shortcut?An efficient keyboard shortcut for goto inheritor/base/implementation for a method or type.Control-click on it.
Mar 24 2008
Christopher Wright escribió:Start autocompletion as soon as I start typing. I'm pretty much always going to be typing a type name, function name, or variable name, so why not offer suggestions immediately? Have an option to accept autocompletion suggestions as soon as a character is entered that can separate the current token -- whitespace, a dot, equals sign, that sort of thing.Visual Studio does that, and at least for me it becomes annoying some times. This is so because autocompletion is not perfect, and can't always be perfect (unless it reads your mind), so suggestions may be wrong, and you end up canceling the suggestions popup and then start typing. For example, say foo is of an enum type: foo = // <-- will suggest automatically enum values But maybe I want to assign a variable to foo, not a constant enum value. Although I think it's a good idea to have it as an option, but I don't know if that can be done in Eclipse. Maybe you should try putting all the letters and symbols in the characteres textbox that triggers the autocompletion? :-)These two will save a very large amount of typing. Additionally, offering a way to resolve imports based on types used would be good. I know I want a Time struct, but I don't recall whether I get it from tango.core or tango.util or maybe they've moved it this release. An efficient keyboard shortcut for goto inheritor/base/implementation for a method or type.For go to definition you can also use F3. For what you are asking for, we first need to implement type hierarchies, and for type hierarchies we need to implement the searching functionality, so it'll take some time...A template mechanism, so I can click new -> from template -> my custom template, enter a name, and have a new module instantiated from the template. Essentially, I want Resharper.
Feb 15 2008
Ary Borenszweig wrote:Visual Studio does that, and at least for me it becomes annoying some times. This is so because autocompletion is not perfect, and can't always be perfect (unless it reads your mind), so suggestions may be wrong, and you end up canceling the suggestions popup and then start typing. For example, say foo is of an enum type: foo = // <-- will suggest automatically enum values But maybe I want to assign a variable to foo, not a constant enum value.Then there'd be multiple matches, and the completion shouldn't insert one automatically.Although I think it's a good idea to have it as an option, but I don't know if that can be done in Eclipse. Maybe you should try putting all the letters and symbols in the characteres textbox that triggers the autocompletion? :-)I can enter a maximum of four characters into that box, so no.Understood.An efficient keyboard shortcut for goto inheritor/base/implementation for a method or type.For go to definition you can also use F3. For what you are asking for, we first need to implement type hierarchies, and for type hierarchies we need to implement the searching functionality, so it'll take some time...
Feb 15 2008
For me, a very important feature is to be able to build (with jump-to- error) using a tool of my choice. The IDE needs to separate building from its own needs of where to find things. Of course, it needs to have a "default" build tool (like dsss for example).
Feb 17 2008
Not exactly important but cool: a pile of math tools "Math view", hover over an equation and the IDE format's it as an equation (like in TeX) "Convert to TeX", take an equation (selected or copied) and transform it into TeX probably on the clipboard. The other way" copy an equation out of some tex source (or OCR/read it out of a doc/pdf/ps) and generate a D expression of it. same thing for other syntax. "equation manipulator" performs, valid math operations (factor, distribute in/out, etc.) Fix errors: when a compile error is highlighted, put some common fixes in the right click menu (add semicolon, add cast, etc)
Feb 17 2008