java.lang.ClassCastException: org.eclipse.jdt.internal.core.CompilationUnit cannot be cast to scala.tools.eclipse.InteractiveCompilationUnit
at scala.tools.eclipse.ScalaSourceFileEditor.getInteractiveCompilationUnit(ScalaSourceFileEditor.scala:341)
at scala.tools.eclipse.ScalaSourceFileEditor.createPartControl(ScalaSourceFileEditor.scala:303)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:129)
The last month I have intensively been using the Scala IDE plugin on Scalac sources. A byproduct was a list of issues and wishes that I specify below.Some of these may belong to Eclipse rather than the plugin; others may have been solved meanwhile. One occurred because I was working on Scalac/I run OS X 10.8.2, Eclipse Juno with 4Gb heap space (was plenty), IDE 2.1.0 M3 (since 1 day the latest nightly build).I hope this helps improving the plugin.
Occasional Message
- Add Scala library to project classpath? There was an error initializing the Scala compiler: could not find a required class: object scala.runtime in compiler mirror. (…). No/Yes
Editing
- preference option Scala >> Syntax coloring >> Semantic syntax highlighting: slows down editing; it may take seconds to move the cursor or type a character
- Wish: a button for switching to/from block editing mode, just like for Java editing
- Sometimes, opening a file with a Scala source not in the project, results in an attempt to open GUI frame editor tab.
It is not clear how to force opening a normal text editor rather than GUI frame editor.
The GUI frame editor yields an error message "Failed to create the part's controls" with stack trace:java.lang.ClassCastException: org.eclipse.jdt.internal.core.CompilationUnit cannot be cast to scala.tools.eclipse.InteractiveCompilationUnit
at scala.tools.eclipse.ScalaSourceFileEditor.getInteractiveCompilationUnit(ScalaSourceFileEditor.scala:341)
at scala.tools.eclipse.ScalaSourceFileEditor.createPartControl(ScalaSourceFileEditor.scala:303)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:129)
Presentation compiler
- seems to slow editing down considerably; the user should be able to deactivate it, like with Semantic syntax highlighting
- seems to use different scala-*.jar as the build compiler: I tweaked the latter a little, so that the presentation compiler left some red marks that still build well. Preferably the presentation compiler behaves consistently like the build compiler
Project Build
- Menu option "Build Project" is greyed out when the focus is not in a source file panel; clicking once in such a panel has often not enough effect; double clicking there may maximize the old focused panel, which is annoying. A not too fast sequence of two clicks gives the source file panel the focus; then the menu option is enabled. Presumably this is an Eclipse problem.
- Sometimes, e.g., after interrupted build, there is no main to execute. Then also Project>>Build Project does not work; neither does Clean; the user is not warned. Restart Eclipse required.
- Menu option "Clean" always opens a dialog; it should be possible to skip this.
- build is sometimes very slow
- canceling a build task may take tens of seconds
- sometimes canceling a build results in an error: "Terminate failed"
Many processes in Progress tab, after some debugging sessions
- most (almost all) are called "Computing Scala debug details"
- clicking in red box results in status Cancel Requested, but that stays
- had to restart Eclipse every 3 minutes when this happened
Debugging: control (step, next)
- very slow; sometimes a very small step takes about 10 seconds
- weak feedback of busy-ness; while doing "step" that button is disabled, but not the others
- 'An internal error occurred during: "Execute Debug Command". head of empty list
- 'An internal error occurred during: "Label Job". Label Job \n has children update'
- "step over" steps over the statement at the top of the call stack; wish it were: over the statement selected in the GUI stack window
Debugging: Variables panel:
- Wish: toString values should be in separate column, just like "id"; smaller columns preferably more to the left
- value sub panel (with useful toString representation for selected field) at the south of the panel, is invisible at first (overlaid by table)
- sometimes the sub panel displays a number that accidentally remains visible after clicking another field
- sometimes there values show empty, or there are even no labels and values at all in the panel
- values display: sometimes shows exception while invoking toString(): null
scala.tools.eclipse.debug.model.ScalaObjectReference.jdiInvokeMethod(ScalaValue.scala:154)scala.tools.eclipse.debug.model.HasMethodInvocation$class.invokeMethod(ScalaDebugElement.scala:105)scala.tools.eclipse.debug.model.ScalaObjectReference.invokeMethod(ScalaValue.scala:120)scala.tools.eclipse.debug.model.ScalaDebugModelPresentation$.computeDetail(ScalaDebugModelPresentation.scala:55)scala.tools.eclipse.debug.model.ScalaDebugModelPresentation$.computeDetail(ScalaDebugModelPresentation.scala:31)scala.tools.eclipse.debug.model.ScalaDebugModelPresentation$$anon$1.run(ScalaDebugModelPresentation.scala:88)org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Debugging: Watch + Inspect
- badly missing. Wish these were here.
Debugging: Breakpoints
- the user cannot specify expressions (changed or true)
- specifying "on count" does not seem to work
The last month I have intensively been using the Scala IDE plugin on Scalac sources. A byproduct was a list of issues and wishes that I specify below.Some of these may belong to Eclipse rather than the plugin; others may have been solved meanwhile. One occurred because I was working on Scalac/I run OS X 10.8.2, Eclipse Juno with 4Gb heap space (was plenty), IDE 2.1.0 M3 (since 1 day the latest nightly build).
I hope this helps improving the plugin.Hi André, thanks for taking the time, feedback is always very much appreciated.
Occasional Message
- Add Scala library to project classpath? There was an error initializing the Scala compiler: could not find a required class: object scala.runtime in compiler mirror. (…). No/Yes
Are you using the m2eclipse-scala plugin?
- Sometimes, e.g., after interrupted build, there is no main to execute. Then also Project>>Build Project does not work; neither does Clean; the user is not warned. Restart Eclipse required.
This looks like a bug to me. Please file a ticket.
- 'An internal error occurred during: "Execute Debug Command". head of empty list
We have a ticket for this (https://scala-ide-portfolio.assembla.com/spaces/scala-ide/tickets/1001329#/activity/ticket:). How frequently does it happen? (we haven't seen it that often ourselves)Do you have a way to reproduce it? If yes, please provide the information in the ticket and we will do our best to fix it.I'm not aware of this. If you have a stacktrace or way to reproduce this, please file a ticket.
- 'An internal error occurred during: "Label Job". Label Job \n has children update'
- "step over" steps over the statement at the top of the call stack; wish it were: over the statement selected in the GUI stack window
File a feature ticket :)
Debugging: Variables panel:
- Wish: toString values should be in separate column, just like "id"; smaller columns preferably more to the left
This is really, really, useful feedback. Please, make sure to file tickets for all reported issues, so that we don't loose sight of them.
-- Mirco
---------------Mirco DottaTypesafe - The software stack for applications that scalePSE-D, 1015 Lausanne, SwitzerlandWork: +41 (0)21 691 49 65Twitter: @mircodotta
--
You received this message because you are subscribed to the Google Groups "Scala IDE User" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
- Sometimes, e.g., after interrupted build, there is no main to execute. Then also Project>>Build Project does not work; neither does Clean; the user is not warned. Restart Eclipse required.
This looks like a bug to me. Please file a ticket.If you interrupted a build, that's normal. No bytecode was generated (the "old" one is deleted before the build starts, and it's not a "transactional" operation). :)
- Sometimes, e.g., after interrupted build, there is no main to execute. Then also Project>>Build Project does not work; neither does Clean; the user is not warned. Restart Eclipse required.
This looks like a bug to me. Please file a ticket.If you interrupted a build, that's normal. No bytecode was generated (the "old" one is deleted before the build starts, and it's not a "transactional" operation). :)But both "Clean" and "Build Project" should work, and you should never need to restart Eclipse. I'm still of the idea this is a bug.
- 'An internal error occurred during: "Execute Debug Command". head of empty list
We have a ticket for this (https://scala-ide-portfolio.assembla.com/spaces/scala-ide/tickets/1001329#/activity/ticket:). How frequently does it happen? (we haven't seen it that often ourselves)Do you have a way to reproduce it? If yes, please provide the information in the ticket and we will do our best to fix it.
I'm not aware of this. If you have a stacktrace or way to reproduce this, please file a ticket.
- 'An internal error occurred during: "Label Job". Label Job \n has children update'
I think there were related tickets that might have been fixed for M3. If you still see them in the nightly, please file tickets.
- "step over" steps over the statement at the top of the call stack; wish it were: over the statement selected in the GUI stack window
File a feature ticket :)What exactly does this mean? "Step over" should step one line in the editor?
Debugging: Variables panel:
- Wish: toString values should be in separate column, just like "id"; smaller columns preferably more to the left
This is really, really, useful feedback. Please, make sure to file tickets for all reported issues, so that we don't loose sight of them.
+1Thanks for taking the time to list all these issues. We'll do our best to fix them!
Editing
- Sometimes, opening a file with a Scala source not in the project, results in an attempt to open GUI frame editor tab.It is not clear how to force opening a normal text editor rather than GUI frame editor. The GUI frame editor yields an error message "Failed to create the part's controls" with stack trace:
java.lang.ClassCastException: org.eclipse.jdt.internal.core.CompilationUnit cannot be cast to scala.tools.eclipse.InteractiveCompilationUnit
at scala.tools.eclipse.ScalaSourceFileEditor.getInteractiveCompilationUnit(ScalaSourceFileEditor.scala:341)
at scala.tools.eclipse.ScalaSourceFileEditor.createPartControl(ScalaSourceFileEditor.scala:303)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:129)I don't know how to reproduce this, but please file a ticket (make sure to provide some explanation on how to reproduce the problem)
Presentation compiler
- seems to slow editing down considerably; the user should be able to deactivate it, like with Semantic syntax highlighting
Most of the times, this is not the presentation compiler fault. Rather, we should avoid blocking on the UI Thread as much as possible, and since M3 we have done some improvement related to that. For instance, when hyperlinking, if the destination cannot be resolved in less than 500ms now it bails out, which prevents the editor to block. Also Mark Occurrences is often a cause of editor sluggishness, and we plan to disable it before releasing 3.0 (scala-ide-portfolio.assembla.com/spaces/scala-ide/tickets/1001466).It would be really great if you could follow improvement by using a nightly build. We really care about the editor experience and any feedback we can get about issues (or sensible improvement :)) on this respect is very much welcomed.
- seems to use different scala-*.jar as the build compiler: I tweaked the latter a little, so that the presentation compiler left some red marks that still build well. Preferably the presentation compiler behaves consistently like the build compiler
This is not the case. The presentation compiler uses the same classpath as the build compiler. However, it is possible for the presentation compiler to get into a bad state, which causes the appearance of false errors to be reported in the editor (the build compiler reports none, while the presentation compiler tells you something is off). The only workaround at the moment to reset the presentation compiler is do to a full project clean. This is far from ideal, I know (also considering Scala is not the fastest language to compile ;-)). We have a ticket for providing a shortcut to reset the presentation compiler without having to do a full project clean (http://scala-ide-portfolio.assembla.com/spaces/scala-ide/tickets/1000555), maybe we will have a chance to add this in time for the final 3.0 release, but it's tight (it is more likely to happen by 3.1).
Project Build
- Menu option "Build Project" is greyed out when the focus is not in a source file panel; clicking once in such a panel has often not enough effect; double clicking there may maximize the old focused panel, which is annoying. A not too fast sequence of two clicks gives the source file panel the focus; then the menu option is enabled. Presumably this is an Eclipse problem.
I assume you have "Build Automatically" disabled. I'm not able to reproduce this.
Debugging: Breakpoints
This is not supported at the moment.
- specifying "on count" does not seem to work
- Sometimes, e.g., after interrupted build, there is no main to execute. Then also Project>>Build Project does not work; neither does Clean; the user is not warned. Restart Eclipse required.
This looks like a bug to me. Please file a ticket.If you interrupted a build, that's normal. No bytecode was generated (the "old" one is deleted before the build starts, and it's not a "transactional" operation). :)But both "Clean" and "Build Project" should work, and you should never need to restart Eclipse. I'm still of the idea this is a bug.
-- Mirco
---------------Mirco DottaTypesafe - The software stack for applications that scalePSE-D, 1015 Lausanne, Switzerland
Work: +41 (0)21 691 49 65Twitter: @mircodotta
--
You received this message because you are subscribed to the Google Groups "Scala IDE User" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.