Boost .NET MAUI Development Productivity: 6 Powerful Features of .NET Meteor for VS Code in Windows, Mac & Linux
Tags: mobile, vscode, devexpress, dotnet
Published: 2023-04-20 15:48:13

## **Introduction**
&emsp;Are you looking for a development environment for **.NET MAUI** applications that works seamlessly Mac, Windows or Linux? Look no further! In this blog post, I will introduce you to an easy and efficient way to develop .NET MAUI apps using **VS Code** and a single, free extension called [.NET Meteor](https://marketplace.visualstudio.com/items?itemName=nromanov.dotnet-meteor). It enables you to:

* Debug on emulators and devices
* Get basic XAML IntelliSense assistance
* Work with multiple folders in workspaces
* Add column (inline) breakpoints
* Customize breakpoints (conditional breakpoints, log-points, hit-points)
* Download and debug source code

&emsp;Before we dive into the details, allow me to introduce myself briefly.

</br>

&emsp;As a developer who is passionate about enriching the .NET MAUI community, I created this extension for developers such as myself, to create applications faster and easier. As my primary job, I am part of the [DevExpress team](https://www.devexpress.com), where I focus on creating free [.NET MAUI mobile components](https://www.devexpress.com/maui). While the MAUI platform is still young and has room for improvements, I really love it, because it allows me to create fantastic and performant multi-platform applications.

</br>

## **VS Code vs Visual Studio for Mac**
&emsp;While Visual Studio is a powerful IDE for developing MAUI applications, the version for Mac OS was released not so long ago and sometimes I feel that it behaves a little unexpectedly for me. That’s why I chose VS Code as my primary IDE, and I’m quite happy with this choice as VS Code is simple and fast. Of course, at first I missed some Visual Studio features, but after that I created .NET Meteor :) Now it contains even some extra functionality that doesn’t exist in Visual Studio.

&emsp;So, let's dive in and see how you can make the most out of this powerful development environment. I will demonstrate you extension features and some use-cases of how we at [DevExpress](https://www.devexpress.com) use them.

---
</br>

### **Basic XAML IntelliSense**
&emsp;.NET Meteor assists you with XAML writing and includes basic IntelliSense support. 

* Elements available in your application including those from custom namespaces. 
* Attributes, including attached properties, such as `Grid.Row`.
* Enums and structures such as `VerticalOptions`, `HorizontalOptions` etc.
* Basic syntax support and XAML error highlighting.

![XAML IntelliSense](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ma2scuq8xn0zks5m1i4.png)

- _Note that you need to build your project first (for any platform) to enable all .NET Meteor IntelliSense functionality._

</br>

### **Multiple Folders in Workspace**
&emsp;.NET Meteor allows you to work with several folders in your workspace. As a result, you get a view similar to the Solution Explorer in Visual Studio. You can easily add required folders to the existing project and set breakpoints in nested code files for debugging.

![Multiple folders](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rmsa9hsg5g9hdi6e47io.png)

### **Column (Inline) Breakpoints**
&emsp;You can set breakpoints not only in rows, but also in columns. You may find this useful when debugging a LINQ expression. Use the context menu to toggle a breakpoint in a column. Alternatively, press the `Shift + F9` shortcut.

![Inline breakpoints](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ucy6ed7hl2hsd25tz5bx.png)

- _The triangular indicator shows you the exact code where the debugger is currently stopped._

</br>

### **Conditional breakpoints, Log-points, Hit-points**
&emsp;.NET Meteor supports advanced breakpoint types, such as conditional breakpoints or breakpoints that write text to console. You can also combine several customizations in a single breakpoint. Right-click your breakpoint, press `Edit Breakpoint` and specify the required settings.

![Conditional breakpoints](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hgzn9mo7voss7a5lh7us.png)

</br>

### **Source code downloading and debugging**
&emsp;You can download and debug the source code of third-party libraries if they contain **PDB** files with embedded links to a repository with source code. Meteor can automatically download source code if available and copy it to the `.meteor\sources` folder in your project. You can always open the downloaded file and debug it. You can even download and debug .NET MAUI source code. This helped me so many times when I tried to understand why an error occurs or when I just wanted to understand how a certain mechanism works.

![Source downloading](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0353u9ong1vm21pqvqru.png)

</br>

### **Cross-platform**
&emsp;The main benefit is that with VS Code and .NET Meteor, all these features are available in Mac, Windows and Linux!

---

## **Conclusion**
&emsp;Although Visual Studio is a great and feature-rich IDE, you may find the conjunction of VS Code and .NET Meteor useful for your development tasks. My colleagues at [DevExpress](https://www.devexpress.com) and I use it on a daily basis and probably you can also give it a try:) **Let’s make .NET MAUI great together!**

</br>

### **Links**

- [Download .NET Meteor](https://marketplace.visualstudio.com/items?itemName=nromanov.dotnet-meteor)
- [DevExpress - related Examples and Docs](https://docs.devexpress.com/MAUI/404291/scenarios)
- [.NET Meteor GitHub Repository](https://github.com/JaneySprings/DotNet.Meteor)