feat: add custom editor / visualizer to vscode extension#1243
feat: add custom editor / visualizer to vscode extension#1243GideonKoenig wants to merge 84 commits intomainfrom
Conversation
… statement node expandable
lars-reimann
left a comment
There was a problem hiding this comment.
First batch of comments about the stub changes.
packages/safe-ds-lang/src/resources/builtins/safeds/lang/ideIntegration.sdsstub
Show resolved
Hide resolved
packages/safe-ds-lang/src/resources/builtins/safeds/lang/ideIntegration.sdsstub
Show resolved
Hide resolved
packages/safe-ds-lang/src/resources/builtins/safeds/lang/ideIntegration.sdsstub
Show resolved
Hide resolved
packages/safe-ds-lang/src/resources/builtins/safeds/data/tabular/plotting/TablePlotter.sdsstub
Outdated
Show resolved
Hide resolved
### Summary of Changes Modifies the language stubs in preparation for the Custom Editor/Visualization PR #1243. Defines/Adjusts the DataScienceCategories and assigns them to a sample amount of functions and classes from the Safe-Ds language. --------- Co-authored-by: Lars Reimann <mail@larsreimann.com>
...es/safe-ds-lang/src/resources/builtins/safeds/ml/classical/regression/ArimaRegressor.sdsstub
Show resolved
Hide resolved
There was a problem hiding this comment.
The next step would be to extract the custom-editor service into its own PR. It also requires unit tests. Finally, "custom-editor" is a very general name, maybe something like "graphical-editor" is better (or currently "graphical-view", though then we'd have to rename it eventually). I'm open for suggestions here.
There was a problem hiding this comment.
See #1315.
I chose graphical-editor as the name.
| static callList: Call[]; | ||
| static genericExpressionList: GenericExpression[]; | ||
| static edgeList: Edge[]; | ||
| static safeDsServices: SafeDsServices; |
There was a problem hiding this comment.
Anything that needs services should be made a service, so everything gets wired up properly. Here, Utils is in an invalid state before initialize is called.
Likewise, it should not have static state/methods but instance state/methods, since multiple instances of SafeDsServices might be in use at the same time, e.g. when running tests. Using static state here, can quickly lead to subtle bugs.
There was a problem hiding this comment.
The language server component has been reworked and separated into its own PR #1315.
| export const zip = <A, B>(arrayA: A[], arrayB: B[]): [A, B][] => { | ||
| const minLength = Math.min(arrayA.length, arrayB.length); | ||
| const result: [A, B][] = []; | ||
|
|
||
| for (let i = 0; i < minLength; i++) { | ||
| result.push([arrayA[i]!, arrayB[i]!]); | ||
| } | ||
|
|
||
| return result; | ||
| }; |
There was a problem hiding this comment.
Would be a useful addition to packages\safe-ds-lang\src\helpers\collections.ts.
## [0.22.0](v0.21.1...v0.22.0) (2024-11-24) ### Features * categorize API elements ([#1263](#1263)) ([d0d971e](d0d971e)), closes [#1243](#1243) * disable inlay hints for assignee types by default ([#1260](#1260)) ([a651ade](a651ade)) * improve error messages from linker ([#1272](#1272)) ([eddd868](eddd868)), closes [#1268](#1268) * output statement ([#1262](#1262)) ([011ba31](011ba31)), closes [#1259](#1259) * remove schema concept from grammar ([#1273](#1273)) ([1a3bf80](1a3bf80)), closes [#1133](#1133)
|
Bug 1: The following code causes an error: |
|
Bug 2: Closing the graphical view, changing the code, and opening the graphical view shows the old graph without changes. Even changing pipelines and opening the graphical view shows the old graph for the other pipeline. |
### Summary of Changes Modifies the language stubs in preparation for the Custom Editor/Visualization PR #1243.
## [0.23.0](v0.22.0...v0.23.0) (2025-01-04) ### Features * categorize API elements ([#1285](#1285)) ([3275900](3275900)), closes [#1243](#1243) * optional error messages for constraints ([#1275](#1275)) ([fce761c](fce761c)), closes [#1082](#1082) * prevent editing built-in stubs ([#1282](#1282)) ([d02c30a](d02c30a)) * show placeholders in outline ([#1286](#1286)) ([3880bfe](3880bfe)) ### Bug Fixes * subtype check for literal and union types ([#1288](#1288)) ([911881c](911881c)) * subtype check for literal and union types (part 2) ([#1289](#1289)) ([56284cf](56284cf)) * type inference for lambdas and their parameters ([#1304](#1304)) ([a9e070f](a9e070f))
|
This PR has been separated into the three remaining components.
They are meant to be deployed in that order. |

Giant Pull Request - All in one - I'm sorry