IDE extensionIDE extensiontypeInstalls into a development environment (VS Code, Eclipse with ABAP Development Tools, SAP Business Application Studio) and works inside it, rather than as a library you call or a command you run.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

ui5plugin

The SAPUI5 Extension for Visual Studio Code: completion, definitions, CodeLens, diagnostics, code actions, hover and an XML formatter for UI5 views, controllers and manifest.json.

In a plain editor a UI5 view is text: nothing says what a control offers or where its event handler lives. This extension adds completion in XML views, JavaScript, TypeScript and manifest.json, definitions that jump between an XML event handler and its controller method, CodeLens for i18n texts, overridden methods, event handlers and references, code actions that import UI5 modules or insert a missing method, and commands for exporting i18n texts, switching between view and controller, drawing UML and ER diagrams and generating TypeScript interfaces. Its diagnostics come from ui5plugin-linter running over classes read by ui5plugin-parser, so configuration is split into three parts: the parser's, the linter's and VS Code's own settings.

Facts

Last pushLicenceApache-2.0

Where it sits

Lives in
Provides
LintingUI5LintingcapabilityCatching in the editor what would otherwise be caught at deploy time, or not at all — problems in source code and models and in the project's configuration, found by rules rather than by review.
Requires
ui5plugin-parserui5plugin-parserartifactReads the standard SAPUI5 class metadata and the project's own classes, so completion, definitions and diagnostics know what each class declares.ui5plugin-linterui5plugin-linterartifactProduces the XML, JavaScript and TypeScript, and i18n diagnostics the extension shows, and holds their rules and severities.

Who is behind it

Ilja PostnovsIlja PostnovsPersonMaintains this
In the atlas: maintains 3, contributes to 3
@iljapostnovs
maintainerCarlos OrozcoPersonContributes to this
In the atlas: maintains 1, contributes to 2
@CarlosOrozco88
Joaquim Monserrat CompanysPersonContributes to this
In the atlas: contributes to 1
@jeremies
ypcycPersonContributes to this
In the atlas: contributes to 1
@ypcyc
3 contributors

Before choosing this

Conditions

PracticalFunctional boundary

Its README assumes a manifest.json with an app ID, JavaScript files that start with sap.ui.define, and access to ui5.sap.com to preload the standard library metadata. It says of TypeScript that ts-morph, its parser there, has drawbacks, and that not all linters work for TypeScript.

What it declares

Every artifact

Type
IDE extension
Origin
Independently maintained

As an IDE extension

Installs into
VS Code
Distributed through
Visual Studio Marketplace

Connections3

README

quoted from iljapostnovs/VSCodeUI5Plugin under Apache-2.0, read
iljapostnovs/VSCodeUI5Plugin/README.mdOn GitHub

SAPUI5 Extension

TestAndBuildBadge

Any support is highly appreciated!


Check the blog to get some ideas for developing with TS!


This plugin contains perks for UI5 developers.

Before you start working with the plugin, it will be useful to set formatOnSave setting in VSCode preferences:

"editor.formatOnSave": true

As well it's recommended to install e.g. Prettier extension for JS/TS files formatting. The reason for it is described in Known issues

Make sure that you have excludeFolderPattern property set correctly for ui5parser. This property is critical if you have SAPUI5 libraries or any other sources which should not be parsed in your workspace.


v1.7.0 update

Got new XML errors with ids and event handlers? Check out UI5 Linter Readme.

Have any ideas on how to improve MeaningAssumption variable determination? Create Feature request

Summary


Configuration

VSCode extension is using UI5 Parser and UI5 Linter packages, because of that configuration is splitted into three parts:

  1. UI5 Parser configuration. Contains parser related configuration, e.g. UI5 Version, URL for standard library metadata preload, exclude folder patterns etc. Configuration can be done in package.json or any of rc file types, e.g. .ui5pluginrc.

Important! If ui5parser related entries were changed in the package.json or any other rc file, VSCode should be reloaded manually

  1. UI5 Linter configuration. Contains linting related configuration, e.g. linter exceptions, severity, usage etc. Configuration can be done in package.json or any of rc file types, e.g. .ui5pluginrc.
  2. VSCode preference entries. Contains VSCode specific configuration.
