digitalmars.D.announce - New little features in Descent
- Ary Borenszweig (19/19) Aug 17 2009 Hi!
- Piotrek (8/32) Aug 18 2009 Thanks again!
- Ary Borenszweig (4/42) Aug 18 2009 I can't enter dsource now. And yesterday I had to retry several times to...
- Piotrek (4/8) Aug 20 2009 Works now! Yuppie!
- bobef (4/28) Aug 19 2009 What is the status of Descent's ability to build D projects? Last few ti...
- Ary Borenszweig (6/10) Aug 19 2009 You can configure an external tool like dmd, rebuild, dsss, and when run...
- Ary Borenszweig (2/19) Aug 20 2009 Solved! :)
- Vincenzo Ampolo (2/3) Aug 19 2009 Thanks Ary, i was waiting these features from a long time. :)
- Qian Xu (26/26) Aug 26 2009 Hi Ary,
- Ary Borenszweig (20/53) Aug 26 2009 The result I get, with brackets of try/catch/finally configured to the
- Qian Xu (2/3) Aug 26 2009 I checked all "new line" options. My result was posted in previous post
- Charles Hixson (18/76) Aug 26 2009 Did you notice the line in your example reading:
- Ary Borenszweig (2/78) Aug 26 2009 If you can create a ticket so I can reproduce it, great. :)
- Charles Hixson (10/89) Aug 26 2009 Understanding your problem, I still can't. I've just stopped using
- Charles Hixson (5/96) Aug 26 2009 I was just going over the code for my current project, and I noticed
- Ary Borenszweig (3/100) Aug 26 2009 If you say the compiler is D2.x the world explodes. :)
- Ary Borenszweig (6/12) Aug 30 2009 I just uploaded a new version that fixes this.
- Qian Xu (3/19) Aug 30 2009 great, you made my day!! thanks again
Hi! I ported some code and features from Eclipse 3.4 and 3.5 to Descent, which are already present in the Java Development Toolkit for Eclipse (JDT). These features are: - The popup is nicer when hovering a symbol, showing it's icon and allowing to open the ddoc view or the declaration. - The popup also shows compile-time values of constant variables and enum members when available. - The completion proposal list is nicer, showing the declaring type or module in grey (it's cleaner to the eyes). Also fields and methods are separated by ":" from their type. - When hovering a method with ctrl hold, two options appear: "Open Declaration" and "Open Implementation". The first one just jumps to the method declaration. The second one opens a popup showing the classes or interfaces that implement that method, allowing you to quickly navigate to one of them. This is very useful when programming to interfaces. Here's a video showing all of these things: http://www.youtube.com/watch?v=Hy6-ppfq2pM Enjoy!
Aug 17 2009
Ary Borenszweig pisze:Hi! I ported some code and features from Eclipse 3.4 and 3.5 to Descent, which are already present in the Java Development Toolkit for Eclipse (JDT). These features are: - The popup is nicer when hovering a symbol, showing it's icon and allowing to open the ddoc view or the declaration. - The popup also shows compile-time values of constant variables and enum members when available. - The completion proposal list is nicer, showing the declaring type or module in grey (it's cleaner to the eyes). Also fields and methods are separated by ":" from their type. - When hovering a method with ctrl hold, two options appear: "Open Declaration" and "Open Implementation". The first one just jumps to the method declaration. The second one opens a popup showing the classes or interfaces that implement that method, allowing you to quickly navigate to one of them. This is very useful when programming to interfaces. Here's a video showing all of these things: http://www.youtube.com/watch?v=Hy6-ppfq2pM Enjoy!Thanks again! I don't know if it's a platform specific problem but I cannot update Descent on my Ubuntu. I get this message: An error occurred during provisioning. Failed to prepare partial IU: [R]descent.core 0.5.6.20090817. Cheers Piotrek
Aug 18 2009
Piotrek wrote:Ary Borenszweig pisze:I can't enter dsource now. And yesterday I had to retry several times to upload the files. dsource is working very badly since yesterday, so that must be the problem. Please try again later. :)Hi! I ported some code and features from Eclipse 3.4 and 3.5 to Descent, which are already present in the Java Development Toolkit for Eclipse (JDT). These features are: - The popup is nicer when hovering a symbol, showing it's icon and allowing to open the ddoc view or the declaration. - The popup also shows compile-time values of constant variables and enum members when available. - The completion proposal list is nicer, showing the declaring type or module in grey (it's cleaner to the eyes). Also fields and methods are separated by ":" from their type. - When hovering a method with ctrl hold, two options appear: "Open Declaration" and "Open Implementation". The first one just jumps to the method declaration. The second one opens a popup showing the classes or interfaces that implement that method, allowing you to quickly navigate to one of them. This is very useful when programming to interfaces. Here's a video showing all of these things: http://www.youtube.com/watch?v=Hy6-ppfq2pM Enjoy!Thanks again! I don't know if it's a platform specific problem but I cannot update Descent on my Ubuntu. I get this message: An error occurred during provisioning. Failed to prepare partial IU: [R]descent.core 0.5.6.20090817. Cheers Piotrek
Aug 18 2009
Ary Borenszweig pisze:I can't enter dsource now. And yesterday I had to retry several times to upload the files. dsource is working very badly since yesterday, so that must be the problem. Please try again later. :)Works now! Yuppie! Cheers Piotrek
Aug 20 2009
What is the status of Descent's ability to build D projects? Last few times I checked I was unable to build my project so I was unable to use Descent, despite its wonderful code-completion abilities. Also is it able to run my build script (build.bat) and parse the output and create links to the errors? Regards, bobef Ary Borenszweig Wrote:Hi! I ported some code and features from Eclipse 3.4 and 3.5 to Descent, which are already present in the Java Development Toolkit for Eclipse (JDT). These features are: - The popup is nicer when hovering a symbol, showing it's icon and allowing to open the ddoc view or the declaration. - The popup also shows compile-time values of constant variables and enum members when available. - The completion proposal list is nicer, showing the declaring type or module in grey (it's cleaner to the eyes). Also fields and methods are separated by ":" from their type. - When hovering a method with ctrl hold, two options appear: "Open Declaration" and "Open Implementation". The first one just jumps to the method declaration. The second one opens a popup showing the classes or interfaces that implement that method, allowing you to quickly navigate to one of them. This is very useful when programming to interfaces. Here's a video showing all of these things: http://www.youtube.com/watch?v=Hy6-ppfq2pM Enjoy!
Aug 19 2009
bobef wrote:What is the status of Descent's ability to build D projects? Last few times I checked I was unable to build my project so I was unable to use Descent, despite its wonderful code-completion abilities. Also is it able to run my build script (build.bat) and parse the output and create links to the errors? Regards, bobefYou can configure an external tool like dmd, rebuild, dsss, and when run it'll show you the errors in the console and allow you to jump to them. So the answer is yes. I'm also solve this soon: http://www.dsource.org/forums/viewtopic.php?p=22877
Aug 19 2009
Ary Borenszweig escribió:bobef wrote:Solved! :)What is the status of Descent's ability to build D projects? Last few times I checked I was unable to build my project so I was unable to use Descent, despite its wonderful code-completion abilities. Also is it able to run my build script (build.bat) and parse the output and create links to the errors? Regards, bobefYou can configure an external tool like dmd, rebuild, dsss, and when run it'll show you the errors in the console and allow you to jump to them. So the answer is yes. I'm also solve this soon: http://www.dsource.org/forums/viewtopic.php?p=22877
Aug 20 2009
Ary Borenszweig wrote:http://www.youtube.com/watch?v=Hy6-ppfq2pMThanks Ary, i was waiting these features from a long time. :)
Aug 19 2009
Hi Ary, well done. Here is a small bug report about the code fomatter: ============================= import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch (IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch (Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } ============================= You can see, the first catch-block is placed from a new line, but the second catch-block is not. Could you please fix this issue? Thanks in advance.
Aug 26 2009
Qian Xu wrote:Hi Ary, well done. Here is a small bug report about the code fomatter: ============================= import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch (IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch (Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } ============================= You can see, the first catch-block is placed from a new line, but the second catch-block is not. Could you please fix this issue? Thanks in advance.The result I get, with brackets of try/catch/finally configured to the next line, is: import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch(IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch(Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } What's your formatter configuration?
Aug 26 2009
Ary Borenszweig wrote:What's your formatter configuration?I checked all "new line" options. My result was posted in previous post
Aug 26 2009
Ary Borenszweig wrote:Qian Xu wrote:Did you notice the line in your example reading: /* Consequence: Clean up and possibly try again. */ } catch(Exception ex) I think he's saying the catch should have been on a line separate from the close bracket. (I've noticed that I need to do a lot of formatting manually with things like: if (....) { { being common. I just insert another tab, so it's no big deal, but it happens frequently. (I'd rather that you detected more parsing errors rather than spending your time fixing the formatting, but other people have other priorities.) P.S.: When using descent I've discovered that it's best to avoid emuns. It would be nice if that were fixed. Using them seems to lead to the entire IDE freezing.Hi Ary, well done. Here is a small bug report about the code fomatter: ============================= import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch (IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch (Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } ============================= You can see, the first catch-block is placed from a new line, but the second catch-block is not. Could you please fix this issue? Thanks in advance.The result I get, with brackets of try/catch/finally configured to the next line, is: import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch(IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch(Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } What's your formatter configuration?
Aug 26 2009
Charles Hixson wrote:Ary Borenszweig wrote:If you can create a ticket so I can reproduce it, great. :)Qian Xu wrote:Did you notice the line in your example reading: /* Consequence: Clean up and possibly try again. */ } catch(Exception ex) I think he's saying the catch should have been on a line separate from the close bracket. (I've noticed that I need to do a lot of formatting manually with things like: if (....) { { being common. I just insert another tab, so it's no big deal, but it happens frequently. (I'd rather that you detected more parsing errors rather than spending your time fixing the formatting, but other people have other priorities.) P.S.: When using descent I've discovered that it's best to avoid emuns. It would be nice if that were fixed. Using them seems to lead to the entire IDE freezing.Hi Ary, well done. Here is a small bug report about the code fomatter: ============================= import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch (IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch (Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } ============================= You can see, the first catch-block is placed from a new line, but the second catch-block is not. Could you please fix this issue? Thanks in advance.The result I get, with brackets of try/catch/finally configured to the next line, is: import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch(IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch(Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } What's your formatter configuration?
Aug 26 2009
Ary Borenszweig wrote:Charles Hixson wrote:Understanding your problem, I still can't. I've just stopped using them. But since the change happened two or three times soon after I inserted enums into a relatively large program, and disappeared when I removed them, I'm rather certain about the cause. (Often it would freeze the IDE before I'd even saved the work, and when I reproduced it using constant ints of type (whatever) there wasn't any problem.) P.S.: When the problem was present I found it expedient to correct the problem using another text editor. The IDE would crash that quickly after the file opened.Ary Borenszweig wrote:If you can create a ticket so I can reproduce it, great. :)Qian Xu wrote:Did you notice the line in your example reading: /* Consequence: Clean up and possibly try again. */ } catch(Exception ex) I think he's saying the catch should have been on a line separate from the close bracket. (I've noticed that I need to do a lot of formatting manually with things like: if (....) { { being common. I just insert another tab, so it's no big deal, but it happens frequently. (I'd rather that you detected more parsing errors rather than spending your time fixing the formatting, but other people have other priorities.) P.S.: When using descent I've discovered that it's best to avoid emuns. It would be nice if that were fixed. Using them seems to lead to the entire IDE freezing.Hi Ary, well done. Here is a small bug report about the code fomatter: ============================= import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch (IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch (Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } ============================= You can see, the first catch-block is placed from a new line, but the second catch-block is not. Could you please fix this issue? Thanks in advance.The result I get, with brackets of try/catch/finally configured to the next line, is: import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch(IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch(Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } What's your formatter configuration?
Aug 26 2009
I was just going over the code for my current project, and I noticed that I'd included an enum in it, which wasn't causing any problems. So maybe it's been fixed. (Also, maybe it's only if you say the compiler is D2.x.) Charles Hixson wrote:Ary Borenszweig wrote:Charles Hixson wrote:Understanding your problem, I still can't. I've just stopped using them. But since the change happened two or three times soon after I inserted enums into a relatively large program, and disappeared when I removed them, I'm rather certain about the cause. (Often it would freeze the IDE before I'd even saved the work, and when I reproduced it using constant ints of type (whatever) there wasn't any problem.) P.S.: When the problem was present I found it expedient to correct the problem using another text editor. The IDE would crash that quickly after the file opened.Ary Borenszweig wrote:If you can create a ticket so I can reproduce it, great. :)Qian Xu wrote:Did you notice the line in your example reading: /* Consequence: Clean up and possibly try again. */ } catch(Exception ex) I think he's saying the catch should have been on a line separate from the close bracket. (I've noticed that I need to do a lot of formatting manually with things like: if (....) { { being common. I just insert another tab, so it's no big deal, but it happens frequently. (I'd rather that you detected more parsing errors rather than spending your time fixing the formatting, but other people have other priorities.) P.S.: When using descent I've discovered that it's best to avoid emuns. It would be nice if that were fixed. Using them seems to lead to the entire IDE freezing.Hi Ary, well done. Here is a small bug report about the code fomatter: ============================= import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch (IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch (Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } ============================= You can see, the first catch-block is placed from a new line, but the second catch-block is not. Could you please fix this issue? Thanks in advance.The result I get, with brackets of try/catch/finally configured to the next line, is: import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch(IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch(Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } What's your formatter configuration?
Aug 26 2009
If you say the compiler is D2.x the world explodes. :) But I'm very close to finishing porting the code from D2. Charles Hixson escribió:I was just going over the code for my current project, and I noticed that I'd included an enum in it, which wasn't causing any problems. So maybe it's been fixed. (Also, maybe it's only if you say the compiler is D2.x.) Charles Hixson wrote:Ary Borenszweig wrote:Charles Hixson wrote:Understanding your problem, I still can't. I've just stopped using them. But since the change happened two or three times soon after I inserted enums into a relatively large program, and disappeared when I removed them, I'm rather certain about the cause. (Often it would freeze the IDE before I'd even saved the work, and when I reproduced it using constant ints of type (whatever) there wasn't any problem.) P.S.: When the problem was present I found it expedient to correct the problem using another text editor. The IDE would crash that quickly after the file opened.Ary Borenszweig wrote:If you can create a ticket so I can reproduce it, great. :)Qian Xu wrote:Did you notice the line in your example reading: /* Consequence: Clean up and possibly try again. */ } catch(Exception ex) I think he's saying the catch should have been on a line separate from the close bracket. (I've noticed that I need to do a lot of formatting manually with things like: if (....) { { being common. I just insert another tab, so it's no big deal, but it happens frequently. (I'd rather that you detected more parsing errors rather than spending your time fixing the formatting, but other people have other priorities.) P.S.: When using descent I've discovered that it's best to avoid emuns. It would be nice if that were fixed. Using them seems to lead to the entire IDE freezing.Hi Ary, well done. Here is a small bug report about the code fomatter: ============================= import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch (IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch (Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } ============================= You can see, the first catch-block is placed from a new line, but the second catch-block is not. Could you please fix this issue? Thanks in advance.The result I get, with brackets of try/catch/finally configured to the next line, is: import tango.io.Stdout; import tango.core.Exception; void main(char[][] args) { try { /* Do some stuff */ } catch(IOException ex) { Stdout.formatln("Caught IOException!"); /* Consequence: Clean up and possibly try again. */ } catch(Exception ex) { Stdout.formatln("Caught unexpected exception!"); /* Consequence: Die as gracefully as possible. */ } } What's your formatter configuration?
Aug 26 2009
Qian Xu escribió:Hi Ary, well done. Here is a small bug report about the code fomatter:(snip)Thanks in advance.I just uploaded a new version that fixes this. Also the new version partially supports D2: semantic analysis is far from perfect but features like autocompletion and go to definition should (but might not) work.
Aug 30 2009
Ary Borenszweig wrote:Qian Xu escribió:great, you made my day!! thanks again qianHi Ary, well done. Here is a small bug report about the code fomatter:(snip)Thanks in advance.I just uploaded a new version that fixes this. Also the new version partially supports D2: semantic analysis is far from perfect but features like autocompletion and go to definition should (but might not) work.
Aug 30 2009