当前位置: 首页 > news >正文

告别Visual Studio Code?在麒麟系统里用Rider+Avalonia搭建.NET 6桌面开发环境

告别Visual Studio Code?在麒麟系统里用Rider+Avalonia搭建.NET 6桌面开发环境

在国产操作系统逐渐崛起的今天,麒麟系统作为国内主流的Linux发行版之一,正在吸引越来越多的开发者关注。对于.NET开发者而言,如何在麒麟系统上搭建高效、顺手的开发环境,成为一个值得探讨的话题。本文将分享我在麒麟系统上使用JetBrains Rider和Avalonia进行.NET 6桌面应用开发的完整经验,特别适合那些对开发工具选型有困惑、追求更高开发效率的C#程序员。

1. 为什么选择Rider而非VSCode

在Linux环境下进行.NET开发,Visual Studio Code(VSCode)往往是大多数人的第一选择。它轻量、免费且拥有丰富的扩展生态。然而,在实际开发桌面应用时,特别是使用Avalonia这样的UI框架时,VSCode的局限性开始显现:

  • 项目模板支持不足:VSCode需要手动配置各种项目文件,而Rider提供开箱即用的Avalonia项目模板
  • UI设计体验差距:VSCode缺乏可视化设计器,而Rider内置了Avalonia预览器
  • 调试功能差异:Rider提供更强大的调试工具链,包括热重载、高级断点等功能
  • 代码智能提示:Rider的C#支持基于ReSharper引擎,比VSCode的Omnisharp更智能

提示:如果你主要开发控制台应用或Web API,VSCode仍然是不错的选择。但对于桌面UI开发,专业IDE的优势更为明显。

2. 麒麟系统开发环境准备

麒麟系统基于Ubuntu,因此大多数Ubuntu的软件安装方法都适用。以下是环境配置的关键步骤:

2.1 安装.NET 6 SDK

首先确认你的麒麟系统版本,然后执行以下命令添加微软包仓库:

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb

安装.NET 6 SDK:

sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-6.0

验证安装:

dotnet --version

2.2 安装Rider

在麒麟系统中安装Rider有以下几种方式:

  1. 通过应用商店安装:部分麒麟版本的应用商店已收录Rider
  2. 手动下载安装
    • 从JetBrains官网下载Linux版Rider
    • 解压后运行bin目录下的rider.sh
  3. 使用Toolbox App:JetBrains提供的统一管理工具

安装完成后,建议配置以下优化:

  • 调整JVM内存参数(Help → Edit Custom VM Options)
  • 安装中文语言包(Plugins中搜索Chinese)
  • 配置代码风格(Settings → Editor → Code Style)

3. Avalonia开发环境配置

Avalonia是一个跨平台的.NET UI框架,支持Windows、Linux和macOS。以下是完整的配置流程:

3.1 安装Avalonia模板

在终端执行以下命令安装项目模板:

dotnet new --install Avalonia.Templates

安装完成后,可以查看可用的模板列表:

dotnet new avalonia --list

3.2 Rider中配置Avalonia插件

  1. 打开Rider,进入Settings → Plugins
  2. 搜索"Avalonia"并安装官方插件
  3. 重启Rider使插件生效

插件提供的主要功能包括:

  • Avalonia XAML智能提示
  • 实时预览器
  • 项目模板支持
  • 特定于Avalonia的代码补全

4. 创建并运行Avalonia MVVM项目

4.1 创建新项目

在Rider中有两种创建Avalonia项目的方式:

方法一:通过Rider界面创建

  1. File → New → Solution
  2. 选择"Avalonia MVVM Application"
  3. 设置项目名称和位置
  4. 点击创建

方法二:通过命令行创建

dotnet new avalonia.mvvm -n MyAvaloniaApp

4.2 项目结构解析

典型的Avalonia MVVM项目包含以下关键部分:

目录/文件说明
Views/存放XAML视图文件
ViewModels/存放ViewModel类
Assets/静态资源(图片、字体等)
App.axaml应用程序入口点
MainWindow.axaml主窗口定义

4.3 解决字体问题

在Linux环境下运行Avalonia应用时,可能会遇到字体缺失的问题。解决方案:

  1. 将字体文件(如msyh.ttf)放入Assets目录
  2. 修改Program.cs中的字体配置:
public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure<App>() .UsePlatformDetect() .WithInterFont() .LogToTrace() .UseReactiveUI() .With(new FontManagerOptions { DefaultFamilyName = "avares://MyAvaloniaApp/Assets/msyh.ttf#Microsoft YaHei" });

5. 开发效率提升技巧

5.1 利用Rider的Avalonia预览器

Rider的Avalonia插件提供了实时预览功能:

  • 打开XAML文件时自动显示预览
  • 支持数据绑定预览
  • 可切换浅色/深色主题查看效果

5.2 热重载配置

在开发过程中,启用热重载可以大幅提升效率:

  1. 确保项目文件中有:
<PropertyGroup> <AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault> </PropertyGroup>
  1. 运行应用时选择"Debug"模式
  2. 修改代码后保存,Rider会自动应用更改

5.3 常用快捷键

以下是在Rider中开发Avalonia应用时的高效快捷键:

操作快捷键
生成代码Alt+Insert
重命名Shift+F6
查找用法Alt+F7
快速修复Alt+Enter
导航到声明Ctrl+B

6. 调试与发布

6.1 调试技巧

Rider提供了强大的调试支持:

  • 条件断点
  • 表达式求值
  • 对象标记
  • 异步调试

对于Avalonia特有的调试场景:

  • 检查可视化树
  • 跟踪绑定错误
  • 监控依赖属性变化

6.2 发布应用

发布Avalonia应用到麒麟系统的步骤:

  1. 添加运行时标识符:
<PropertyGroup> <RuntimeIdentifiers>linux-x64</RuntimeIdentifiers> </PropertyGroup>
  1. 发布命令:
dotnet publish -c Release -r linux-x64 --self-contained true
  1. 打包为deb:
sudo apt install dpkg mkdir -p myapp/DEBIAN cp -r bin/Release/net6.0/linux-x64/publish/* myapp/usr/local/bin/myapp

创建control文件:

Package: myapp Version: 1.0 Architecture: amd64 Maintainer: Your Name <your.email@example.com> Description: My Avalonia Application

最后打包:

dpkg-deb --build myapp

在实际项目中,我发现Rider的数据库工具、版本控制集成和终端模拟器等功能,使得整个开发流程更加流畅。特别是对于复杂的MVVM项目,Rider的导航和重构功能可以节省大量时间。

http://www.rkmt.cn/news/1430847.html

相关文章:

  • 深圳高空吊装公司哪家好 起重搬迁收费标准 2026 - 从来都是英雄出少年
  • 第19章 集群高可用最终验收清单
  • 0108芯片篇:硅基终局与文明换道实证:后摩尔时代的底层逻辑——从“实体几何”到“场域本源”
  • JM多阀控制器核心技术解析与行业选型参考指南:成都污水处理设备厂家/成都污水处理设备哪家好/成都隔膜阀厂家/成都高效水处理器厂家/选择指南 - 优质品牌商家
  • 为高价值交易场景设计零信任 Agent Harness
  • 双稳态核心记忆架构:解决人工智能长期上下文断裂的极简底层范式
  • HS2-HF_Patch终极指南:如何一键解决Honey Select 2语言障碍与兼容性问题
  • 洞察2026:专业汕头自动检重秤销售公司的选型指南与禾尔智衡科技解析 - 2026年企业资讯
  • 抖音直播数据采集神器:零代码获取实时弹幕的完整指南
  • 互质阵 vs 嵌套阵:DOA估计性能大比拼(含仿真对比)
  • 小红书数据采集终极指南:Python爬虫库xhs完全手册
  • 圈外人焦虑AI吗?
  • 如何用深度学习象棋AI工具提升你的棋艺水平
  • 免费Web版暗黑破坏神2存档编辑器:5分钟上手修改角色与物品
  • 066、AR 应用中虚拟物体漂移抖动?IMU 融合 + 光流追踪的视觉里程计优化方案
  • 别再手动写AXI总线测试了!用Xilinx AXI VIP(Master模式)快速搞定仿真验证
  • 国内GEO公司推荐|2026年GEO服务商选型指南与实力测评 - GEO优化
  • Lindy监控自动化落地实战:从零搭建高可用告警体系的7个关键步骤
  • Lindy自动化不是工具链拼接!深度拆解Google/MS/Meta三大厂商未公开的2类隐式衰减补偿机制
  • 智能水印工具终极指南:如何批量为照片添加专业相机参数水印
  • 2026年Q2畜牧负压风机选型实测与靠谱品牌盘点:鸭舍风机、全铜电机风机、养殖供料系统、养殖供水系统、养殖场通风选择指南 - 优质品牌商家
  • 从零开始学电路设计:原理、工具、PCB布局与焊接调试全指南
  • AI辅助创作的临界点已至(2024全球创意工作者生产力白皮书核心发现)
  • 2026年鄂州无鬼称正规名表回收门店排行:鄂州黄金上门回收/鄂州黄金回收/鄂尔名酒回收/鄂州名表回收/鄂州回收黄金/选择指南 - 优质品牌商家
  • 2026年兰州实力设计公司排行:兰州专业的装修公司、兰州乡村别墅设计、兰州住宅室内装饰装修、兰州全屋整装设计、兰州全案设计选择指南 - 优质品牌商家
  • ssm面向品牌会员的在线商城(10128)
  • 模块知识持久化与上下文恢复:两个 Skills 的工程设计分析
  • 2026 深圳医疗设备吊装公司哪家好?专业推荐 - 从来都是英雄出少年
  • ssm农业信息管理系统(10129)
  • 一文讲透|2026年最值得体验的专业降AI率工具 - 降AI小能手