VSCode PreferenceDescription
ui5.plugin.jsCodeLensShould javascript CodeLens be enabled
ui5.plugin.jsReferenceCodeLensShould javascript Reference CodeLens be enabled
ui5.plugin.xmlCodeLensShould xml CodeLens be enabled
ui5.plugin.propertiesCodeLensShould properties CodeLens be enabled
ui5.plugin.signatureHelpShould UI5 Signature Help be enabled
ui5.plugin.moveDefineToFunctionParametersOnAutocompleteShould sap.ui.define class names be moved to function parameters on sap.ui.define autocomplition
ui5.plugin.codeGeneratorStrategyStrategy which should be used for code generation. E.g. you will get 'var' with ES5 strategy and 'let' with ES6 strategy when using override completion items.
ui5.plugin.UMLDiagramGenerationStrategyWhich format should be used for UML diagram generation
ui5.plugin.addI18nTextLengthLimitationShould text length be added to i18n text id (e.g. #YMSG,14)
ui5.plugin.textTransformationStrategyCase type which should be used for i18n text id proposal
ui5.plugin.askUserToConfirmI18nIdShould user confirm proposed i18n id
ui5.plugin.addInheritedPropertiesAndAggregationsShould inherited properties/aggregations be added in XML completion items
ui5.plugin.addTagAttributesShould tag attributes be added in XML completion items
ui5.plugin.addTagAggregationsShould tag aggregations be added in XML completion items
ui5.plugin.tsEventModuleEvent module for Typescript, which will be used when creating event handler from XML
ui5.plugin.tsEventTypeEvent type for Typescript, which will be used when creating event handler from XML. (e.g. type of sap/ui/base/Event is Event).
ui5.plugin.insertManagedObjectModuleModule which will be used for automatic insertion on custom class creation
ui5.plugin.insertControllerModuleModule which will be used for automatic insertion on custom controller creation
ui5.plugin.xmlFormatterTagEndingNewlineShould XML Formatter put tag ending (">", "/>") in newline
ui5.plugin.xmlFormatterSpaceAfterSelfTagEndShould XML Formatter leave a space between the last attribute and the self tag end ("/>")
ui5.plugin.umlGenerationPathPath for file generated by UI5: Generate UML Class diagram for whole project command. Relative to project folder. Example: ../diagram/ClassDiagram.pu
ui5.plugin.XMLFileInterfacePathPath for file generated by UI5: (TS) Generate types for XML files (id to class mapping) command. Relative to project folder. Example: ./types/ViewFragmentIds.d.ts
ui5.plugin.generateXMLFileInterfacesOnSaveShould UI5: (TS) Generate types for XML files (id to class mapping) command be executed on XML file save or not. Works only if ui5.plugin.XMLFileInterfacePath is set. Works only for TS projects.
ui5.plugin.TSODataInterfacesPathPath for file generated by UI5: (TS) Generate interfaces for OData entities command. Relative to project folder. Example: ./types/ODataTypes.d.ts
ui5.plugin.TSODataInterfacesFetchingDataURL, username and password for UI5: (TS) Generate interfaces for OData entities command.
ui5.plugin.massTSODataInterfacesFetchingDataArray of URL, username and password for UI5: (TS) Generate interfaces for OData entities command (Mass).
ui5.plugin.ERDiagramPathPath for file generated by UI5: Generate ER diagram from metadata.xml command. Relative to project folder. Example: ../diagram/ERDiagram.pu
ui5.plugin.JSTypeDefDocPathPath for file generated by UI5: Generate JS typedef JSDoc from metadata command. Relative to project folder. Example: ./model/ModelTypedef.js
ui5.plugin.globalConfigurationPathAbsolute path to global any_file.json configuration file, which is used by UI5 Parser and UI5 Linter. Priority of ui5 config determination: local package.json -> global any_file.json -> default value. Example: C:\\Users\\MyUser\\Documents\\ui5config.json
ui5.plugin.idGenerationFormulaFormula for id generation.
ui5.plugin.eventHandlerGenerationFormulaFormula for event handler name generation.
ui5.plugin.generateIdsCommandDataData for ui5plugin.generateIds command. Contains array of classes to be excluded from ID generation and a flag if IDs should be generated for Elements as well, or for Controls only
ui5.plugin.bulkExportToi18nCommandDataData for ui5plugin.bulkExportToi18n command. Contains data about which proprties should be exported to i18n.only

Completion Items

XML

XML Completion Items for UI5 Controls.

Related preference entries:
ui5.plugin.addInheritedPropertiesAndAggregations
ui5.plugin.addTagAttributes
ui5.plugin.addTagAggregations
ui5.plugin.idGenerationFormula
_ui5.plugin.eventHandlerGenerationFormula

XMLCompletionItems
XML Completion Items for properties, aggregations, associations and events
DynamicXMLCompletionItems

JS/TS
sap.ui.define

Strings for import in sap.ui.define are provided.
UIDefine

Control ID Completion Items

IDs from the corresponding view of the controller are provided for view.byId or controller.byId method
GetView

Dynamic Completion Items

Completion items which are generated dynamically depending on current variable type or method return value type. Trigger character - dot.
DynamicCompletionItems

Manifest.json

Schema for manifest.json properties is provided.

ManifestCompletionItems


Method Definitions

Definitions for custom methods are provided.

Hotkey: Ctrl + Left Click

Definition


XML Event Handler Definitions

Definitions for event handlers are provided.

Hotkey: Ctrl + Left Click

Definition


CodeLens

CodeLens for Internalization Texts (translations), overriden methods, event handlers and member references is provided DynamicCompletionItems

Related preference entries:
ui5.plugin.jsCodeLens
ui5.plugin.jsReferenceCodeLens
ui5.plugin.xmlCodeLens
ui5.plugin.propertiesCodeLens


XML Diagnostics

See UI5 Linter for reference

DynamicCompletionItems


JS/TS Diagnostics

See UI5 Linter for reference

DynamicCompletionItems


Properties (i18n) Diagnostics

See UI5 Linter for reference


Code Action Provider

Code Actions for UI5 modules import and inserting non-existent methods in .js/.ts files are provided.
Code Actions for creating event handlers in controllers from xml views/fragments are provided.
Code Action for renaming event handlers from xml views/fragments is provided.

Hotkey: Alt + Enter

CodeActionsProvider CreateMethodCodeActionsProvider

Helpful for TS! Check out ui5.plugin.tsEventType preference entry. Handy if UI5 Version 1.115.1+ is used, because the preference entry can be changed to {tsEvent}, in such case the correct event will be added automatically. Example: ListBase$SelectionChangeEvent will be generated, if Create method action will be selected on non existant event handler in XML view sap.m.List -> selectionChange event

Image

Image

Related preference entries:
ui5.plugin.tsEventModule
ui5.plugin.tsEventType


JS and XML Hover Provider

Information on hover is provided.

HoverProvider


XML Formatter

XML Formatter is available.

XMLFormatter

Related preference entries: ui5.plugin.xmlFormatterTagEndingNewline
ui5.plugin.xmlFormatterSpaceAfterSelfTagEnd


JS/TS Rename Provider

Rename provider for js/ts is provided.
The provider renames all references to the class for JS projects, and all references for the views/fragments for both TS/JS projects.

JSRenameProvider


Commands


Move sap.ui.define to parameters

Hotkey: F5

Related preference entries: ui5.plugin.moveDefineToFunctionParametersOnAutocomplete

UIDefine


Export to i18n

Set your position to the string you want to export to i18n.properties file and execute command. Works both in XML and JS files.

Info! If there is no selection, whole string will be exported. If there is a selection, only the selected part of the string will be exported.

this.getBundle() method which returns ResourceBundle should be defined in Controller/BaseController

Related preference entries:
ui5.plugin.askUserToConfirmI18nId
ui5.plugin.addI18nTextLengthLimitation
ui5.plugin.textTransformationStrategy

Hotkey: F4

ExportToI18n


Export to i18n (bulk)

Open view or fragment and execute command. Works for XML files only.

Important! There is no info provided by SAP regarding which property should be exportable to i18n, that is why it is not possible to fully automate this process. This command exports only properties, which are configured to be exported. If there are some properties which are not exported, but should be, it is possible to adjust ui5.plugin.bulkExportToi18nCommandData VSCode preference entry. If you find yourself editing the preference entry, please open a ticket in github and share what was added, so it could be included into default value and work for everyone.

Related preference entries:
ui5.plugin.bulkExportToi18nCommandData

BulkExportToI18NCommand


Switch View/Controller

Goes to view from controller and to controller from view
If somebody uses MVC, the command actually switches between Model (Default model, which is set as this.getView().setModel(oModel) in the controller) View and Controller

For TS projects it is possible to add @ui5model JSDoc to the class, which should have a class name of the model to which the command will switch to. It will improve the performance issue, because reading type of default model might take seconds. Example:

/**
 * My Controller JSDoc
 * @ui5model {com.test.mvc.master.model.MyMasterModel}
 */

Hotkey: F3

SwitchViewController


Insert Custom Class name

Inserts the class name into current position

Hotkey: F6

InsertCustomClassNameCommand


Clear Cache

Clears cache with SAPUI5 lib metadata


UML Class Diagram generation

UML Class diagram generates for the project of the currently opened file.

Command name: UI5: Generate UML Class diagram for whole project

Also it is possible to generate ER diagram for opened metadata.xml file.

There are two ways to generate ER diagram:

  • Open metadata.xml file, execute command UI5: Generate ER diagram from metadata.xml
  • Execute command UI5: Generate ER diagram from metadata.xml and enter url to metadata.xml

It is possible to select in preferences which type of diagram to generate: DrawIO or PlantUML.
However, DrawIO is not supported anymore.

Recommended VSCode extensions:
DrawIO: hediet.vscode-drawio-insiders-build
PlantUML: jebbs.plantuml

UML Diagram example:
UML.png

ER Diagram example:
ERDiagram.png Related preference entries:
ui5.plugin.umlGenerationPath


JSDoc typedef generation from metadata

There is a possibility to generate typedef JSDocs from metadata

There are two ways to generate typedefs:

  • Open metadata.xmlfile, execute command UI5: JSDoc typedef generation from metadata
  • Execute command UI5: JSDoc typedef generation from metadata and enter url to metadata.xml

Related preference entries:
ui5.plugin.JSTypeDefDocPath

GenerateJSDocTypedef.gif


(TS) Generate interfaces for XML files (id to class mapping)

There is a possibility to generate mapping TS interfaces from control id to control type

Related preference entries:
ui5.plugin.XMLFileInterfacePath
ui5.plugin.generateXMLFileInterfacesOnSave

GenerateODataInterfaces.png


(TS) Generate interfaces for OData entities

There is a possibility to generate TS interfaces for OData entities

There are two ways to generate interfaces:

  • Open metadata.xml file, execute command UI5: (TS) Generate interfaces for OData entities
  • Execute command UI5: (TS) Generate interfaces for OData entities and enter url to metadata.xml

Related preference entries:
ui5.plugin.TSODataInterfacesPath
ui5.plugin.TSODataInterfacesFetchingData

GenerateXMLToIdInterfaces.png


(TS) Generate interfaces for OData entities (Mass)

Works the same as previous command, but can be used for multiple OData models at once. ui5.plugin.massTSODataInterfacesFetchingData preference entry should be configured for this command to work.

Related preference entries:
ui5.plugin.massTSODataInterfacesFetchingData


Generate ids for all elements in view or fragment

Command, which generates IDs for elements in views and fragments. To generate ids, open a view or fragment and execute command.

IDGenerationCommand

Related preference entries:
ui5.plugin.idGenerationFormula
ui5.plugin.generateIdsCommandData


Automatic template insertion

Inserts initial text for .js, .ts and .xml files
Extends "sap/ui/core/mvc/Controller" if file name ends with .controller.js/.controller.ts and "sap/ui/base/ManagedObject" if file name ends with .js/.ts

Hint! sap/ui/core/mvc/Controller can be changed to e.g. com/my/app/BaseController using ui5.plugin.insertManagedObjectModule preference entry

Related preference entries:
ui5.plugin.insertControllerModule
ui5.plugin.insertManagedObjectModule
> AutomaticTemplates


Automatic class name and class path renaming

Extension listens for .js/.ts file creation event (rename technically is file deletion and creation) and replaces all occurrences of class name to the new one
AutomaticClassNameReplacingOnRename


UI5 Explorer

Custom UI5 Explorer view in VSCode panel is available

  1. For JS/TS files tree view contains fields and methods
    JSTreeView

    Coloring for methods is based on lines count and references count.
    > Red color appears if there are more than 100 lines in one method
    > Orange color appears if there are more than 50 lines in one method or there are 0 references (reference count is ignored if method is overriden)
    > Green color appears for the rest of the cases

  2. For XML files tree view contains class tag list
    XMLTreeView


UI5 Project Data

Custom UI5 Project Data view in VSCode panel is available

It represents the data about the project, like UI5 Version, config path etc. It makes easier to troubleshoot the config related issues.

View is not updated automatically, in order to do that, refresh button on the top right corner should be pressed.

UI5ProjectData


Hotkeys

HotkeyCommand
Alt + EnterQuick Fix Action
F3Switch View/Controller
F4Export string to i18n
F5Move sap.ui.define imports to parameters
F6Insert custom class name

Assumptions
  • File starts with sap.ui.define (JS)
  • Your class body is in AnyUI5Class.extend("name", {here}); (JS)
  • You have manifest.json with App ID
  • App ID (Component name) and i18n paths are defined in manifest.json
  • File is without syntax errors
  • Name of the UI5Class is written accordingly to file path. (E.g. "/src/control/Text.js" => "anycomponentname.control.Text")
  • You have an access to https://ui5.sap.com for standard lib metadata preload

Proxy

If HTTP_PROXY or HTTPS_PROXY environment variables are set, https://ui5.sap.com will be requested using the proxy.


Known issues

acorn-loose

acorn-loose is used as JS parser. It has issues if you have mixed spaces and tabs. Example:

function() {
	 var oModel = this.getModel();
	var asd;
}

There is an unnecessary space before var oModel and acorn is parsing it incorrectly. As a result - the file will not be parsed as expected and you might not get JS completion items and get errors in xml views regarding wrong values for event handlers.
Keep your code clean, it will help you to have the plugin working correctly :)
It's highly recommended to set formatting on save in your VS Code preferences, it will help to avoid such issues.

