Announcing the .NET MAUI extension for Visual Studio Code

Maddy Montaquila

Last month, we released the first preview of C# Dev Kit, a lightweight, editor-first experience that augments your C# development in Visual Studio Code with a Solution Explorer, native Test Explorer, AI-powered code authoring, and more.

Today, we’re excited to announce the first preview of the .NET MAUI extension, which, paired with C# Dev Kit, gives you the tools you need to develop your cross-platform .NET mobile and desktop apps with VS Code on Windows, macOS, and Linux.

You can try out the .NET MAUI extension today – let us know what you think!

Screens screenshot of a computer Description automatically generated

The .NET MAUI extension lets you develop and debug your app on devices, emulators, and simulators from VS Code. .NET MAUI and C# Dev Kit borrow some familiar features from Visual Studio to enhance your productivity, making your mobile and desktop development delightful with C# in VS Code.

What is the .NET MAUI Extension?

Code editing powered by Roslyn

C# editing is backed by the newly updated open-source C# Extension, giving you powerful IntelliSense code-completion. Along with the IntelliCode for C# Dev Kit extension, you get AI-assisted features such as whole-line completions and starred suggestions as you type.

A dropdown in a C# text editor showing intelligent autocomplete suggestions from IntelliCode

When editing your XAML, you get lightweight syntax highlighting and autocomplete that learns from your habits as you type.

Debug to any target

The .NET MAUI extension makes it easy to debug and deploy your app to your different target devices (Android, iOS, macOS and Windows). Just pick your device through the “Language Status” popup by hovering over the curly braces { }, selecting “Debug Target”, then starting a debug session (F5).

In this preview, we’ve added the following device targets:

  • On Windows, you can debug to your local Windows machine, Android emulators, and Android devices
  • On macOS, you can debug locally on your Mac, on iOS simulators or devices, and Android emulators or devices
  • On Linux, you can debug to Android emulators and devices

For more information on what’s new with .NET MAUI tooling in Visual Studio, see the Visual Studio 17.6 release blog post.

Get Started with .NET MAUI

Getting started with .NET MAUI in VS Code is easy. Just install the .NET MAUI extension, which automatically installs the C# Dev Kit and C# extensions for you. Log in with an existing Visual Studio subscription, then open or create a .NET MAUI project and start coding! Or you can follow the step-by-step walkthrough right in VS Code:

A screenshot of the dot net maui extension walkthrough in visual studio code

Given C# Dev Kit and the .NET MAUI extensions build on the same foundations as Visual Studio for some of its functionality, it uses the same license model as Visual Studio. This means it’s free for individuals, as well as academia and open-source development, the same terms that apply to Visual Studio Community. For organizations, the C# Dev Kit and its family of extensions are included with Visual Studio Professional and Enterprise subscriptions, as well as GitHub Codespaces. For additional details see the license terms.

What’s Next? Share your Feedback!

This is only Preview 1, and we will continuously update the extension and its features based on your feedback so we can deliver a great experience for everyone..

Please share your suggestions and report issues on this new experience through VS Code’s Help > Report Issue dialog. Select whether it’s a bug, feature request, or performance issue, then select “An extension” and “.NET MAUI” in the following dropdowns.

A screenshot of the report issue dialog in visual studio code

You can also see all the suggestions and issues on both the .NET MAUI extension and C# Dev Kit at this GitHub repo. Thanks for trying out this first preview. We can’t wait to hear what you think!

More about the Visual Studio product family

Visual Studio continues to be our premier C# development tool, supporting the full range of .NET workloads and project types. C# Dev Kit and the .NET MAUI extensions are exciting steps for us to bring .NET development productivity to other parts of the Visual Studio product family. For more information on the latest features added to Visual Studio, check out the Visual Studio 17.6 release announcement.

21 comments

