Azure Data Studio extension for Azure CosmosDB
Перейти к файлу
Laurent Nguyen 4d379ddb10 Changing L2 tests. **BYPASS_SECRET_SCANNING** 2024-03-06 16:56:28 +01:00
.github/workflows Migrate to node v18 (#107) 2024-01-30 16:06:34 +01:00
.vscode Enable query app inside <iframe> in webview 2021-11-04 15:12:18 +01:00
CosmosDbProxy Rev up to 0.4.1. Add Ubuntu 22 support and configure user-agent. (#105) 2024-01-10 16:50:45 +01:00
doc Update quickstart-azure-cosmos-db-mongodb.md 2022-05-24 07:34:14 -07:00
query-editor Upgrade packages (#108) 2024-02-02 06:59:25 +01:00
resources Download mongoshell and sample data from hosted github release (#47) 2023-01-09 10:54:32 +01:00
src Update @microsoft/azdata-test to fix failing unit test build step and update NOTICE (#111) 2024-02-19 16:48:13 +01:00
typings Upgrade various typing packages and azdata.proposed.d.ts to fix build issue 2022-08-24 14:48:04 +02:00
.editorconfig Add .editorconfig defining our own indent style (#62) 2023-03-22 15:12:08 +01:00
.eslintrc.json Upgrade eslint (#94) 2023-07-28 10:04:41 +02:00
.gitattributes Attempt to force prettier to use lf for eol. 2022-09-14 09:35:17 +02:00
.gitignore Bundle with esbuild (#70) 2023-04-05 16:33:52 +02:00
.vscodeignore Add NoSql API support. Rev up version to 0.4.0 (#83) 2023-12-11 16:13:15 +01:00
.yarnrc Add yarnrc file (#43) 2022-11-16 11:45:48 +01:00
CHANGELOG.md Add query editor for Mongo. Rev up to 0.4.2 (#106) 2024-01-25 13:24:45 +01:00
CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md committed 2021-08-13 06:27:51 -07:00
LICENSE LICENSE committed 2021-08-13 06:27:51 -07:00
NOTICES Update @microsoft/azdata-test to fix failing unit test build step and update NOTICE (#111) 2024-02-19 16:48:13 +01:00
README.md Add License section to README (#79) 2023-05-04 09:56:20 +02:00
SECURITY.md SECURITY.md committed 2021-08-13 06:27:52 -07:00
SUPPORT.md SUPPORT.md committed 2021-08-13 06:27:53 -07:00
azure-pipelines.yml Migrate to node v18 (#107) 2024-01-30 16:06:34 +01:00
installTypings.js Fix build issues. Clean up azdata.proposed.d.ts 2021-11-19 11:37:10 +01:00
mongoShellConfig.json Rev up to 0.4.1. Add Ubuntu 22 support and configure user-agent. (#105) 2024-01-10 16:50:45 +01:00
package.json Update @microsoft/azdata-test to fix failing unit test build step and update NOTICE (#111) 2024-02-19 16:48:13 +01:00
sampleDataConfig.json New 0.3.0 release (#65) 2023-03-24 11:32:02 +01:00
tsconfig.json Add NoSql API support. Rev up version to 0.4.0 (#83) 2023-12-11 16:13:15 +01:00
vsc-extension-quickstart.md Initial version 2021-08-17 15:40:22 +02:00
yarn.lock Update @microsoft/azdata-test to fix failing unit test build step and update NOTICE (#111) 2024-02-19 16:48:13 +01:00

README.md

Azure Cosmos DB ADS Extension

The Azure Cosmos DB extension for Azure Data Studio is an open-source project that currently supports Azure Cosmos DB Mongo API accounts and Mongo databases.

Getting Started

Download and install Azure Data Studio. Click on the Extensions icon and install the Azure Cosmos DB (Mongo API) and Mongo extension.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Building the extension from source

  • Clone the repository
  • cd <path_to_clone>
  • yarn
  • yarn run publish

This creates an azure-cosmosdb-ads-extension-x.y.z.vsix file which can be manually installed in ADS.

Where are the build artifacts

The out/ folder contains the output of the build process. The ESBuild bundler may only transpile extension.js (it transpiles the typescript source files as it bundles and therefore does not need tsc to transpiled the source before bundling) while tsc will transpile all the typescript files.

The dist/ folder contains the output of the bundling process from ESBuild.

Debugging the extension from source

There are two ways to debug the extension using Visual Studio Code:

  • Debug using a regular installation of Azure Data Studio (Recommended)
  • Debug using the source code of Azure Data Studio

Debugging using a regular installation of Azure Data Studio

This is the simplest way to debug.

  • Make sure Azure Data Studio (ADS) is installed. You can download it from here.
  • Clone this repository and open the folder in Visual Studio Code.
  • yarn to install the dependencies
  • yarn run esbuild:watch to automatically re-bundle for every source change.
  • In the "Run and Debug" section of VSCode, select and run the "Extension" target. VSCode launches ADS and attaches to the process. You can set breakpoints etc.
  • If you modify any code, you must re-run the debug target for the changes to take effect.

Debugging using Azure Data Studio source code

This setup is useful if your extension depend on some changes that you are bringing to Azure Data Studio. In this situation, you need to run the modified version of ADS and not a regular installation. In that case, you want to run your modified version of ADS and also load your modified extension.

  • Clone the ADS repository (or your fork of it).
  • Inside the ADS repository, there is an extensions/ folder which contains all the ADS built-in extensions. Clone this extension repository inside this folder. Your extension path should now be: <path_to_ADS_clone>/extensions/azure-cosmosdb-ads-extension.
  • In ADS, update the debug configuration file launch.json: Look for the "Attach to Extension Host" target and add the dist/ directory in the "outFiles" section:
"outFiles": [
  "${workspaceFolder}/out/**/*.js",
  "${workspaceFolder}/extensions/*/out/**/*.js",
  "${workspaceFolder}/extensions/*/dist/**/*.js"   <------------- Add this line
],
  • In one terminal window, automatically rebuild ADS on any changes:
    • cd <path_to_ADS_clone>
    • yarn
    • yarn run watch
  • In another terminal window, automatically bundle the extension on any changes:
    • cd <path_to_ADS_clone>/extensions/azure-cosmosdb-ads-extension
    • yarn
    • yarn run esbuild:watch
  • In ADS, launch the debug target: "Launch ADS & Debug Renderer and Extension Host". This will launch ADS and attach to the process.
  • If you modify any code in ADS or the extension, you must re-start this target.

Telemetry

This extension collects telemetry data, which is used to help understand how to improve the product. For example, this usage data helps to debug issues, such as slow start-up times, and to prioritize new features. While we appreciate the insights this data provides, we also know that not everyone wants to send usage data and you can disable telemetry as described in the Azure Data Studio disable telemetry reporting documentation.

Privacy Statement

To learn more about our Privacy Statement visit this link.

Data Collection

The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsofts privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

License

This extension is licensed under the MIT License.