"editor.formatOnSave": true

Standard VSCode JS Formatter is not handling all formatting issues. hookyqr.beautify extension did, but it got deprecated. It's highly recommended to install some kind of formatter, e.g. Prettier, and use as JS formatter.

"[javascript]": {
	"editor.defaultFormatter": "<YourFormatter>"
}

ui5.sap.com damaged JSON response

For some reason ui5.sap.com sometimes might return damaged JSON when requesting standard library metadata. As a result, it is possible to get such error as:
UIFiveError
To solve it, please run UI5: Clear cache command and reload VSCode.


Things to consider using TS

  1. If any .ts files are found and tsconfig.json is found, project is considered to be TS project
  2. src-gen folder is automatically excluded by extension if it's TS project. If build folder has different name, it should be added to folder exclusions in UI5 Parser configuration.
  3. Folder with builded resources should be added to exclusions of ui5parser. Check excludeFolderPatterns in package.json.
  4. Not all linters work for TS, because TS has a lot out of the box features. E.g. Wrong field/method linter works only for JS, because TS has it's own syntax analysis for that.
  5. ts-morph is used as TS parser and it has some drawbacks. When using typechecker to get type e.g. of the field or return type of the method, ts-morph might hang up for about ~10s, which is not great. However, types are crucial for Reference CodeLens/Linters, specifically for fields in order to be able to distinguish them in views/fragments. As a workaround for performance issues, typechecker is not used to get field types. Because of that only simple structure is allowed.

