digitalmars.D.announce - New little features in Descent
- Ary Borenszweig <ary esperanto.org.ar> Aug 17 2009
- Piotrek <starpit tlen.pl> Aug 18 2009
- Ary Borenszweig <ary esperanto.org.ar> Aug 18 2009
- Piotrek <starpit tlen.pl> Aug 20 2009
- bobef <adsad askdfkasjflaflajf.asdasd> Aug 19 2009
- Ary Borenszweig <ary esperanto.org.ar> Aug 19 2009
- Ary Borenszweig <ary esperanto.org.ar> Aug 20 2009
- Vincenzo Ampolo <vincenzo.ampolo gmail.com> Aug 19 2009
- Qian Xu <quian.xu stud.tu-ilmenau.de> Aug 26 2009
- Ary Borenszweig <ary esperanto.org.ar> Aug 26 2009
- Qian Xu <quian.xu stud.tu-ilmenau.de> Aug 26 2009
- Charles Hixson <charleshixsn earthlink.net> Aug 26 2009
- Ary Borenszweig <ary esperanto.org.ar> Aug 26 2009
- Charles Hixson <charleshixsn earthlink.net> Aug 26 2009
- Charles Hixson <charleshixsn earthlink.net> Aug 26 2009
- Ary Borenszweig <ary esperanto.org.ar> Aug 26 2009
- Ary Borenszweig <ary esperanto.org.ar> Aug 30 2009
- Qian Xu <quian.xu stud.tu-ilmenau.de> Aug 30 2009
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: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
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. :)
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, bobef
You 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: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
You 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
Solved! :)
Aug 20 2009
Ary Borenszweig wrote:http://www.youtube.com/watch?v=Hy6-ppfq2pM
Thanks 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: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?
/* 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.
Aug 26 2009
Charles Hixson wrote:Ary Borenszweig wrote: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?
/* 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.
If you can create a ticket so I can reproduce it, great. :)
Aug 26 2009
Ary Borenszweig wrote:Charles Hixson wrote:Ary Borenszweig wrote: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?
/* 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.
If you can create a ticket so I can reproduce it, great. :)
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.
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:Ary Borenszweig wrote: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?
/* 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.
If you can create a ticket so I can reproduce it, great. :)
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.
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:Ary Borenszweig wrote: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?
/* 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.
If you can create a ticket so I can reproduce it, great. :)
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.
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ó: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.
great, you made my day!! thanks again qian
Aug 30 2009









Piotrek <starpit tlen.pl> 