Mike,

I am unsure why the omega-edit commands would be causing your VS Code to crash. 
It might
be worth it to set up a screen share at some point so that I could possibly 
help you figure out
what the issue is there. Also, thank you very much for the all the other 
feedback, I agree with
Davin that these are good items for us to fixed for the next release of the 
extension!

- Shane Dell

On 2022/12/02 18:18:08 Mike Beckerle wrote:
> These items below do not block the release, but were things I observed:
> 
> SITE:
> - I did notice a bug on the VSCode Extension 1.2.0 release page which is
> that the link is broken to Intellisense Documentation
> <https://github.com/apache/daffodil-vscode/wiki/Using-DFDL-Intelli-sense>.
> It takes you to a wiki for new page creation.
> 
> OMEGA-EDIT
> - I enabled experimental features then selected Omega Edit - the VS Code UI
> then froze entirely, never recovered. Had to kill and restart. Repeatable.
> 
> INTELLISENSE:
> - I was unable to figure out how to enable intellisense from the
> documentation here:
> https://github.com/apache/daffodil-vscode/wiki/Apache-Daffodil%E2%84%A2-Extension-for-Visual-Studio-Code
> The animation showing how to do that goes too quickly, and I cannot see how
> the features it is using are being activated.
> 
> Intellisense does seem to work however, after I set a file association of
> "*.dfdl.xsd" to "dfdl".  Actually it may have just worked anyway, as I'm
> not sure this setting was needed.
> 
> I created a new foo.dfdl.xsd schema file with it.
> 
> The completion for a schema chooses elementFormDefault="qualified" which is
> incorrect. (a bug) The preferred style for DFDL schemas (or any XSD) should
> be elementFormDefault="unqualified".
> Alas, I wish I had known this when we created the TDML language. It would
> be so much nicer without the "tdml:" prefixes required everywhere.
> 
> The intellisense completion for a schema provides this namespace prefix:
> xmlns:math="www.w3.org/2005/xpath-functions/math"
> which contains functions not supported by the DFDL schema language.
> So I am not sure why this namespace prefix is provided. Perhaps these
> functions can be used in schematron annotations or other annotations than
> DFDL?
> 
> I wanted to insert a dfdl:format annotation. I typed "for" and was prompted
> with dfdl:format. Clicking on that embeds a giant pile of code as if this
> was the start of an empty dfdl schema file. This is not helpful. I was
> hoping it would insert this:
> 
> <xs:annotation>
> <xs:appinfo source="http://www.ogf.org/dfdl/";>
> <dfdl:format />
> </xs:appinfo>
> </xs:annotation>
> 
> and leave me positioned after the dfdl:format to add properties or a ref.
> If I type "ann" I am offered xs:annotation, and clicking that inserts most
> of what I wanted.
> 
> <xs:annotation>
> <xs:appinfo source="http://www.ogf.org/dfdl/";>
> 
> </xs:appinfo>
> </xs:annotation>
> 
> In this context, if I type dfdl:format in the middle and click on the
> offered "dfdl:format" choice it still inserts the entirely wrong "whole
> file" contents, in the middle of my appinfo, so clearly the context is not
> being taken into account.
> 
> If I type my own <dfdl:format /> element then try to complete properties
> inside it, I get no selection support for possible properties. I am offered
> top-level annotations and XSD elements.
> 
> In fact, I found that the intellisense seems keyed to writing new schemas
> from the start. E.g., if you type this:
> 
> <xs:element name="foo"
> 
> And then ctrl-space will give you DFDL property choices. But if you type:
> 
> <xs:element name="foo" />
> 
> Then position the cursor just before the "/>" and ctrl-space, the offerings
> are for top-level annotations, not properties.
> 
> Clearly the intellisense is working sufficiently that a lengthy discussion
> of exactly the contexts and things it should do for a user in those
> contexts is warranted now.
> I'd actually like to learn how to add context sensitive intellsense
> completions to this so that I can try-out ones I think would be helpful.
> 
> After some time intellisense stopped working. I could easily get it into a
> mode where any Ctrl-Space to see completions just puts up a box saying
> "Loading..." which never goes away unless you select some other window or
> hit escape. Other modes it got stuck in were where I selected an option
> from the intellisense choices offered, but nothing was inserted, just a
> blank line added. I had to restart VSCode in these cases.
> 
> BTW: My preferred style for writing DFDL schemas now is using no "xs:"
> prefixes on elements at all. E.g., like this example:
> 
> <?xml version='1.0' encoding='utf-8' ?>
> <schema xmlns:xs="http://www.w3.org/2001/xmlSchema";
> xmlns="http://www.w3.org/2001/xmlSchema";
> xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/";
> xmlns:daf="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext"
> xmlns:fn="http:/www.w3.org/2005/xpath-functions"
> elementFormDefault="unqualified"
> xmlns:foo="urn:foo"
> xmlns:tns="urn:foo"
> targetNamespace="urn:foo">
> 
> <include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"
> />
> 
> <element name="bar" type="xs:string" byteOrder="bigEndian" />
> 
> </schema>
> 
> In the above, notice the element declaration for the element named "bar".
> Note the byteOrder property lacks the "dfdl:" prefix, which is required.
> This was inserted by intellisense. I'm not sure what caused this, but I'm
> not able to get back to the behavior where it inserts properties with the
> dfdl: prefix on them any longer.  Even if remove the default xmlns="..."
> binding, put all the xs: back on everything, save, restart VSCode, it still
> inserts properties like byteOrder without the required dfdl: prefix.
> 
> That's it for now.
> 
> Mike Beckerle
> Apache Daffodil PMC | daffodil.apache.org
> OGF DFDL Workgroup Co-Chair | www.ogf.org/ogf/doku.php/standards/dfdl/dfdl
> Owl Cyber Defense | www.owlcyberdefense.com
> 

Reply via email to