Use grid views

This page covers the grid view workflow inside the Modeler editor: open a view from the SysMLv2 Views panel or from its source definition, then filter and sort rows, edit cells inline, create requirements, manage traceability links, and export to CSV. To define the views themselves, see Configure table views and Configure matrix views.

SysMLv2 Views panel

All available views in the current workspace are listed in the SysMLv2 Views panel in VS Code’s Explorer sidebar titled SysMLv2 Views (labs). Once a view is written in a .sysml file, it appears here automatically.

  • Click the view name to open it as a panel

  • Click the pencil icon on the right to jump to the SysML source definition

SysMLv2 Views panel listing available grid views

When opening a workspace for the first time, the SysMLv2 Views panel offers to add the SysideViews.sysml library file to the workspace directory. This is required for any grid view definitions to work; accepting the prompt places the library automatically.

SysMLv2 Views panel prompting to add the SysideViews library on first open

Warning

There is a known bug where renaming the SysideViews.sysml file after it has been added to a workspace can cause the extension to stop resolving the library.

Open from the Editor

A view can also be opened directly from its source definition: right-click inside a .sysml (or .kerml) editor and choose Visualize view (labs)As table to open the view at the cursor position as a populated table or matrix. Choosing As diagram renders the same view as a diagram instead.

Save View Changes

Some grid view interactions write to the source .sysml file immediately (such as inline cell edits). Others (resizing, reordering, or hiding columns, filtering rows) are staged in the UI and committed by clicking Save View Changes at the top of the view. Both tables and matrices use this pattern.

Working with tables

In a table view, rows are model elements and columns are their aspects: names, documentation, attribute values, constraints. The sections below walk through what an open table can do: find rows with filters and sorting, shape the layout by showing, hiding, and reordering columns, jump to the SysML source, edit values inline, create new requirements without leaving the table, and fan rows out into finer-grained sub-rows.

Filter rows

Type in the search bar at the top of the table to filter rows across all columns simultaneously. Column-level filters live in a separate row of filter boxes: the Column filters toolbar toggle, off by default, shows and hides them, and a Clear column filters button appears once any of them holds text.

Filters are staged as view changes. Clicking Save View Changes at the top of the view writes the filter text into the view definition, so the filtered state is restored the next time the view is opened.

Hierarchical table views add an Include parents toggle next to the search bar, off by default. While a filter is active and the toggle is off, only rows whose own content matches are shown, as a flat list. Turning the toggle on keeps the ancestor rows of every match, preserving the tree context. When no filter is active the toggle has no effect.

Sort rows

Click a column header to sort by that column; click again to reverse the direction. For multi-column sorting, use the + Add sort button in the toolbar to build a sort stack. Each entry appears as a chip with a priority number and a direction indicator. Clicking the indicator cycles it through ascending, descending, and removed; × removes an entry, and once the stack holds more than one entry, arrows reorder their priorities.

Sorting is a display-side setting only; it is not written to the view definition.

Show and hide columns

The Shown columns dropdown in the toolbar toggles individual columns on and off; its label shows how many columns are currently hidden. Like drag-and-drop column reordering, visibility changes are staged and committed with Save View Changes; the resulting column order is saved into the view definition, with hidden columns omitted.

Source navigation

All column types support source navigation via the right-click context menu:

  • Go to Row Element jumps to the element’s declaration in the .sysml file

  • Go to Cell Element jumps to the source of the specific cell value (e.g. the attribute declaration). When a cell has multiple source locations, a submenu lists each one

Inline editing

Cells with an editable representation can be edited directly in the table or via the right-click context menu (View Row Details). Changes are written back to the model on save confirmation.

Row details

Right-clicking any row opens a context menu with a View Row Details action that opens a modal showing all columns for that row in a scrollable vertical layout. Editable fields can be edited directly inside the model; changes are saved on confirm or discarded on cancel.

The Row Details modal renders documentation values as Markdown, so diagrams and screenshots can be embedded directly in requirement documentation using standard Markdown image notation:

![Alt text](images/diagram.png)

The image reference supports the following patterns:

Pattern

Resolution

images/diagram.png

Relative path, resolved against the directory of the .sysml file that declares the row element.

/abs/path/diagram.png

Absolute filesystem path.

file:///abs/path/diagram.png

Absolute file:// URI. The file://localhost/abs/path form works as well.

file://./images/diagram.png

Relative file:// URI, resolved against the .sysml file’s directory. The bare form file://images/diagram.png works as well.

Local files must be inside the opened workspace. A file that is missing or outside the workspace renders as an inline Image not found annotation instead of a broken image. Web URLs (https:// or http://) are not supported.

Note

View Row Details is disabled while there are unsaved cell changes in the main table. Save or discard the pending changes first.

View system hierarchy

A hierarchical table view renders model elements in a collapsible tree, reflecting parent–child usage nesting. Expand or collapse individual rows by clicking the toggle in the first (hierarchy) column.

Create requirements

Right-click a row and choose Add Requirement to create a new requirement next to it. The creation dialog collects the new element’s names and relationships, previews the exact SysML that will be written, and appends it to the model file on confirmation. The new row appears immediately if it satisfies the view’s filters.

In flat table views the new element is created next to the clicked row: the namespace comes pre-filled from the row element’s owner. The menu entry is disabled when the view’s filters do not admit requirements, and whenever the model cannot currently be written to: it has errors, source files hold unsaved edits, or another write is still in flight.

Create rows in a hierarchical table

A hierarchical table row is a definition reached through a usage typed by it, so creating one means creating both halves in the right places. Right-clicking a row offers two entries that do exactly that, opening the creation dialog with both namespaces filled in from the clicked row:

  • Add Sibling Requirement places the new row alongside the clicked one. The usage is created in the namespace of the row that was right-clicked

  • Add Sub-Requirement places the new row underneath the clicked one. The usage is created inside the clicked row’s definition, which is what makes it a child in the tree

Both entries put the new definition in the namespace of the clicked row’s definition. Each pre-filled field carries an ⓘ hint naming the namespace it was locked to and why.

Add Sibling Requirement works from any row, whatever kind of usage the row was reached through: what fixes the new element’s position is the place, not the kind of the element clicked. Add Sub-Requirement is greyed out on a definition that appears more than once in the hierarchy, since the new usage would land under every occurrence.

If a namespace cannot be mirrored from the clicked row, that field falls back to the full list and a notice points out that the unlocked fields need to be picked by hand.

Advanced table structure

Columns are not limited to one cell per row. A table can fan a row out into several sub-rows, one per element a column found: for example one sub-row per port of each part. The cells of the other columns then span the run of sub-rows their row produced, so the parent stays readable alongside its details (see Fanning out rows).

per port, with the part-level cells spanning their sub-rows.

A table whose rows fan out into sub-rows, with spanning parent cells

Working with matrices

A matrix view marks the relationships between two sets of elements, one on each axis. Reading it is the everyday use; an editable matrix goes further and turns the grid into a traceability workbench, where clicking cells creates and removes the relationships themselves.

Export to CSV

Both table and matrix views have an Export as CSV button in the top-right corner of the panel. Clicking it opens a save dialog; once the export completes, a notification with an Open action points at the written file.

In table views the button is disabled while there are unsaved cell changes. Save or discard the pending changes first.

Views can also be exported without opening the editor, for example in a CI pipeline, using the syside CLI. See syside table export.