m1芯片是苹果2020年发布的一款基于arm的桌面芯片,目前已经应用在MacBook Air 、MacBook Pro、IMac、Ipad等设备上。可以说整个苹果生态圈都在去intel化。
今年年初跟了我6年的台式机频繁出现故障,于是入手了一台m1芯片的笔记本。
入手之前我是做了大量的调研,包括能不能正常运行.NET程序,各种常见ide能不能正常运行。最后还去朋友家上手了一下他尝鲜买的macbook air,安装完各种常用工具,并跑完正常的hello world
,发现没有任何问题。各种工具虽然没有原生支持m1,但是都可以通过苹果提供的Rosetta
技术进行转换运行。
再加上网上各路评测视频的一致好评,和对macbook 的精致做工以及mac os的漂亮UI的吸引,我在三月底入手了一台MacBook air。
然后日狗的事情就开始了。
安装完vs for mac之后,虽然hello world可以正常运行。但是经过转换后的vs,估计性能不足原生应用的50%,仅仅只能保持正常用。。工程规模稍为大一点,就会出现打字都卡顿的现象。以及vs for mac的各种白屏bug。
要是m1芯片下其他的语言的IDE也这样,那我就忍了!
但是实际情况是
隔壁java虽然没有甲骨文官方支持m1芯片,但是社区的jdk出现了三四家对m1支持的厂家,比如zulu jdk。而且IDEA也第一时间原生支持了m1
隔壁golang,谷歌也在1.6.1支持了m1
隔壁node.js也很快支持了m1
隔壁php也很快支持了m1,甚至mac os内置了php
但是我们的.NET 看GitHub上的issue,微软计划在.net 6正式版的时候,支持m1, vs for mac也要8.12迁移到mac os的原生UI,具体支持m1不,就不清楚了。【目前最新版是v8.10】
所以我在mac上写C#基本都是用vscode,又不是不能用。
于是乎,我几乎每隔三五天都会去Google搜索一下关于.net m1的适配情况。
在今天,我看到了一个好消息,Rider在五月份就发布了m1原生支持的EAP版本,但是我通过jetbrains ToolBox
安装的EAP版本依然是intel架构的。
于是我又去翻jetbrains的论坛,终于看到了一丝希望。
终于找到了这个隐藏很深的Apple Silicon (M1 chip) Support in Rider
于是点击进去,就找到了m1芯片版的rider。
点击进去下载安装。
然后打开一个稍为大一点的解决方案。发现和IDEA打开java项目一样丝滑。
在活动监视器中,看看rider所使用的架构已经变成了Apple。
安装好原生支持版本的Rider,可以愉快的coding了。
建议使用vs的同学可以试试rider,代码提示比vs高出一个量级。同时适应rider也方便学习java或者go之类语言【毕竟rider和idea、goland等是一个爹搞出来的】