WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

ggongg/vscode-tmdl

 
 

Repository files navigation

TMDL Extension for Visual Studio Code

Version Installs Downloads Ratings

Overview

A Visual Studio Code extension that adds language support for the Tabular Model Definition Language TMDL, enabling developers to work directly with the code behind semantic model

TMDL Extension for Visual Studio Code

Note: This repository will eventually host the source code for the TMDL Language Extension.
For now, it serves only as a central location for tracking bugs and gathering feedback. This project is in Public Preview and implementation may significantly change prior to General Availability.

Getting Started

  1. Install Visual Studio Code
  2. Install the TMDL View VSCode Extension extension
  3. After setting up the extension, opening TMDL documents in Visual Studio Code will enable TMDL language features such as semantic highlighting and more.
    TMDL Syntax Highlighting

🐞Feedback is welcome and appreciated! If you come across an issue/bug with the extension or have a feature request, please file an issue.

💡 VSCode Theme Support

TMDL syntax highlighting works best in the Default Light and Dark Modern themes in Visual Studio Code.

⚠️ In some themes like Visual Studio Dark and Visual Studio Light, the syntax highlighting may be less visible.
For the best experience, we recommend using one of the themes above.

Features

Semantic Highlighting

Semantic highlighting enhances readability by providing consistent and context-aware styling—for enums, errors, integers and strings in property values, as well as strings and comments in Power Query (PQ) and many more! Support for DAX queries is also coming soon.

Semantic Highlighting VS Code uses TextMate grammars for basic syntax highlighting via regex-based tokenization. Semantic tokenization adds context-aware highlights from language servers, enhancing the base highlighting improving the overall readability of TMDL documents.

The scope inspector tool allows you to explore what semantic tokens are present in a source file and what theme rules they match to.

Code Formatting

Code Formatting Automatically organizes TMDL code for enhanced readability and consistency along with enhanced formatting for embedded Power Query within TMDL with soon integration of DAX query formatting.

Error Diagnostics

Diagnostics Identifies and highlights errors in TMDL code directly within the editor. Also detects syntax issues in embedded Power Query, with DAX diagnostics support on the way. Error messages are shown in the user's language based on locale settings.

Note: Users must update their locale setting separately for Power Query in the VS Code extension to enable localization.

Autocomplete

Autocomplete Provides smart, context-aware suggestions while editing TMDL documents. Autocomplete support also includes embedded Power Query, and will soon expand to include DAX queries.

Hover Information

Hover Information Displays helpful contextual information when hovering over elements in TMDL documents. Supports both TMDL and embedded Power Query, with future plans to support DAX as well.

Code Actions

Code Actions Offers quick fixes and refactoring suggestions for common TMDL issues. Examples include:

  1. Resolving duplicated lineage tags
  2. Correcting misspelled properties
  3. Adding missing syntax elements like colons, quotes, equal signs, etc. And many more helpful fixes.

Breadcrumbs

Breadcrumbs Allows easy navigation within a TMDL document showing the hierarchical structure of TMDL code

Limitations

  • Currently, the extension on web supports only syntax highlighting. Additional features will be added in future releases.
  • The Power Query Autocomplete feature may occasionally display 'No suggestion' in uncommon scenarios.

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.

About

Tabular Model Definition Language (TMDL) Extensions for Visual Studio Code

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published