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!
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.
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:
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.
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.
btw, how can i launch inside the browser?
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.
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...
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.
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!
Great extension!
Btw, how do I debug using the android emulator, the same way as with VS2022?
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!
Since Linux cannot do MAUI, this basically overlaps with Visual Studio for Mac, now wondering about its future.
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.
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!
I hope that vscode maui will support hot reload. (At the level of Flutter…)
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...
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.
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
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?
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...
So Linux can only make Android Apps, and nothing can make Linux Apps.
Linux is very close to MacOS. Thus, Mac development can be easily converted to Linux development. The community is doing it.
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!
This is cool. Next step is to give us Comet MVU C#
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” 🙂