Examples which should work as expected:

export default class Random {
  formatterInstance = new Formatter(),
  formatterObject = Formatter
}

At the same time type detection will work if the type is specifically written, e.g.

formatter: Formatter = ...
  1. Disabling TS standard reference code lens should be considered. This extension contains its own reference code lens, which includes references to views and fragments.

Extension recommendations

"yaml.schemas": {
    "https://raw.githubusercontent.com/iljapostnovs/VSCodeUI5Plugin/master/schema/packageSchema.json": [
        ".ui5pluginrc.yaml",
        ".ui5pluginrc.yml"
    ]
}
  • XML to get simple syntax linting
Apache-2.0, read

History

Latest

v1.21.1

Other 2

Notes
  • Fix: OData to TS type generation to correctly convert Collections into Arrays
  • Fix: OData to TS type generation to correctly parse the Nullable property of FunctionImport parameters
  1. v1.21.0

    Other 3

    Notes
  2. v1.20.0

    Other 2

    Notes
  3. v1.19.2

    Other 2

    Notes
  4. v1.19.1

    Other 1

    Notes
    • Change Edm.Byte to int for OData to TS type generation
  5. v1.19.0

    Other 1

    Notes
    • New preference entry added: ui5.plugin.parsingDelay. It serves as a delay for parsing, which can be handy for large projects in order to gain better performance.
  6. v1.18.1

    Other 2

    Notes
  7. v1.18.0

    Other 2

    Notes
    • New preference entry introduced: eventHandlerGenerationFormula
    • New Code Action provided: event handlers renaming according to eventHandlerGenerationFormula
  8. v1.17.0

    Other 3

    Notes
    • UI5 Linter updated to v1.15.0
    • WrongOverrideLinter now checks if member is deprecated (#398)
    • Fix: UnusedClassLinter doesn't show error if any member is used outside the class (#387)
  9. v1.16.6

    Other 4

    Notes
  10. v1.16.5

    Other 4

    Notes
  11. v1.16.4

    Other 2

    Notes
  12. v1.16.3

    Other 1

    Notes
  13. v1.16.2

    Other 1

    Notes
    • Fix OData Edm types mapping to TS types
  14. v1.16.1

    Other 1

    Notes
    • Bugfix for OData parser
  15. v1.16.0

    Other 3

    Notes
    • Commands which worked with V2 OData model only now works with V4 as well
    • UI5 Parser updated to v1.6.4
    • UI5 Linter updated to v1.11.1
  16. v1.15.0

    Other 2

    Notes
    • UI5 Linter updated to v1.11.0
    • Make XML Formatter preserve newlines. (Thanks to @netux)
  17. v1.14.0

    Other 2

    Notes
    • UI5 Linter updated to v1.10.0
    • xmlFormatterSpaceAfterSelfTagEnd preference entry for XML formatter added. Readme. (Thanks to @netux)
  18. v1.13.4

    Other 2

    Notes
  19. v1.13.3

    Other 1

    Notes
    • Fix imported module name collision for (TS) Generate interfaces for XML files (id to class mapping) command
  20. v1.13.2

    Other 2

    Notes
    • XML Formatter doesn't replace " with ' in attribute value anymore for such cases as \{type: 'sap.ui.model.type.Date', formatOptions: \{UTC: true\}, constraints: \{\} \}
    • TS id to control generator command now ignores commented tags. Output is sorted now.
  21. v1.13.1

    Other 3

    Notes
  22. v1.13.0

    Other 4

    Notes
    • UI5 Parser updated to v1.6.0
    • UI5 Linter updated to v1.8.2
    • nodeProjects configuration option added. Readme
    • Minor bugfixes for XML Completion items for custom controls
  23. v1.12.1

    Other 1

    Notes
    • README.md updated
  24. v1.12.0

    Other 2

    Notes
    • New command added: ui5plugin.bulkExportToi18n Readme
    • New preference entry added: ui5.plugin.bulkExportToi18nCommandData
  25. v1.11.1

    Other 1

    Notes
    • XML attribute completion items now are filtered by usage. If attribute already exists, no completion item will be shown for it.
  26. v1.11.0

    Other 6

    Notes
    • UI5 Linter updated to v1.8.1
    • TagAttributeDefaultValueLinter configuration entry added. Readme
    • EventTypeLinter added. Readme
    • New command introduced: ui5plugin.generateIds.
    • New preference entries introduced: ui5.plugin.idGenerationFormula, ui5.plugin.generateIdsCommandData (Configuration Readme)
    • XML Formatter no longer replaces double backslash with single backslash
  27. v1.10.1

    Other 1

    Notes
    • sap/ui/base/Event is not automatically imported anymore if tsEvent variable is added to ui5.plugin.tsEventType preference entry
  28. v1.10.0

    Other 4

    Notes
    • tsEvent variable added to ui5.plugin.tsEventType preference entry. Handy if UI5 Version 1.115.1+ is used, because the preference entry can be changed to {tsEvent}, and then the necessary event will be added automatically. Comes as a replacement for tsEvent variable. (Check UI5 Type Definitions release notes)
    • UI5 Project Data view added
    • UI5 Parser updated to v1.5.6
    • UI5 Linter updated to v1.7.6
  29. v1.9.1

    Other 2

    Notes
  30. v1.9.0

    Other 4

    Notes
    • tsEventParameters variable added to ui5.plugin.tsEventType preference entry. Handy if UI5 Version 1.115.0+ is used, because the preference entry can be changed to Event<{tsEventParameters}>, and then the necessary generic for event parameters will be added automatically.

      Example: Event<$ListBaseSelectionChangeEventParameters> will be generated, if Create method action will be selected on non existant event handler in XML view sap.m.List -> selectionChange event Image > Image

    • Typescript version updated to 5.1.3
    • UI5 Parser updated to v1.5.4
    • UI5 Linter updated to v1.7.4
  31. v1.8.2

    Other 1

    Notes
    • Migrate rc file handler back to rc-config-loader to webpack compatible version
  32. v1.8.1

    Other 1

    Notes
    • Migrate rc file handler to cosmiconfig
  33. v1.8.0

    Other 3

    Notes
  34. v1.7.2

    Other 2

    Notes
    • UI5 Linter updated to v1.6.4
    • Bugfix for empty id pattern
  35. v1.7.1

    Other 1

    Notes
    • Fix package JSON schema
  36. v1.7.0

    Other 5

    Notes
    • UI5 Parser updated to v1.4.6
    • UI5 Linter updated to v1.6.2
    • XML attribute linter enhanced with id and event handler naming style check
    • ui5ignore-patterns in XML files added for ignoring naming style errors
    • ui5ignore in XML files now supports specific attribute ignoring
  37. v1.6.1

    Other 2

    Notes
    • UI5 Parser updated to v1.4.4
    • Bugfix for links in hover providers
  38. v1.6.0

    Other 5

    Notes
    • UI5 Parser updated to v1.4.3
    • UI5 Linter updated to v1.5.2
    • Bugfix for linter not taking into account jsClassesToExclude for TS projects
    • propertiesLinterExceptions added to ui5linter configuration
    • @ui5ignore is now supported in i18n.properties
  39. v1.5.1

    Other 1

    Notes
    • Fix XML completion items prefilled with "sc" (#326)
  40. v1.5.0

    Other 2

    Notes
    • JS Reference CodeLens now shows references for class fields as well
    • Export to i18n command now export either full string if there is no selection, or only selected part of the string
  41. v1.4.0

    Other 6

    Notes
    • Fixed rename provider for TS
    • Now .properties file has reference CodeLens
    • New preference entry: ui5.plugin.propertiesCodeLens
    • Parsing of .properties file migrated to properties-file package (#322)
    • UI5 Parser updated to v1.4.0
    • UI5 Linter updated to v1.4.0
  42. v1.3.0

    Other 5

    Notes
    • Fix HTML markdown support for hover and completion items
    • Fix XML completion items for fragmentName of Fragments
    • Add Special Setting support
    • UI5 Parser updated to v1.3.0
    • UI5 Linter updated to v1.3.0
  43. v1.2.1

    Other 1

    Notes
    • Fix switch between MVC commands @ui5model tag support
  44. v1.2.0

    Other 9

    Notes
    • Improved logic for code generator commands (such as TS Interface generators, UML diagram generators, Typedef generators etc.), now the choice for which project command should be executed will be either project of active selected document, or selected by user. Now the logic looks as follows:
    1.  Get currently opened document
    2.  Get parser instance for opened document
    3.  If parser doesn't exist or no document are open, get all parser instances.
    4.  If there is only one parser instance, it will be used automatically
    5.  If there are more than 1 parser instance, user prompt will be triggered
    
    • additionalWorkspaces in package.json now supports absolute path
    • @ui5model, @abstract jsdoc support for classes added. @ui5model can be used as class JSDoc, useful for TS projects to overcome performance issues for switching between MVC
    • Hover providers now supports HTML format
    • Completion item generation for sap standard library related variables fixed (e.g. there were no completion items for sap.ui.getCore())
    • Support for additional ESTree nodes added for JS projects: ChainExpression, ArrayPattern, ForOfStatement, AssignmentPattern
    • Fixed byId method exception support for JS projects with new UI5 library versions which returns sap.ui.core.Element|undefined instead of old sap.ui.core.Element
    • UI5 Parser updated to v1.2.3
    • UI5 Linter updated to v1.2.3
  45. v1.1.1

    Other 1

    Notes
    • i18n extraction allows setting i18n path in 'sap.app.i18n' and 'sap.app.i18n.bundleUrl'
  46. v1.1.0

    Other 4

    Notes
    • New command added: UI5: (TS) Generate interfaces for OData entities (Mass)
    • New preference entry added: ui5.plugin.massTSODataInterfacesFetchingData
    • Duplicate Translation Linter added to properties linters
    • Global config handler added: ui5.plugin.globalConfigurationPath
  47. v1.0.1

    Other 1

    Notes
    • Error messages now shows if commands failed to execute
  48. v1.0.0

    Other 10

    Notes
    • UI5 Parser updated to v1.0.0
    • UI5 Linter updated to v1.0.0
    • JSON schema for UI5 Parser and Linter entries in package.json added
    • UI5 Parser related VSCode preference entries removed, now they are controlled through package.json
    • New VSCode preference entries added, now all code generators allows to adjust the path where the files will be saved relative to UI5 Project workspace: ui5.plugin.umlGenerationPath,ui5.plugin.XMLFileInterfacePath,ui5.plugin.TSODataInterfacesPath,ui5.plugin.ERDiagramPath,ui5.plugin.JSTypeDefDocPath
    • New VSCode preference entry added for listening XML file changes and generating XML control id to class mapping automatically: ui5.plugin.generateXMLFileInterfacesOnSave.
    • New VSCode preference added for setting the data for ui5plugin.generateTSXMLFileInterfaces command. Entry: ui5.plugin.TSODataInterfacesFetchingData, which allows to define username, password and url for metadata loading.
    • Typescript updated to v5.0.2
    • webapp folder is not automatically excluded from reading for TS projects anymore
    • Export string to i18n doesn't add additional translation if it already exists in i18n.properties
  49. v0.15.11

    Other 1

    Notes
  50. v0.15.10

    Other 1

    Notes
    • Update readme.md
  51. v0.15.9

    Other 1

    Notes
    • Fix xml parser #291
  52. v0.15.8

    Other 1

    Notes
    • Fix for Clear cache command, which was not working when UI5 library metadata preload failed
  53. v0.15.7

    Other 1

    Notes
  54. v0.15.6

    Other 1

    Notes
    • UI5Parser updated
  55. v0.15.5

    Other 3

    Notes
    • Navigation data to OData TS interface generation added
    • New preferences entry added: ui5.plugin.xmlFormatterTagEndingNewline
    • UI5Parser updated
  56. v0.15.4

    Other 1

    Notes
    • Update packages. Now parser checks both for .ts files and tsconfig.json existence
  57. v0.15.3

    Other 1

    Notes
    • ER Diagram generation from metadata now generates navigations to both ways (previously only "from" -> "to" navigation arrow was generated, now "to" -> "from" persists as well).
  58. v0.15.2

    Other 1

    Notes
    • Update parser and linter. Minor bugfixes.
  59. v0.15.1

    Other 1

    Notes
    • Fix #264, fix unused translations linter
  60. v0.15.0

    Other 1

    Notes
    • Introduce Typescript support
  61. v0.14.35

    Other 1

    Notes
    • OData interface generator now generates interface for entity set data
  62. v0.14.34

    Other 1

    Notes
    • XML ID -> Control interface generator bugfix
  63. v0.14.33

    Other 1

    Notes
    • OData interface generator bugfix
  64. v0.14.32

    Other 1

    Notes
    • Add typescript interface generation for OData entities and id to type mapping in views and fragments
  65. v0.14.31

    Other 1

    Notes
    • Change default UI5 Version to 1.84.28 (#255)
  66. v0.14.30

    Other 1

    Notes
  67. v0.14.29

    Other 1

    Notes
    • Fix ui5 version regex
  68. v0.14.28

    Other 1

    Notes
    • JS template inserter now works only inside UI5 project
  69. v0.14.27

    Other 1

    Notes
    • Fix metadata parsing
  70. v0.14.26

    Other 1

    Notes
    • Update ui5-linter, fix cmd support
  71. v0.14.25

    Other 1

    Notes
    • Update ui5-linter, adjusted linting logic for event handlers starting with "cmd"
  72. v0.14.24

    Other 1

    Notes
    • Update ui5-linter
  73. v0.14.23

    Other 1

    Notes
    • Update ui5-linter, bugfix for multiple types linting
  74. v0.14.22

    Other 1

    Notes
    • Update ui5-linter, add Component.js as default exception
  75. v0.14.21

    Other 1

    Notes
    • Update ui5-linter
  76. v0.14.20

    Other 1

    Notes
  77. v0.14.19

    Other 1

    Notes
    • XML Hover provider improvements, now property value hovers also works with parent class properties
  78. v0.14.18

    Other 2

    Notes
    • XML Hover provider improvements, now it shows descriptions for attribute values
    • JS Code actions provider improvements, now method inserter also inserts parameters
  79. v0.14.17

    Other 1

    Notes
    • Update ui5linter
  80. v0.14.16

    Other 1

    Notes
    • Update dependencies
  81. v0.14.15

    Other 1

    Notes
    • Class import action bugfixes
  82. v0.14.14

    Other 2

    Notes
    • Class import action bugfixes
    • XML Formatter bugfixes
  83. v0.14.13

    Other 1

    Notes
    • JS Class Completion items now shows if expression statement starts with upper case character or with "new" keyword
  84. v0.14.12

    Other 1

    Notes
    • Make event handlers to respect JSDocs
  85. v0.14.11

    Other 1

    Notes
    • Update ui5linter and ui5parser
  86. v0.14.10

    Other 1

    Notes
    • Update linter and parser
  87. v0.14.9

    Other 1

    Notes
    • XMLFormatter bugfixes
  88. v0.14.8

    Other 1

    Notes
    • Update linter and parser
  89. v0.14.7

    Other 1

    Notes
    • Update linter, now deprecation linter honors exceptions
  90. v0.14.6

    Other 1

    Notes
    • Update linter, now it checks for deprecated members
  91. v0.14.5

    Other 1

    Notes
    • Fix for reference linter
  92. v0.14.4

    Other 1

    Notes
    • Fix parsing of byId method
  93. v0.14.3

    Other 1

    Notes
    • New command introduced: "UI5: Generate JS typedef JSDoc from metadata". Now you can generate typedef JSDoc from metadata.
  94. v0.14.2

    Other 1

    Notes
    • Update parser
  95. v0.14.1

    Other 1

    Notes
    • Update dependencies
  96. v0.14.0

    Other 1

    Notes
    • Migrating to ui5plugin-linter and ui5plugin-parser
  97. v0.12.77

    Other 1

    Notes
    • Minor bugfixes
  98. v0.12.76

    Other 2

    Notes
    • XML formatter improvements, now it formats the attribute value
    • Bugfixes for unused member linter and public member linter
  99. v0.12.75

    Other 1

    Notes
    • Method insertion position bugfixes
  100. v0.12.74

    Other 1

    Notes
    • Bugfixes
  101. v0.12.73

    Other 1

    Notes
    • Bugfixes in position determination
  102. v0.12.72

    Other 1

    Notes
    • UI5 Parser bugfix
  103. v0.12.71

    Other 4

    Notes
    • Bugfixes
    • Two preference entries added: ui5.plugin.addTagAttributes and ui5.plugin.addTagAggregations
    • XML Completion items doesn't generate comments about aggregation type anymore
    • Default value for ui5.plugin.addInheritedPropertiesAndAggregations preference entry is changed to false
  104. v0.12.70

    Other 1

    Notes
    • Bugfix for i18n properties file parsing
  105. v0.12.69

    Other 2

    Notes
    • Bugfixes for Wrong filepath linter.
    • Support for typedef jsdoc tag added
  106. v0.12.68

    Other 1

    Notes
    • Add support for @ui5ignore comment in xml files
  107. v0.12.67

    Other 1

    Notes
    • Add support of static event handlers in views/fragments
  108. v0.12.66

    Other 1

    Notes
    • Bugfixes
  109. v0.12.65

    Other 2

    Notes
    • Interface linter introduced
    • Ignore access level modifiers property removed. Access level modifiers should always be taking into account.
  110. v0.12.64

    Other 1

    Notes
    • Refactoring and bugfixes
  111. v0.12.63

    Other 2

    Notes
    • Refactoring
    • Fix comment parsing in XML
  112. v0.12.62

    Other 1

    Notes
    • Update readme
  113. v0.12.61

    Other 1

    Notes
    • Bugfixes
  114. v0.12.60

    Other 2

    Notes
    • Bugfixes
    • Unused properties linter added for .properties files
  115. v0.12.59

    Other 1

    Notes
    • Bugfixes
  116. v0.12.58

    Other 1

    Notes
    • ER diagram complex types are now located separately from fields
  117. v0.12.57

    Other 1

    Notes
    • ER diagram fields are now set always defined as fields
  118. v0.12.56

    Other 1

    Notes
    • Tree view for fragments and view is now hierarchical
  119. v0.12.55

    Other 2

    Notes
    • Entity set names and navigation names added to the PlantUML ER diagram
    • Now it is possible to provide source for metadata.xml via url
  120. v0.12.54

    Other 1

    Notes
    • Bugfix for tree view
  121. v0.12.53

    Other 1

    Notes
    • ER diagram generation bugfix
  122. v0.12.52

    Other 2

    Notes
    • PlantUML diagram generation improvements
    • Now there is possibility to generate ER PlantUML diagram for opened metadata.xml file
  123. v0.12.51

    Other 2

    Notes
    • Add support for spread element
    • Improve dependency detection for PlantUML. Also views and fragments are added to the UML diagram as well
  124. v0.12.50

    Other 2

    Notes
    • Now it is possible to generate PlantUML diagram
    • Abstract class linter introduced
  125. v0.12.49

    Other 3

    Notes
    • Now it is possible to ctrl+click on overriden method to go to the parent implementation
    • UI5 Explorer introduced
    • Bugfixes
  126. v0.12.48

    Other 2

    Notes
    • Update default folder exclude patterns
    • Reference code lens introduced
  127. v0.12.47

    Other 1

    Notes
    • Add protected member support for UML Diagram generation
  128. v0.12.46

    Other 1

    Notes
    • Add parsing of async await
  129. v0.12.45

    Other 3

    Notes
    • Bugfixes
    • XML Formatter now formats empty class tags. E.g. <Button></Button> -> <Button/>
    • XML Attribute linter now checks if entered value is the same as default value
  130. v0.12.44

    Other 2

    Notes
    • Added support for @ui5ignore JSDoc tag, which will make ignore errors of Unused Member, Public Member, Wrong Field/Method linters.
    • New preference entry introduced: ui5.plugin.codeGeneratorStrategy
  131. v0.12.43

    Other 1

    Notes
    • Bugfix for JS completion items
  132. v0.12.42

    Other 2

    Notes
    • Added error message for failed http requests
    • Bugfixes for file/folder rename handler
  133. v0.12.41

    Other 1

    Notes
    • JS Rename provider fix
  134. v0.12.40

    Other 1

    Notes
    • XML file path linter now also checks for classes
  135. v0.12.39

    Other 4

    Notes
    • Bugfixes
    • Wrong file path linter also added for XML Linter
    • Now you can control-click on fragment/view names to navigate into them
    • Now you can control-click on id of control to navigate into view/fragment
  136. v0.12.38

    Other 3

    Notes
    • Added support for fragments defined in manifest extensions
    • Improve detecting of function used in XML files
    • JS Rename now also renames event handlers in XML files
  137. v0.12.37

    Other 2

    Notes
    • Refactoring
    • Information message added if manifest reading is too slow or there are too much manifests found
  138. v0.12.36

    Other 2

    Notes
    • node_modules and dist added to default exclusions
    • ui5.plugin.excludeFolderPattern is now an array
  139. v0.12.35

    Other 1

    Notes
    • ui5.plugin.excludeFolderPattern preference entry introduced
  140. v0.12.34

    Other 1

    Notes
    • Bugfixes and performance improvements
  141. v0.12.33

    Other 1

    Notes
    • Bugfixes and performance improvements
  142. v0.12.32

    Other 4

    Notes
    • Breaking (hopefully not really) change: Source folder preference entry removed, now plugin searches for manifest.json files and sets the namespaces relative to them using the id.
    • Change XML completion items insert range
    • Class completion items for JS Completion items introduced
    • Bugfixes
  143. v0.12.31

    Other 1

    Notes
    • DOM event handlers added to exceptions for JS linters
  144. v0.12.30

    Other 1

    Notes
    • Wrong override linter introduced
  145. v0.12.29

    Other 1

    Notes
    • Remove unnecessary console logs
  146. v0.12.28

    Other 1

    Notes
    • FileWatcher bugfixes
  147. v0.12.27

    Other 2

    Notes
    • File rename handler introduced. Now you can rename methods/fields.
    • Bugfixes
  148. v0.12.26

    Other 3

    Notes
    • Bugfixes
    • Public member linter introduced
    • Unused method linter now is replaced with unused member linter, which also checks fields
  149. v0.12.25

    Other 1

    Notes
    • Bugfixes
  150. v0.12.24

    Other 1

    Notes
    • Bugfixes
  151. v0.12.23

    Other 2

    Notes
    • Bugfixes
    • New field added to JSLinterExceptions property - applyToChildren
  152. v0.12.22

    Other 1

    Notes
    • Bugfixes
  153. v0.12.21

    Other 1

    Notes
    • Fix JS Linter exceptions for Wrong Parameters Linter
  154. v0.12.20

    Other 1

    Notes
    • Update default JSLinter exceptions
  155. v0.12.19

    Other 1

    Notes
    • Update readme
  156. v0.12.18

    Other 1

    Notes
    • Bugfixes
  157. v0.12.17

    Other 1

    Notes
    • Bugfixes
  158. v0.12.16

    Other 3

    Notes
    • Support for controller extensions in manifest added
    • Completion items for overriding methods/fields added
    • Data types to JS method parameters Hover added
  159. v0.12.15

    Other 1

    Notes
    • Update keywords
  160. v0.12.14

    Other 1

    Notes
    • Bugfixes
  161. v0.12.13

    Other 1

    Notes
    • Wrong File Path JS Linter added
  162. v0.12.12

    Other 1

    Notes
    • Bugfixes
  163. v0.12.11

    Other 1

    Notes
    • Bugfixes
  164. v0.12.10

    Other 1

    Notes
    • Add @type JSDoc support for variable declarations
  165. v0.12.9

    Other 1

    Notes
    • Fix #98 issue
  166. v0.12.8

    Other 1

    Notes
    • Bugfixes
  167. v0.12.7

    Other 1

    Notes
    • Bugfixes
  168. v0.12.5

    Other 1

    Notes
    • Bugfixes
  169. v0.12.4

    Other 1

    Notes
    • Bugfixes
  170. v0.12.3

    Other 1

    Notes
    • Bugfixes
  171. v0.12.2

    Other 1

    Notes
    • Bugfixes
  172. v0.12.1

    Other 1

    Notes
    • Bugfixes
  173. v0.12.0

    Other 8

    Notes
    • Bugfixes
    • Performance improvements for XML and JS linting
    • Code Actions for adding methods in custom class if they doesn't exist added
    • Support for relative path import in SAP UI Define added
    • JS Code lens for event handlers added
    • Switch view controller now works for fragments and classes with first file where the fragment name was used
    • XML Definition provider for event handlers added
    • New VS Code settings added
  174. v0.11.12

    Other 1

    Notes
    • Bugfixes
  175. v0.11.11

    Other 1

    Notes
    • Bugfixes
  176. v0.11.10

    Other 2

    Notes
    • Wrong SAP UI Define import linting added
    • Bugfixes
  177. v0.11.9

    Other 1

    Notes
    • Sync JS and XML diagnostics with file renaming/deletion
  178. v0.11.8

    Other 2

    Notes
    • @type JSDoc tag support for class fields
    • Bugfixes for JS hover provider
  179. v0.11.7

    Other 2

    Notes
    • Bugfixes
    • JS Diagnostics introduced
  180. v0.11.6

    Other 1

    Notes
    • Bugfixes
  181. v0.11.5

    Other 3

    Notes
    • Bugfixes
    • Code Action for XML added. Now you can add missing event handler to the controller out of the view
    • Completion items for event parameter names added
  182. v0.11.4

    Other 1

    Notes
    • Performance improvements for large files
  183. v0.11.3

    Other 1

    Notes
    • Performance improvements for large files
  184. v0.11.2

    Other 1

    Notes
    • Bugfixes
  185. v0.11.1

    Other 1

    Notes
    • Bugfixes
  186. v0.11.0

    Other 4

    Notes
    • XML and JS Hover Provider introduced
    • XML formatter introduced
    • Completion items for methods now contains description
    • Bugfixes
  187. v0.10.9

    Other 3

    Notes
    • JS Completion items for first paramether of array methods (map, forEach, filter, find) introduced
    • Data types are now added depending on hungarian notation as well
    • Bugfixes
  188. v0.10.8

    Other 2

    Notes
    • Projects that has a namespaces starting with "sap." now works fine as well
    • Bugfixes for XML completion items
  189. v0.10.7

    Other 2

    Notes
    • XML aggregation completion items are now merged with completion items of default aggregation type
    • Bugfixes
  190. v0.10.4

    Other 4

    Notes
    • Automatic template insertion for .xml files added
    • Bugfixes
    • XML Completion items for custom controls added
    • rejectUnauthorized setting added
  191. v0.10.3

    Other 4

    Notes
    • Code Actions for JS added. Now you can import variables to sap.ui.define.
    • Hotkeys for commands added
    • Schema for manifest.json added
    • JS Code Lens for i18n texts added
  192. v0.10.2

    Other 1

    Notes
    • Bugfixes for js and xml parsing
  193. v0.10.0

    Other 2

    Notes
    • Acorn-loose is now used as JS parser
    • Bugfixes
  194. v0.9.8

    Other 3

    Notes
    • Bugfixes
    • XML Linting now checks for unused namespaces
    • UI5 Metadata source URL can now be configured
  195. v0.9.7

    Other 2

    Notes
    • Bugfixes for XML Linting
    • UML Class Generation for .js files added
  196. v0.9.6

    Other 1

    Notes
    • Bugfix for multiple workspaces, when there are multiple apps with same component name begining (thanks to @CarlosOrozco88)
  197. v0.9.5

    Other 1

    Notes
    • Bugfix for XML Linting and View -> Controller switching issues (thanks to @jeremies)
  198. v0.9.4

    Other 1

    Notes
    • Bugfixes
  199. v0.9.3

    Other 4

    Notes
    • For convenience purposes now check for two source folders is supported: source folder from preferences ("src" as default) and webapp, if any is found - it will be used as source folder automatically.
    • For "Export to i18n" command there is a list of text types to choose from
    • For "Export to i18n" command three configuration options were added
    • Bugfixes
  200. v0.9.2

    Other 2

    Notes
    • Bugfixes for automatic file renaming on unix-like OS
    • Bugfix for definition provider
  201. v0.9.1

    Other 2

    Notes
    • Bugfixes for unix-like OS
    • Bugfixes for XML Linting
  202. v0.9.0

    Other 7

    Notes
    • Method and constructor Signature Helper is added.
    • Custom class Method Completion Items now are generated using custom defined metadata, meaning that all property/event/aggregation/association methods will also be suggested.
    • Now classes that returns objects only ("static classes", map of functions, usually formatters) are also recognized.
    • XML linting is implemented. Now attribute values are validated.
    • Improved parsing for custom classes. Now Class.prototype.method and Class.method are parsed as well.
    • Bugfixes and refactoring
    • CodeLens for i18n texts in xml introduced
  203. v0.8.7

    Other 1

    Notes
    • Improvements for version support. Now UI5 1.73.1 should be working.
  204. v0.8.6

    Other 2

    Notes
    • Bugfixes for xml completion items
    • Added value helps for properties which has enum values for xml files
  205. v0.8.5

    Other 4

    Notes
    • Bugfixes
    • Added parsing of destructured objects in function params
    • Performance improvement for initial completion item generating
    • Dynamic completion items for XML views added. Now autocomplition works for properties and events.
  206. v0.8.4

    Other 2

    Notes
    • Bugfixes
    • Moving params of sap.ui.define is more trustworthy now
  207. v0.8.3

    Other 2

    Notes
    • Proxy support is added. Now ui5.sap.com will be requested using environment variables https_proxy or http_proxy, if there are any.
    • Now everything what is loaded from ui5.sap.com is cached.
  208. v0.8.2

    Other 2

    Notes
    • Bugfixes
    • Opening of the standard library documentation now happens on "Go to type definition" command instead of "Go to definition"
  209. v0.8.1

    Other 1

    Notes
    • Bugfixes
  210. v0.8.0

    Other 2

    Notes
    • Method definition finder now opens new tab in the browser with documentation for the standard sapui5 methods
    • Dynamic completion items now works with method return data type
  211. v0.7.0

    Other 5

    Notes
    • "Insert Custom Class name" command added
    • Now code templates are automatically added to new .js files
    • Now on file renaming all occurrences of previous class name are replaced with new class name (for now works for .js files only)
    • Bugfixes for method definition finder
    • Partial support for ES6 added
  212. v0.6.1

    Other 3

    Notes
    • Patch with bugfixes
    • Add support of Completion item generation depending on this.byId (previously worked with this.getView().byId only)
    • Now the extension is initialized only if there is manifest.json found in the workspace
  213. v0.6.0

    Other 2

    Notes
    • Added support of "Go to Definition" for custom methods
    • Minor bugfixes and major code refactoring
  214. v0.5.0

    Other 1

    Notes
    • Initial version of the extension pack
Linting
  1. @cbs-consulting/cds-eslintESLint plugin with one consultancy's rules for CDS filesfrom CAP
  2. @cbs-consulting/toolsShared ESLint configuration for SAPUI5 and CAP projectsfrom CAP
  3. ui5plugin-linterCommand-line linter for UI5 classes, XML views and i18n filesfrom UI5
  4. eslint-plugin-better-cap-configESLint rules flagging deprecated CAP configurationfrom CAP
  5. hana-linterRegex naming rules for SAP HANA artifacts in a CAP projectfrom CAP
  6. @sap/eslint-plugin-cdsSAP's ESLint plugin for CDSfrom CAP
  7. @sap-ux/eslint-plugin-fiori-toolsESLint rules for projects the Fiori tools generators producefrom CAP
  8. vscode-ui5-language-assistantVS Code extension for SAPUI5 and OpenUI5 XML views and manifestfrom UI5
  9. @satiroglu/kaevRule-based checker for SAPUI5 and OpenUI5 projectsfrom UI5
  10. @ui5/linterStatic analysis tool for UI5 projectsfrom UI5

Details

Sources3
Added by handdiscovered herechecked
github.com/iljapostnovs/VSCodeUI5Plugintree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
releases and cadence0
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainui5, developer-experience
Contributors3

From the repository’s contributor list, .

History in the atlas2
  1. Listed on bestofui5.org as ui5plugin and not yet in the atlas. Read from the repository README and package.json (name ui5plugin, displayName SAPUI5 Extension, version 1.21.1, Apache-2.0, engines vscode ^1.86.0) and the Marketplace page (identifier iljapostnovs.ui5plugin, description "Extension for working with UI5 projects"). The npm name ui5plugin is unpublished, so no npm link. No part_of edge: the README says the extension uses the parser and linter packages, which is a dependency and not a statement that they are parts of it. No capability for editor support on the UI5 door exists, so only linting is claimed.
  2. First seen.
For your agent
Ref
artifact:iljapostnovs-ui5plugin
JSON
/artifacts/iljapostnovs-ui5plugin.json
MCP
Connecting an agent