Skip to content

Support loading and breakpoints of schemas on classpath #76

@arosien

Description

@arosien

(This issue is extracted from part of #66.)

Schemas may be included as resources on the classpath, which supports both file-system directories and jar files. The debugger extension, however, doesn't currently know about these resources in order to view them or set breakpoints within them.

One way to supply the classpath schemas to the editor, to view and to let the user set breakpoints there, is to send LoadedSource DAP events from our backend to VS Code when we notice any referenced schema outside of the initial schema. We can do this eagerly (scan the XML, etc.) or lazily (as the schema is processed we notify when a new schema is encountered). The editor then will request the source content, and the backend can send it (since we can access the data of the jar file on the classpath), and the editor will display the (read-only) content. Implementation-wise, we need to re-enable the supportsLoadedSourcesRequest initialization parameter that was disabled in #25, decide the schema source discovery strategy, and handle the appropriate events and requests.

Additionally, I suspect the default pathFormat parameter of the Initialize request needs to change from path to uri, since the loaded source will have a jar URI scheme (because it is loaded from a jar on the classpath).

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions