diff --git a/CHANGELOG.md b/CHANGELOG.md index 97f466f4..6e895557 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,23 @@ All notable changes to the **kdb VS Code extension** are documented in this file. +# v1.7.0 + +### Enhancements + +- Now it's possible to edit existing connections +- Dialog offering to reconnect to connection that was edited (if the connection was connected) +- Added labels for connections +- Ability to connect Insights servers with self signed SSL certificate + +### Fixes + +- https is prefixed for unschemed Insights server urls +- Use the custom editor to open datasource when renaming or deleting +- Removed unnecessary buttons in walkthrough +- Fixed toggle parameter cache doesn't work in workbooks +- Fixed files can't be executed from entity tree + # v1.6.1 ### Fixes diff --git a/README.md b/README.md index 024b1f65..51bd1d64 100644 --- a/README.md +++ b/README.md @@ -141,6 +141,7 @@ When you select **Bundled q** as the connection type and set the following prope | Server Name | The name is already set as **local**. | | The connection address | This is already be set as `127.0.0.1` which corresponds to your **localhost**. | | Port | Set the port for the kdb server. Ensure the port used doesn't conflict with any other running q process; e.g. 5002. [Read here for more about setting a q port](https://code.kx.com/q/basics/ipc/) | +| Label Name | Select the label you want to assign the connection to | 1. Click **Create Connection** and the connection appears under **CONNECTIONS** in the primary sidebar.. @@ -166,8 +167,9 @@ Set the following properties: | Username | If authentication is needed, fill in the username otherwise, leave **blank** | | Password | If authentication is needed, fill in the password otherwise, leave **blank** | | Enable TLS Encryption | Check the box is TLS is enabled. Learn more [about TLS encryption](https://code.kx.com/q/kb/ssl/). | +| Label Name | Select the label you want to assign the connection to | -![setendpoint](https://github.com/KxSystems/kx-vscode/blob/main/img/myq.png?raw=true). +![setendpoint](https://github.com/KxSystems/kx-vscode/blob/main/img/myq.png?raw=true) 1. Click **Create Connection** and the connection appears under **CONNECTIONS** in the primary sidebar. @@ -185,6 +187,7 @@ Set the following properties: | ---------------------- | -------------------------------------------------------------------------------------------------------------------------- | | Server Name | The server name / alias. This can be any name, aside from `local`, which is used by [Bundled q connection](#bundled-q) | | The connection address | This is the remote address of your **kdb Insights Enterprise** deployment: e.g. `https://mykdbinsights.cloudapp.azure.com` | +| Label Name | Select the label you want to assign the connection to | ![connecttoinsights](https://github.com/KxSystems/kx-vscode/blob/main/img/insightsconnection.png?raw=true) @@ -226,6 +229,118 @@ The 'meta' node contains a child node for each of the child sections in the json You can refresh the meta data view at any time by choosing **Refresh meta data** from the right-click menu of an Insights connection. +## Edit Connections + +To edit an existing connection, simply right-click the connection you wish to edit and select the **Edit connection** option. + +![Edit connection option](https://github.com/KxSystems/kx-vscode/blob/main/img/select-edit-connection.png?raw=true) + +> NOTE: Editing an **active connection** may require you to **restart** the connection. If so, you will be prompted to reconnect after saving your changes. + +![Edit connected connection dialog](https://github.com/KxSystems/kx-vscode/blob/main/img/edit-connected-connection-dialog.png?raw=true) + +### Edit Bundle q connection + +When you select to edit an **Bundled q** connection, you can edit the following properties: + +| Property | Description | +| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Server Name | The name is already set as **local** and **cannot be edited**. | +| The connection address | This is already be set as `127.0.0.1` which corresponds to your **localhost** and **cannot be edited**. | +| Port | Set the port for the kdb server. Ensure the port used doesn't conflict with any other running q process; e.g. 5002. [Read here for more about setting a q port](https://code.kx.com/q/basics/ipc/) | +| Label Name | Select the label you want to assign the connection to | + +![Edit Bundle q connection](https://github.com/KxSystems/kx-vscode/blob/main/img/edit-bundle-q-conn-form.png?raw=true) + +### Edit My q connection + +When you select to edit an **My q** connection, you can edit the following properties: + +| Property | Description | +| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Server Name | The server name / alias. The server name selected cannot be **local** or **insights**, as these are reserved for use by [Bundled q connections](#bundled-q) and [Insights connections](#insights-connection), respectively; e.g. dev | +| The connection address | Set to the IP address of the kdb server; e.g. **localhost**. | +| Port | Enter the port used by the kdb server; e.g. 5001. Learn more about [setting a q port](https://code.kx.com/q/basics/ipc/) . | +| Edit Auth options | Check the box if you wish to change **Auth options**. If you want to **remove the Auth** for this connection, select this checkbox and leave the **Username** and **Password** fields in **blank** | +| Username | If authentication is needed, fill in the username otherwise, leave **blank** | +| Password | If authentication is needed, fill in the password otherwise, leave **blank** | +| Enable TLS Encryption | Check the box is TLS is enabled. Learn more [about TLS encryption](https://code.kx.com/q/kb/ssl/). | +| Label Name | Select the label you want to assign the connection to | + +![Edit My q connection](https://github.com/KxSystems/kx-vscode/blob/main/img/edit-my-q-conn-form.png?raw=true) + +### Edit Insights connection + +When you select to edit an **Insights** connection, you can edit the following properties: + +| Property | Description | +| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Server Name | The server name / alias. This can be any name, aside from `local`, which is used by [Bundled q connection](#bundled-q) | +| The connection address | This is the remote address of your **kdb Insights Enterprise** deployment: e.g. `https://mykdbinsights.cloudapp.azure.com` | +| Define Realm | Specify the Keycloak realm for authentication. Usually the realm is set to `insights`, which is the default value used by the extension. You only need to change this field if a different realm has been configured on your server. | +| Label Name | Select the label you want to assign the connection to | + +![Edit Insights connection](https://github.com/KxSystems/kx-vscode/blob/main/img/edit-insights-conn-form.png?raw=true) + +## Connection Labels + +Connection Labels allow you to categorize and organize your connections by assigning them distinct names and colors, making it easier to manage and locate specific connections within the application. + +![Connection Tree With Labels](https://github.com/KxSystems/kx-vscode/blob/main/img/conn-labels-tree.png?raw=true) + +### Create New Label + +To create a Label, start by **editing** or **creating** a connection. At the **bottom of the form**, you'll see a **Create New Label** button. + +![Create New Label Button](https://github.com/KxSystems/kx-vscode/blob/main/img/create-new-label-btn.png?raw=true) + +Clicking this button will open a **dialog** where you can enter a **Label name** and choose a **Label color** for it. You can then create the Label by clicking 'Create' or cancel the process by clicking 'Cancel.' + +| Property | Description | +| ----------- | --------------------------------------------------------- | +| Label Name | Enter a name for the label. | +| Label color | Select the color in the list of colors for the new label. | + +![Create New Label](https://github.com/KxSystems/kx-vscode/blob/main/img/create-new-label-dialog.png?raw=true) + +### Add Label to a connection + +To add a Label to a connection, start by **editing** or **creating** a connection. At the **bottom of the form**, you'll see a **Label Name** dropdown to select a Label, select the Label and click in **Edit or Create Connection**. + +| Property | Description | +| ---------- | ------------------------------------ | +| Label Name | Select Label from the list of Labels | + +![Select Label](https://github.com/KxSystems/kx-vscode/blob/main/img/conn-labels.png?raw=true) + +### Rename Label + +Right-click the label at Connection Tree and select **Rename label**. + +![Rename Label Opt](https://github.com/KxSystems/kx-vscode/blob/main/img/labels-rename-opt.png?raw=true) + +A prompt will be displayed at the top of the screen with the field to edit the name of the Label. + +![Rename Label](https://github.com/KxSystems/kx-vscode/blob/main/img/labels-rename.png?raw=true) + +### Edit Label Color + +Right-click the label at Connection Tree and select **Edit label color**. + +![Edit Label Color Opt](https://github.com/KxSystems/kx-vscode/blob/main/img/labels-edit-color-opt.png?raw=true) + +A prompt will be displayed at the top of the screen with the field to edit the color of the Label. + +![Edit Label Color](https://github.com/KxSystems/kx-vscode/blob/main/img/labels-edit-color.png?raw=true) + +### Delete Label + +Right-click the label at Connection Tree and select **Delete label**. + +![Delete Label Opt](https://github.com/KxSystems/kx-vscode/blob/main/img/labels-delete-opt.png?raw=true) + +> The connections assign to the Label will **not be deleted**. + ## kdb language server A kdb language server is bundled with the kdb VS Code extension. It offers various common features to aid in the development of kdb code, including: diff --git a/img/bundleqform.png b/img/bundleqform.png index 20764089..7c3e6d37 100644 Binary files a/img/bundleqform.png and b/img/bundleqform.png differ diff --git a/img/conn-labels-tree.png b/img/conn-labels-tree.png new file mode 100644 index 00000000..4d2d0b4c Binary files /dev/null and b/img/conn-labels-tree.png differ diff --git a/img/conn-labels.png b/img/conn-labels.png new file mode 100644 index 00000000..1a354126 Binary files /dev/null and b/img/conn-labels.png differ diff --git a/img/create-new-label-btn.png b/img/create-new-label-btn.png new file mode 100644 index 00000000..7495c1ad Binary files /dev/null and b/img/create-new-label-btn.png differ diff --git a/img/create-new-label-dialog.png b/img/create-new-label-dialog.png new file mode 100644 index 00000000..4286a40c Binary files /dev/null and b/img/create-new-label-dialog.png differ diff --git a/img/edit-bundle-q-conn-form.png b/img/edit-bundle-q-conn-form.png new file mode 100644 index 00000000..69071fd0 Binary files /dev/null and b/img/edit-bundle-q-conn-form.png differ diff --git a/img/edit-connected-connection-dialog.png b/img/edit-connected-connection-dialog.png new file mode 100644 index 00000000..867d72d4 Binary files /dev/null and b/img/edit-connected-connection-dialog.png differ diff --git a/img/edit-insights-conn-form.png b/img/edit-insights-conn-form.png new file mode 100644 index 00000000..f29da1b3 Binary files /dev/null and b/img/edit-insights-conn-form.png differ diff --git a/img/edit-my-q-conn-form.png b/img/edit-my-q-conn-form.png new file mode 100644 index 00000000..ebd528af Binary files /dev/null and b/img/edit-my-q-conn-form.png differ diff --git a/img/insightsconnection.png b/img/insightsconnection.png index 233c4f30..f1051074 100644 Binary files a/img/insightsconnection.png and b/img/insightsconnection.png differ diff --git a/img/labels-delete-opt.png b/img/labels-delete-opt.png new file mode 100644 index 00000000..2269f85d Binary files /dev/null and b/img/labels-delete-opt.png differ diff --git a/img/labels-edit-color-opt.png b/img/labels-edit-color-opt.png new file mode 100644 index 00000000..4b911e6f Binary files /dev/null and b/img/labels-edit-color-opt.png differ diff --git a/img/labels-edit-color.png b/img/labels-edit-color.png new file mode 100644 index 00000000..274bc780 Binary files /dev/null and b/img/labels-edit-color.png differ diff --git a/img/labels-rename-opt.png b/img/labels-rename-opt.png new file mode 100644 index 00000000..df92f33a Binary files /dev/null and b/img/labels-rename-opt.png differ diff --git a/img/labels-rename.png b/img/labels-rename.png new file mode 100644 index 00000000..b76642b3 Binary files /dev/null and b/img/labels-rename.png differ diff --git a/img/myq.png b/img/myq.png index 2d32a085..a1e70e53 100644 Binary files a/img/myq.png and b/img/myq.png differ diff --git a/img/select-edit-connection.png b/img/select-edit-connection.png new file mode 100644 index 00000000..4725c151 Binary files /dev/null and b/img/select-edit-connection.png differ