Comments are closed. Login to edit/delete your existing comments

  • saint4eva 1

    This is cool. Next step is to give us Comet MVU C#

    • Maddy MontaquilaMicrosoft employee 0

      Thank you!! Comet may be an experiment but we pay close attention to it. Definitely continue to try it and interact with it and share your feedback on it so we can justify making it “real” 🙂

  • David Scherf 5

    So Linux can only make Android Apps, and nothing can make Linux Apps.

    • Maddy MontaquilaMicrosoft employee 1

      That’s true right now – you can use some of the other 3rd-party .NET techs to target Linux (such as Avalonia) if that’s a need for you! You can also look at some of our experiments such as https://github.com/jsuarezruiz/maui-linux. You can engage with this discussion if you’d like to give your feedback on Linux support for MAUI!

    • Vassily Godunov 1

      Linux is very close to MacOS. Thus, Mac development can be easily converted to Linux development. The community is doing it.

  • Joris Kommeren 1

    Please give us a visual designer!!!!! Is that in the books?

    I’m trying to launch my own MAUI app, working on it for months, but the lack of a Visual Designer (in the regular Visual Studio) is a real PITA.

    I’m willing to convert to Visual Studio Code for just this feature! I’m sure there are many others!

    • Maddy MontaquilaMicrosoft employee 0

      Unfortunately we don’t have a visual designer planned right now for .NET MAUI but I hear your feedback!! Have you used Hot Reload in VS yet? That along with Live Preview, the Live Visual Tree, and the Properties Panel can get you really close to the designer experience. You can edit your XAML as the app runs and see it reflected right in the IDE then use Live Preview to inspect UI elements and navigate to where they’re defined in the XAML.

      • Seyyed Soroosh Hosseinalipour 0

        ITNOA

        Visual Studio, start with Visual word, So I think as WPF, WinForm or another, Microsoft must add Visual Designer for WinUI and MAUI in Visual Studio 2022

        • Charles BissonnetteMicrosoft employee 0

          Please help me to understand better the customer pain point of not having a designer.

          1) Is is because writing XAML by hand is boiler plate and difficult and you would like a solution that writes the XAML for you?
          2) Do you just need just a previewer to see the XAML you type ?
          3) Or would like a GUI experience. And if that’s the case, what GUI feature would you like to see implemented?

          • Pruitt, David 2

            Charles,

            The benefits of having a designer have been clearly laid out by several people in the Github discussions happening on both the .NET MAUI Github repository as well as the WinUI 3 Github repository. The fact that you need to ask the question is unfortunately very telling, and indicative that Microsoft doesn’t seem to be listening to the users.

            The issues about having a designer are within the top 5 issues on both MAUI’s Github as well as WinUI 3’s Github, and they have remained there for quite awhile.

            However, to answer your question:

            Hot reload is not an acceptable replacement for a good design-time XAML previewer. A design-time XAML previewer allows the developer to view their XAML easily during development. It does not require that the developer build the app and then also navigate to that specific page in the app, which can be tedious and annoying. Why should I need to build my app and then navigate through several screens to get to the correct page, when I could simply click on the XAML file and see the XAML preview?

            Additionally, hot reload rarely works wells. It is fully of bugs, and half the time it doesn’t reload – which is what it’s supposed to do. So it’s a combination of two things:
            (1) Hot reload doesn’t work
            (2) Hot reload is not meant for design-time. We need a design-time tool.

            You’ll notice that of all .NET MAUI open issues, a designer is the #1 most-thumbs-up issue:
            https://github.com/dotnet/maui/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

            It is also the #2 most-commented open issue:
            https://github.com/dotnet/maui/issues?q=is%3Aissue+is%3Aopen+sort%3Acomments-desc

            Meanwhile, in the WinUI repository, the designer issue is the #1 most-commented open issue:
            https://github.com/microsoft/microsoft-ui-xaml/issues?q=is%3Aissue+is%3Aopen+sort%3Acomments-desc

            It is also the #3 most-thumbs-up open issue:
            https://github.com/microsoft/microsoft-ui-xaml/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

            As for me, I’d like to see a designer in MAUI that works exactly as WPF’s XAML designer.

      • Adian Hendrickson 0

        i think you guys might need a designed outline for vscode, an option to install a pack that includes C#, C# Dev Kit, .NET MAUI and a Designer Preview which would probably be installed through the Visual Studio Code website.

    • SeokWon Hong 0

      I hope that vscode maui will support hot reload. (At the level of Flutter…)

  • Paulo Pinto 1

    Since Linux cannot do MAUI, this basically overlaps with Visual Studio for Mac, now wondering about its future.

    • Maddy MontaquilaMicrosoft employee 0

      You can do MAUI Android development on Linux! VS for Mac is totally tangential to this experience – it’s a full IDE vs VS Code which is a lightweight, editor-based experience.

  • Danny Hepple 0

    Fantastic news! I’ve just give it a try on Debian 12 connected to my Samsung Galaxy S22 and everything seems to be working fine. Just waiting out on a hot reload feature to make it my main development suite!

  • Rony Cuzco 0

    Great extension!
    Btw, how do I debug using the android emulator, the same way as with VS2022?

  • Pruitt, David 0

    So let me get this straight…

    On the .NET MAUI Github repository, a “visual designer” is currently the 2nd most-commented open issue (https://github.com/dotnet/maui/issues/3439), and the #1 most-thumbs-up open issue, and that issue has been sitting open since November 2021.

    Meanwhile, rather than actually devoting the resources towards addressing an issue that the community clearly cares about, Microsoft instead decides to devote its resources to creating a Visual Studio Code extension, when such an extension doesn’t even register as a user need on the list of .NET MAUI Github issues.

    I am so confused by Microsoft’s decision-making process right now. Clearly they are not listening to what developers actually want, and no, we don’t want hot reload. Hot reload is not a good replacement for a visual designer.

    • Sergey Ivanov 0

      We DO want hot reload, but it is indeed not a good replacement for a visual designer.

      Microsoft listens to us on GitHub, but they also listen to their direct customers, like large Microsoft shops (companies that mostly use their products), which they survey privately (which is not a bad thing).

      Out of curiosity – does Flutter or React Native provide a visual designer? Those tools are loved by their communities.

      • Michael Rogers 0

        Neither they, nor Xcode, provide a Visual Designer.

        I have used Visual Studio for Mac for years, and always found issues with it. I have to prepare notes for classes, and I couldn’t even copy and paste from VSM to Keynote without losing the formatting. So, whoever’s working on .NET MAUI with VSC, thank you, thank you!

  • Michael Werlitz 0

    I like it.
    Unfortunately the Android SDK manager call was done without checking and potentially using the proxy settings from VSCode. So we can’t use it at work right now. I will report it via VSCode.

  • Rony Cuzco 0

    btw, how can i launch inside the browser?

Feedback usabilla icon