@sap/ux-cds-odata-language-server-extension
The SAP Fiori Tools - CDS OData Language Server enhances the functionality of SAP Cloud Platform core data services plug-in for Visual Studio Code with the features assisting you to define OData annotations in .cds files serving Fiori UIs.
1. Code Completion
The SAP Fiori Tools - CDS OData Language Server provides a list of suggestions based on the service metadata and OData vocabularies. An application developer can open such a list of suggestions for annotation aliases, terms, records, properties and their values and accept one of them to speed up applying OData annotations to service entities and elements. The suggestion lists are context sensitive, and include only the values that are allowed by OData vocabulary specification. This eliminates the need to look up the valid elements and values or type complete values.
2. Micro-Snippets
The SAP Fiori Tools - CDS OData Language Server provides a number of generic micro-snippets in the suggestion lists. These are small blocks of code based on OData vocabulary definitions that can be inserted to avoid triggering the code completion for each annotation element separately. An application developer can insert repeating code patterns such as annotation aliases, terms, and records more efficiently.
3. Diagnostics (error-checking)
The SAP Fiori Tools - CDS OData Language Server validates the OData annotations against the project metadata, annotation vocabularies, and OData specification. An application developer can view the diagnostic messages and navigate to the related place in the annotation file to fix the issues.
4. Documentation (Vocabulary Information)
The SAP Fiori Tools - CDS OData Language Server provides vocabulary information for annotation terms and their elements, such as property values, record types, etc. This information may include a description, applicability, type, etc. It also indicates if a term/element is experimental or deprecated and informs the developer if the element is mandatory. An application developer can use this information to make a better decision on how to use the annotation. The documentation scope depends on the information provided in the respective vocabulary.
5. Go to Definition/Peek Definition
The Go To Definition feature helps you to navigate to the source of a referenced annotation and opens the result in a new tab.
The Peek Definition feature lets you preview the definition of a annotation without switching away from the code that you're writing.
6. i18n Support
The SAP Fiori Tools - CDS OData Language Server provides diagnostic warning for hard-coded translatable text values which do not match the expected i18n reference format. Together with the standard functions of SAP Cloud Platform core data services plug-in it simplifies maintaining translateable values.
Out of Scope
Completion items for path values are only provided based on files referenced via the using
directive and annotations applied to the entities exposed from the same service.
Additionally, this version of annotation language server doesn’t support:
- Core Data Services Common annotations
- Annotations applied to complex elements
annotate IncidentService.Priority with {
code {
@(Common.Text: 'aaa') value;
}
};
- Annotations embedded in entity definitions
entity IncidentService @(UI.SelectionFields: [incidentStatus_code]) {
title @Common : {
Text : name,
TextArrangement : #TextOnly
} @title: 'Title'
};
- Annotations on parameters of parameterized entities
Known Issues
Vocabulary Support Matrix
The following OData vocabularies are supported by CDS Compiler and Annotation Service
Vocabulary | Annotation Service | CDS Compiler |
---|
Org.OData.Aggregation.V1 | X | X |
Org.OData.Authorization.V1 | X | X |
Org.OData.Capabilities.V1 | X | X |
Org.OData.Core.V1 | X | X |
Org.OData.Measures.V1 | X | X |
Org.OData.Repeatability.V1 | X | X |
Org.OData.Temporal.V1 | X | |
Org.OData.Validation.V1 | X | X |
Org.OData.JSON.V1 | X | X |
com.sap.vocabularies.Analytics.v1 | X | X |
com.sap.vocabularies.CodeList.v1 | X | X |
com.sap.vocabularies.Common.v1 | X | X |
com.sap.vocabularies.Communication.v1 | X | X |
com.sap.vocabularies.DataIntegration.v1 | X | X |
com.sap.vocabularies.DirectEdit.v1 | X | |
com.sap.vocabularies.Graph.v1 | X | X |
com.sap.vocabularies.Hierarchy.v1 | X | X |
com.sap.vocabularies.HTML5.v1 | X | X |
com.sap.vocabularies.ODM.v1 | X | X |
com.sap.vocabularies.PDF.v1 | X | |
com.sap.vocabularies.PersonalData.v1 | X | X |
com.sap.vocabularies.Session.v1 | X | X |
com.sap.vocabularies.UI.v1 | X | X |
Support
Join the SAP Fiori Tools Community. Ask Questions, Read the Latest Blogs, Explore Content.
Please assign tag: SAP Fiori tools
To log an issue with SAP Fiori Tools, please see Contact SAP Support.
Documentation
For more information see https://cap.cloud.sap/docs/advanced/fiori#fiori-annotations