Skip to content
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
fce479a
Initial plan
Copilot Oct 7, 2025
aa8b979
Initial plan
Copilot Oct 7, 2025
8aa60a6
Initial plan: Fix web resource compare order
Copilot Oct 7, 2025
145f676
Fix: Reverse web resource compare order - Server (left) vs Local (right)
Copilot Oct 7, 2025
37841bb
Initial plan: Add error handling for web resource upload
Copilot Oct 7, 2025
4ece47d
Add error handling for web resource upload and publish operations
Copilot Oct 7, 2025
bfbdbca
Merge pull request #282 from Power-Maverick/copilot/fix-compare-local…
Power-Maverick Oct 7, 2025
1e13191
Initial plan
Copilot Oct 7, 2025
4f6a56e
Merge pull request #284 from Power-Maverick/copilot/fix-token-expirat…
Power-Maverick Oct 7, 2025
137f94f
Add token expiration tracking and visual indicators
Copilot Oct 7, 2025
8c67ee0
Add status bar update command and connection getter
Copilot Oct 7, 2025
4cfd2a9
Use existing dataverse-off.svg instead of creating new expired icons
Copilot Oct 7, 2025
ae3d8fa
Initial plan
Copilot Oct 8, 2025
17cadc8
Implement code changes to enhance functionality and improve performance
Power-Maverick Oct 8, 2025
acf0800
Add context update after linking web resources to fix Compare option …
Copilot Oct 8, 2025
8d44caa
Fix: Pass connection tree item parameter to connectDataverse command
Copilot Oct 8, 2025
160b5d3
Fix: Copy tokenExpiresAt to connection tree for expired state display
Copilot Oct 8, 2025
e76d7da
Add new orange/amber icon for expired connections
Copilot Oct 8, 2025
6352b6d
Merge pull request #287 from Power-Maverick/copilot/fix-connection-ti…
Power-Maverick Oct 9, 2025
40c0e38
Fix: Update context after TS/JS project initialization to show menu o…
Copilot Oct 9, 2025
c964840
Fix: Update command registration and improve status bar text for conn…
Power-Maverick Oct 9, 2025
542e5d0
Merge pull request #291 from Power-Maverick/copilot/fix-connection-ti…
Power-Maverick Oct 9, 2025
2b91e27
Merge pull request #289 from Power-Maverick/copilot/fix-compare-optio…
Power-Maverick Oct 9, 2025
0cffb99
Add LICENSE file
Power-Maverick Oct 9, 2025
e9dfd96
Delete LICENSE
Power-Maverick Oct 9, 2025
21e53df
Add GNU General Public License v3
Power-Maverick Oct 9, 2025
c3f8bf7
Initial plan
Copilot Oct 9, 2025
8790e4a
docs: Update README with features and fixes from v2.2.1 to v2.2.5
Copilot Oct 9, 2025
d73b251
style: Apply prettier formatting to README
Copilot Oct 9, 2025
727c69f
Merge pull request #293 from Power-Maverick/copilot/update-readme-for…
Power-Maverick Oct 9, 2025
a67b0d5
Update webResourceHelper.ts
Power-Maverick Oct 9, 2025
fbdbe1b
docs: Update README for version 2.2.6 with new features and improvements
Power-Maverick Oct 10, 2025
c38a055
Bump version to 2.2.6 and add icons for various components in the Dat…
Power-Maverick Oct 10, 2025
493b110
Restore Recent Updates section for v2.2.6
Power-Maverick Oct 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
"plugins": ["@typescript-eslint"],
"rules": {
"@typescript-eslint/naming-convention": "warn",
"@typescript-eslint/semi": "warn",
"curly": "warn",
"eqeqeq": "warn",
"no-throw-literal": "warn",
Expand Down
695 changes: 674 additions & 21 deletions LICENSE

Large diffs are not rendered by default.

115 changes: 68 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,46 +54,63 @@
<a href="https://github.com/Power-Maverick/DataverseDevTools-VSCode/discussions/categories/q-a">Support</a>
</h3>

## 🆕 Recent Updates (v2.2.5)

### What's New

- **Enhanced Typings (v2.2.3)**: Entity typings now include detailed attribute metadata, providing information about attribute types and relationships for improved development experience.
- **Improved Authentication (v2.2.4)**: Login flow enhanced with Dataverse Dev Client Id for more reliable authentication with MFA-enabled environments.
- **Modern Themed UI (v2.2.5)**: All webviews now feature improved theming support with native CSS, ensuring better consistency with VS Code themes (light/dark modes).
- **Stability Improvements (v2.2.2-v2.2.5)**:
- Fixed XML attribute version bug ([#200](https://github.com/Power-Maverick/DataverseDevTools-VSCode/issues/200))
- Updated dependencies: TypeScript (5.7.2), ESLint (9.16.0), @azure/msal-node (2.16.2), and more
- Various performance and security enhancements

### Breaking Changes

- **Keyboard bindings removed (v2.2.5)**: Custom keyboard shortcuts have been removed to prevent conflicts with other extensions and VS Code defaults. You can now configure your own shortcuts via VS Code's Keyboard Shortcuts settings.

> Do check-out the [planned features](#-planned-features) list. We need your help to complete these planned features.

**Table of contents**

- [⚙ Features](#-features)
- [Connect to your Dataverse environment](#connect-to-your-dataverse-environment)
- [Remembers the connected environment per workspace](#remembers-the-connected-environment-per-workspace)
- [See connection and entity details (with copy feature)](#see-connection-and-entity-details-with-copy-feature)
- [Initialize TypeScript project \& add TS File](#initialize-typescript-project--add-ts-file)
- [Generate Typings](#generate-typings)
- [Intellisense for type generated](#intellisense-for-type-generated)
- [Upload Web Resources](#upload-web-resources)
- [Filter by solution](#filter-by-solution)
- [Entities](#entities)
- [Web Resources](#web-resources)
- [Smart Match Web Resources](#smart-match-web-resources)
- [⚒️ Tools](#️-tools)
- [🔥 Using Typings](#-using-typings)
- [Generate Typing](#generate-typing)
- [When working with Xrm object from @types/xrm](#when-working-with-xrm-object-from-typesxrm)
- [When working with entity and attributes only](#when-working-with-entity-and-attributes-only)
- [🎮 Power Platform CLI Commands](#-power-platform-cli-commands)
- [🎁 Early-Access Preview](#-early-access-preview)
- [🧪 Alpha-Testing](#-alpha-testing)
- [⌚ Features available for alpha-test](#-features-available-for-alpha-test)
- [💭 Planned Features](#-planned-features)
- [✨ Contributing](#-contributing)
- [🔉 Discussions](#-discussions)
- [📃 License](#-license)
- [✍ Credits](#-credits)
- [🆕 Recent Updates](#-recent-updates-v225)
- [⚙ Features](#-features)
- [Connect to your Dataverse environment](#connect-to-your-dataverse-environment)
- [Remembers the connected environment per workspace](#remembers-the-connected-environment-per-workspace)
- [See connection and entity details (with copy feature)](#see-connection-and-entity-details-with-copy-feature)
- [Initialize TypeScript project \& add TS File](#initialize-typescript-project--add-ts-file)
- [Generate Typings](#generate-typings)
- [Intellisense for type generated](#intellisense-for-type-generated)
- [Upload Web Resources](#upload-web-resources)
- [Filter by solution](#filter-by-solution)
- [Entities](#entities)
- [Web Resources](#web-resources)
- [Smart Match Web Resources](#smart-match-web-resources)
- [⚒️ Tools](#️-tools)
- [🔥 Using Typings](#-using-typings)
- [Generate Typing](#generate-typing)
- [When working with Xrm object from @types/xrm](#when-working-with-xrm-object-from-typesxrm)
- [When working with entity and attributes only](#when-working-with-entity-and-attributes-only)
- [🎮 Power Platform CLI Commands](#-power-platform-cli-commands)
- [🎁 Early-Access Preview](#-early-access-preview)
- [🧪 Alpha-Testing](#-alpha-testing)
- [⌚ Features available for alpha-test](#-features-available-for-alpha-test)
- [💭 Planned Features](#-planned-features)
- [✨ Contributing](#-contributing)
- [🔉 Discussions](#-discussions)
- [📃 License](#-license)
- [✍ Credits](#-credits)

## ⚙ Features

### Connect to your Dataverse environment

There are 3 ways you can connect to your Dataverse Environment.
There are 4 ways you can connect to your Dataverse Environment.

| Connection Type | Description |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Microsoft Login Prompt (Recommended) | Uses Microsoft Dev App Id. This connection will work with MFA-enabled authentication as well. |
| Microsoft Login Prompt (Recommended) | Uses Dataverse Dev Client Id for authentication. This connection will work with MFA-enabled authentication as well. **Improved in v2.2.4** with enhanced authentication flow. |
| Username & Password | This works with environments without MFA-enabled and needs no extra configuration. |
| Client Id & Secret | This works with MFA-enabled authentication but needs extra configuration of Azure AD App Registration. To know more on app registration process [read here](https://docs.microsoft.com/en-us/powerapps/developer/data-platform/walkthrough-register-app-azure-active-directory?WT.mc_id=BA-MVP-5003877). |
| Azure | If you are already logged in inside VSCode using Az extension, Azure CLI or Azure PowerShell, you can leverage Azure Identity Framework to get authenticated against Dataverse. The developer has to use the same account for both Azure and Power Platform for this work (thanks to [Natraj Yegnaraman](https://github.com/rajyraman) for this method). This is a single-click authentication method with no prompts. |
Expand All @@ -118,10 +135,10 @@ This provides an ability for you to quikly check the details of the connection a

You can instantiate a TypeScript project for Dataverse that automatically installs all the prerequisites needed:

- [`@types/xrm`](https://www.npmjs.com/package/@types/xrm)
- [`WebPack`](https://www.npmjs.com/package/webpack)
- [`ESLint`](https://www.npmjs.com/package/eslint)
- [`Prettier`](https://www.npmjs.com/package/prettier)
- [`@types/xrm`](https://www.npmjs.com/package/@types/xrm)
- [`WebPack`](https://www.npmjs.com/package/webpack)
- [`ESLint`](https://www.npmjs.com/package/eslint)
- [`Prettier`](https://www.npmjs.com/package/prettier)

Below procecss shows how you can create a TypeScript project for Dataverse with one of the available options and also how you can add a TypeScript file that loads the code-snippet.

Expand All @@ -135,6 +152,8 @@ Typings help you write early-bound code. And with the help of `@types/xrm` you c

**Typings are also integrated with [`@types/xrm`](https://www.npmjs.com/package/@types/xrm)**

**Enhanced in v2.2.3:** Typings now include entity attribute metadata, providing more detailed information about entity attributes including attribute type names and relationships.

![Typings](https://github.com/Power-Maverick/DataverseDevTools-VSCode/blob/main/assets/GenerateTypings.gif?raw=true)

### Intellisense for type generated
Expand Down Expand Up @@ -167,6 +186,8 @@ Once you build your project you can upload your script directly from the VS Code

You can launch your favorite Power Platform tools right from VSCode. Below are the list of currently integrated tools with DVDT.

> **UI Enhancement (v2.2.5)**: All tool views now feature modern themed interfaces that automatically adapt to your VS Code theme (light/dark mode).

| Tool Name | Author |
| ------------------------ | ------------ |
| Dataverse REST Builder | Guido Preite |
Expand Down Expand Up @@ -233,13 +254,13 @@ This list showcases the features that are build and ready but not fully tested t

There are different ways in which you can contribute to this open-source project. One of the way is to be part of alpha-testing. In order to perform alpha-testing follow the below steps:

- Fork this project and clone it on your local machine
- Identify the changes in alpha-test mode (list is mentioned below)
- Open the project in VS Code
- Navigate to `Run and Debug` from **Activity Bar**
- Make sure `Run Extension` is selected; click on ▶️ icon.
- This will open another VS Code instance, this instance will have _Extention Development Host_ on it's title
- You are ready to perform your tests
- Fork this project and clone it on your local machine
- Identify the changes in alpha-test mode (list is mentioned below)
- Open the project in VS Code
- Navigate to `Run and Debug` from **Activity Bar**
- Make sure `Run Extension` is selected; click on ▶️ icon.
- This will open another VS Code instance, this instance will have _Extention Development Host_ on it's title
- You are ready to perform your tests

#### ⌚ Features available for alpha-test

Expand All @@ -249,21 +270,21 @@ There are different ways in which you can contribute to this open-source project

## 💭 Planned Features

- [ ] Integrate with [Dataverse-ify](https://github.com/scottdurow/dataverse-ify/).
- [ ] Initiate plugin project.
- [ ] Integrate with [Dataverse-ify](https://github.com/scottdurow/dataverse-ify/).
- [ ] Initiate plugin project.

## ✨ Contributing

We encourage you to pitch in, join the team and showcase your name on this repo. If you are unsure how you can contribute, please reach out to [Power Maverick](https://twitter.com/DanzMaverick).

**Different ways to contribute**:

- Improve the code or fix a bug by creating a Pull Request.
- Get involved in Alpha & Beta tests.
- Provide suggestions, feedback or feature request on GitHub.
- Report issues & bugs on GitHub.
- Answer any open questions on the [Discussion Board](https://github.com/Power-Maverick/DataverseDevTools-VSCode/discussions).
- Join [Power Platform LevelUP](https://discord.gg/MwdEqfeZXD) community on Discord to answer any of the questions that may rise w.r.t. this tool.
- Improve the code or fix a bug by creating a Pull Request.
- Get involved in Alpha & Beta tests.
- Provide suggestions, feedback or feature request on GitHub.
- Report issues & bugs on GitHub.
- Answer any open questions on the [Discussion Board](https://github.com/Power-Maverick/DataverseDevTools-VSCode/discussions).
- Join [Power Platform LevelUP](https://discord.gg/MwdEqfeZXD) community on Discord to answer any of the questions that may rise w.r.t. this tool.

Before creating the pull request for contributing, please read the [Contributing Guidelines](CONTRIBUTING.md).

Expand Down
Loading