You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by Mike Beckerle <mb...@apache.org> on 2022/08/18 19:50:24 UTC

VSCode 1.1.0 RC2 detailed feedback

First off. Nice work! This is a big step forward from v1.0.0 and very
usable it seems.

Below is details I wrote down from my testing.

Tests I did:

git cloned ethernetIP DFDL Schema from DFDLSchemas on github.

sbt test - works
sbt publishLocal

git cloned PCAP from DFDLSchemas on github

sbt test -works

Fire up vscode, load up RC2 vsix. Open PCAP directory.
Create a launch.json where I specify the pcap.dfdl.xsd, the data file
icmp1.cap, and the daffodil classpath to the jar for ethernetIP in the
lib_managed subdir (which gets populated by sbt test in the PCAP)

Start debugger. I can single step, and watch the infoset build. I can set
and stop at breakpoints.

The server will need to provide a way to serve files over to the VSCode
debugger, as currently an XSD accessed via a jar file, can be stepped into,
but is not displayed. Interesting that you can continue to step and watch
the progress of the building of the infoset. You just can't see the source.

However, when I put the ethernetIP/src/main/resources *directory* on the
classpath, and the ethernetIP/target/classes directory on the classpath (in
the launch.json), now I can step into the ethernet IP schema files just
fine. The fact that this schema depends on a compiled scala class for a
plugin caused no issues.

I tried to use the experimental data editor, but without success. That's
ok. It's not officially part of the features being advertised for 1.1.0.

Bug. When debug session ends, the binary display of hex data goes away.
Why? I might be very interested in looking at that still. It can be marked
inactive like the infoset file is, but shouldn't just be closed. You may
not want to fix this soon because I expect the hex display will be replaced
by the data editor in a view mode at some point, but anyway, it shouldn't
auto-close just because the parse ended.

Config Wizard - did not work for me - text didn't display in a way I could
use this. I guess you guys all use "dark theme". In default light theme UI
colors, well.....Picture:
[image: image.png]
With dark theme I could use it.

The the ability to manipulate Daffodil Debugger Classpath is not adequate.
It needs to display the list of entries on separate lines and they're long.
I would have expected a "+" button, which when pressed creates an
additional box to type or browse another entry into. With the browse
feature this would be really pretty good.

Need a way to have the run do daffodil's 'limited validation'. Basically to
see the see the stream of validation errors as they are produced.

This is just another option to set on daffodil when creating the Daffodil
Data Processor. There's a withValidation(...) call.

That's it for now, until I figure out how to have it talk to my
3.4.0-SNAPSHOT daffodil in the server. Then I can try it on MUCH bigger
schemas.

Re: VSCode 1.1.0 RC2 detailed feedback

Posted by "Shearer, Davin" <sh...@ctc.com>.
Thanks for this valuable feedback Mike.  I’ll add your findings to the issue tracker for daffodil-vscode and hopefully get them addressed in an upcoming milestone.

From: Mike Beckerle <mb...@apache.org>
Reply-To: "dev@daffodil.apache.org" <de...@daffodil.apache.org>, "mbeckerle@apache.org" <mb...@apache.org>
Date: Thursday, August 18, 2022 at 3:50 PM
To: "dev@daffodil.apache.org" <de...@daffodil.apache.org>
Subject: VSCode 1.1.0 RC2 detailed feedback


First off. Nice work! This is a big step forward from v1.0.0 and very usable it seems.

Below is details I wrote down from my testing.

Tests I did:

git cloned ethernetIP DFDL Schema from DFDLSchemas on github.

sbt test - works
sbt publishLocal

git cloned PCAP from DFDLSchemas on github

sbt test -works

Fire up vscode, load up RC2 vsix. Open PCAP directory.
Create a launch.json where I specify the pcap.dfdl.xsd, the data file icmp1.cap, and the daffodil classpath to the jar for ethernetIP in the lib_managed subdir (which gets populated by sbt test in the PCAP)

Start debugger. I can single step, and watch the infoset build. I can set and stop at breakpoints.

The server will need to provide a way to serve files over to the VSCode debugger, as currently an XSD accessed via a jar file, can be stepped into, but is not displayed. Interesting that you can continue to step and watch the progress of the building of the infoset. You just can't see the source.

However, when I put the ethernetIP/src/main/resources *directory* on the classpath, and the ethernetIP/target/classes directory on the classpath (in the launch.json), now I can step into the ethernet IP schema files just fine. The fact that this schema depends on a compiled scala class for a plugin caused no issues.

I tried to use the experimental data editor, but without success. That's ok. It's not officially part of the features being advertised for 1.1.0.

Bug. When debug session ends, the binary display of hex data goes away. Why? I might be very interested in looking at that still. It can be marked inactive like the infoset file is, but shouldn't just be closed. You may not want to fix this soon because I expect the hex display will be replaced by the data editor in a view mode at some point, but anyway, it shouldn't auto-close just because the parse ended.

Config Wizard - did not work for me - text didn't display in a way I could use this. I guess you guys all use "dark theme". In default light theme UI colors, well.....Picture:
[cid:ii_l6z7f2x10]
With dark theme I could use it.

The the ability to manipulate Daffodil Debugger Classpath is not adequate. It needs to display the list of entries on separate lines and they're long. I would have expected a "+" button, which when pressed creates an additional box to type or browse another entry into. With the browse feature this would be really pretty good.

Need a way to have the run do daffodil's 'limited validation'. Basically to see the see the stream of validation errors as they are produced.

This is just another option to set on daffodil when creating the Daffodil Data Processor. There's a withValidation(...) call.

That's it for now, until I figure out how to have it talk to my 3.4.0-SNAPSHOT daffodil in the server. Then I can try it on MUCH bigger schemas.




-----------------------------------------------------------------
This message and any files transmitted within are intended
solely for the addressee or its representative and may contain
company proprietary information.  If you are not the intended
recipient, notify the sender immediately and delete this
message.  Publication, reproduction, forwarding, or content
disclosure is prohibited without the consent of the original
sender and may be unlawful.

Concurrent Technologies Corporation and its Affiliates.
www.ctc.com  1-800-282-4392
-----------------------------------------------------------------