00:00:16The Outline view was redesigned to work seamlessly with JSON documents.
00:00:21Major improvements of the Outline view include:
- support for all types of JSON constructs
00:00:27(for example, objects, arrays, or simple types)
00:00:33It's functionality is similar to the Outline view for XML documents.
00:00:38You can search for a specific JSON property name
00:00:41The Outline view is synchronized with the main editing pane.
00:00:47It now features a more robust internal model that displays the document structure even if the JSON content
is not well formed
00:00:57and...when a validation problem is found, an error icon is displayed in the Outline tree, allowing
00:01:03you to easily pinpoint the source of the error.
00:01:06You can also hover over the icon to see a
tool-tip with details about the problem
00:01:15Another major improvement was the addition
of an intelligent Content Completion Assistant
00:01:20that offers proposals for quickly
inserting JSON structures that are valid
00:01:25at the current editing location.
00:01:27This feature is schema-driven and the list of proposals depend
00:01:31on the associated JSON Schema.
00:01:35For our example, I already have a JSON schema
that defines our JSON document structure.
00:01:42Thera are two ways to associate a JSON Schema to a JSON document.
00:01:47You can create a validation scenario that binds the JSON schema with the current document.
00:01:57Here, I need to specify the URL of the JSON schema in the validation scenario.
00:02:08Another method is to associate the
JSON schema directly in the document by using
00:02:13the "Associate Schema" action, that is available on the toolbar.
00:02:23Notice that a schema property was added at the beginning of the document with its value set to the
00:02:30specified URL.
00:02:32Note that if both types of schema
association, are used for a document
00:02:37the schema defined in the validation scenario has a higher priority
00:02:41and...will be used by the validation engine, content completion and for other actions such as "Go to definition".
00:02:49To quickly access the schema associated with
the current document, select the Open Associated
00:02:55Schema action from the toolbar.
00:03:01The properties and values that can be inserted
in a specific context are presented automatically
00:03:07when you edit the JSON document.
00:03:10To show how this works, I'll insert properties for a new "person" .
00:03:14The Content Completion Assistant
can be triggered in a valid location every time you press CTRL+Space,
00:03:22or the Enter key, or you type a single
or double quote character.
00:03:26As I'm inserting this properties and values
00:03:29I'm invoking the Content Completion Assistant
by pressing Enter.
00:03:44Note that Oxygen displays documentation for each proposal in a small window
next to the Content Completion window.
00:03:51This information is collected from the
associated JSON schema.
00:03:57I can right click a property and select "Go to definition" to open the schema where that property is defined.
00:04:05Proposing valid code constructs at the current
editing location makes it easier and faster
00:04:11to edit JSON documents and keep them well-formed.
00:04:28The content completion assistant also includes built-in JSON code templates to help you insert bigger JSONcode fragments.
00:04:37Just press Ctrl + Shift + Space to see a complete
list of the available code templates.
00:04:43You can also define your own code templates.
00:04:47As an example I'll create a code template based upon the "person" fragment that I just added, where I inserted the properties one by one.
00:04:56This will speed up the process of adding a new "person" definition in the future.
00:05:03To create a Code template, I"ll copy an existing "person" fragment
00:05:08then I'll open the Preferences dialog ...and look for the Code templates preferences page.
00:05:15Now I click "New" to create a fresh code template...
00:05:19Some of the fields are optional but I need to add a name for the code template,
00:05:23specify the editor type, and then in the content area I can paste the copied content.
00:05:31I'll edit the fragment and keep only the relevant information.
00:05:36Then I'll click OK, to save my changes.
00:05:40To enter the code template in my document, I place the cursor at a valid location
00:05:46press Ctrl+Shift+Space to invoke the Content completion list.
00:05:50The new Code template is now available in the list of proposals.
00:05:54Now I select the apropiate template and press Enter.
00:05:58And I"ll use the Format and Indent action to make the document look better.
00:06:03Now I can continue to input information in
the inserted fragment.
00:06:14And this concludes the demonstration. As always, thanks for watching!