A language server and vscode extension for ECSQL.
Currently as a minimum viable implementation it uses a configured regex to search for calls on objects to
query or withPreparedStatement and then tries to the parse the following string literal as a SQL query.
It will then provide some auto-completion depending on where your cursor is in the query.
At the moment, you can only get auto complete in your ECSQL in vscode by setting the following vscode setting.
{
"editor.quickSuggestions": {
"strings": true
}
}In the future this should not be necessary to set yourself.
- auto-complete new columns in
SELECTstatements based on which tables you are querying - auto-complete new tables in
FROMclauses based on which columns you are selecting - auto-complete columns in
ONandWHEREconditions, including aliases,SELECTed and non-SELECT-ed columns
- on-hover determine from which table a column must be from and provide the documentation of the most-derived class, currently just finds the first matching property
- don't limit
FROMauto-complete to tables that contain theSELECTed attributes, instead prioritize those and the list the rest. - process more than just the BisCore schema
- add implicit ECSourceId/ECTargetId properties to relationship table properties
pnpm -r run prebuild
pnpm run bundle
pnpm run package