|
| 1 | +--- |
| 2 | +categories: |
| 3 | +- docs |
| 4 | +- develop |
| 5 | +- stack |
| 6 | +- oss |
| 7 | +- rs |
| 8 | +- rc |
| 9 | +- oss |
| 10 | +- kubernetes |
| 11 | +- clients |
| 12 | +description: Connect to Redis from Visual Studio Code. |
| 13 | +hideListLinks: true |
| 14 | +linkTitle: Redis for VS Code |
| 15 | +stack: true |
| 16 | +title: Redis for VS Code |
| 17 | +weight: 5 |
| 18 | +--- |
| 19 | + |
| 20 | +Redis for VS Code is an extension that allows you to connect to your Redis databases from within Microsoft Visual Studio Code. |
| 21 | +After connecting to a database, you can view, add, modify, and delete keys, and interact with your Redis databases using a Redis Insight like UI and also a built-in CLI interface. |
| 22 | +The following data types are supported: |
| 23 | + |
| 24 | +- [Hash]({{< relref "/develop/data-types/hashes" >}}) |
| 25 | +- [List]({{< relref "/develop/data-types/lists" >}}) |
| 26 | +- [Set]({{< relref "/develop/data-types/sets" >}}) |
| 27 | +- [Sorted Set]({{< relref "/develop/data-types/sorted-sets" >}}) |
| 28 | +- [String]({{< relref "/develop/data-types/strings" >}}) |
| 29 | +- [JSON]({{< relref "/develop/data-types/json" >}}) |
| 30 | + |
| 31 | +## Install the Redis for VS Code extension |
| 32 | + |
| 33 | +Open VS Code and click on the **Extensions** menu button. In the **Search Extensions in Marketplace** field, type "Redis for VS Code" and press the `enter` or `return` key. There may be more than one option shown, so be sure to click on the extension published by Redis. The correct extension is shown below. Click on the **Install** to install the extension. |
| 34 | + |
| 35 | +{{< image filename="images/dev/connect/vscode/vscode-install1.png" >}} |
| 36 | + |
| 37 | +Once installed, check the **Auto Update** button to allow VS Code to install future revisions of the extension automatically. |
| 38 | + |
| 39 | +{{< image filename="images/dev/connect/vscode/vscode-install2.png" >}} |
| 40 | + |
| 41 | +After installing the extension, your VS Code menu will look similar to the following. |
| 42 | + |
| 43 | +{{< image filename="images/dev/connect/vscode/vscode-menu.png" >}} |
| 44 | + |
| 45 | +## Connect to Redis databases {#connect-db} |
| 46 | + |
| 47 | +Click on the Redis mark (the cursive **R**) in the VS Code menu to begin connecting a Redis database to VS Code. If you do not currently have access to a Redis database, consider giving Redis Cloud a try. [It's free](https://redis.io/try-free/). |
| 48 | + |
| 49 | +{{< image filename="images/dev/connect/vscode/vscode-initial.png" >}} |
| 50 | + |
| 51 | +Click on the **+ Connect database** button. A dialog will display in the main pane. In the image shown below, all the options have been checked to show the available details for each connection. These connection details are similar to those accessible from [`redis-cli`]({{< relref "/develop/connect/cli" >}}). |
| 52 | + |
| 53 | +{{< note >}} |
| 54 | +In the first release of Redis for VS Code, there is no way to change the logical database after you have selected it. If you need to connect to a different logical database, you need to add a separate database connection. |
| 55 | +{{< /note >}} |
| 56 | + |
| 57 | +{{< image filename="images/dev/connect/vscode/vscode-add-menu.png" >}} |
| 58 | + |
| 59 | +After filling out the necessary fields, click on the **Add Redis database** button. The pane on the left side, where you would normally see the Explorer view, shows your database connections. |
| 60 | + |
| 61 | +{{< image filename="images/dev/connect/vscode/vscode-cnx-view.png" >}} |
| 62 | + |
| 63 | +{{< note >}} |
| 64 | +Local databases, excluding OSS cluster databases, with default usernames and no passwords will automatically be added to your list of database connections. |
| 65 | +{{< /note >}} |
| 66 | + |
| 67 | +### Connection tools |
| 68 | + |
| 69 | +Several tools are displayed for each open connection. |
| 70 | + |
| 71 | +{{< image filename="images/dev/connect/vscode/vscode-cnx-tools.png" >}} |
| 72 | + |
| 73 | +Left to right, they are: |
| 74 | + |
| 75 | +- Refresh connection, which retrieves fresh data from the connected Redis database. |
| 76 | +- Edit connection, which shows a dialog similar to the one described in [Connect to Redis Databases](#connect-db) above. |
| 77 | +- Delete connection. |
| 78 | +- Open CLI. See [CLI tool](#cli) below for more information. |
| 79 | +- Sort keys, either ascending or descending. |
| 80 | +- Filter keys by key name or pattern, and by key type. |
| 81 | +- Add a new key by type: Hash, List, Set, Sorted Set, String, or JSON. |
| 82 | + |
| 83 | +## Key view |
| 84 | + |
| 85 | +Here's what you'll see when there are no keys in your database (the image on the left) and when keys are present (the image on the right). |
| 86 | + |
| 87 | +{{< image filename="images/dev/connect/vscode/vscode-key-view-w-wo-keys.png" >}} |
| 88 | + |
| 89 | +Redis for VS Code will automatically group the keys based on the one available setting, **Delimiter to separate namespaces**, which you can view by clicking on the gear icon in the top-right of the left side pane. Click on the current value to change it. The default setting is the colon (`:`) character. |
| 90 | + |
| 91 | +{{< image filename="images/dev/connect/vscode/vscode-settings.png" >}} |
| 92 | + |
| 93 | +Click on a key to display its contents. |
| 94 | + |
| 95 | +{{< image filename="images/dev/connect/vscode/vscode-key-view.png" >}} |
| 96 | + |
| 97 | +### Key editing tools |
| 98 | + |
| 99 | +There are several editing tools that you can use to edit key data. Each data type has its own editing capabilities. The following examples show edits to JSON data. Note that changes to keys are immediately written to the server. |
| 100 | + |
| 101 | +- **Rename**. Click on the key name field to change the name. |
| 102 | + |
| 103 | +{{< image filename="images/dev/connect/vscode/vscode-edit-name.png" >}} |
| 104 | + |
| 105 | +- **Set time-to-live (TTL)**. Click on the **TTL** field to set the duration in seconds. |
| 106 | + |
| 107 | +{{< image filename="images/dev/connect/vscode/vscode-edit-ttl.png" >}} |
| 108 | + |
| 109 | +- **Delete**. Click on the trash can icons to delete the entire key (highlighted in red) or portions of a key (highlighted in yellow). |
| 110 | + |
| 111 | +{{< image filename="images/dev/connect/vscode/vscode-edit-del.png" >}} |
| 112 | + |
| 113 | +- **Add to key**. Click on the `+` button next to the closing bracket (shown highlighted in green above) to add a new component to a key. |
| 114 | + |
| 115 | +{{< image filename="images/dev/connect/vscode/vscode-edit-add.png" >}} |
| 116 | + |
| 117 | +- **Refresh**. Click on the refresh icon (the circular arrow) to retrieve fresh data from the server. In the examples below, refresh was clicked (the image on the left) and the key now has a new field called "test" that was added by another Redis client (the image on the right). |
| 118 | + |
| 119 | +{{< image filename="images/dev/connect/vscode/vscode-recycle-before-after.png" >}} |
| 120 | + |
| 121 | +For strings, hashes, lists, sets, and sorted sets, the extension supports numerous value formatters (highlighted in red in the image below). They are: |
| 122 | + |
| 123 | +- Unicode |
| 124 | +- ASCII |
| 125 | +- Binary (blob) |
| 126 | +- HEX |
| 127 | +- JSON |
| 128 | +- Msgpack |
| 129 | +- Pickle |
| 130 | +- Protobuf |
| 131 | +- PHP serialized |
| 132 | +- Java serialized |
| 133 | +- 32-bit vector |
| 134 | +- 64-bit vector |
| 135 | + |
| 136 | +{{< image filename="images/dev/connect/vscode/vscode-edit-value-formatters.png" >}} |
| 137 | + |
| 138 | +Also for Hash keys, you can set per-field TTLs (highlighted in yellow in the image above), a new feature added to Redis Community Edition 7.4. |
| 139 | + |
| 140 | +## CLI tool {#cli} |
| 141 | + |
| 142 | +The connection tool with the boxed `>_` icon opens a Redis CLI window in the **REDIS CLI** tab at the bottom of the primary pane. |
| 143 | + |
| 144 | +{{< image filename="images/dev/connect/vscode/vscode-cli.png" >}} |
| 145 | + |
| 146 | +The CLI interface works just like the [`redis-cli`]({{< relref "/develop/connect/cli" >}}) command. |
0 commit comments