matlab 源码乱码以及如何使用VSCode编辑matlab源码 | matlab自动补全代码的编辑器

1. 按

由于平常要用到VSCode编辑和查看源码,VSCode默认以utf-8打开,而MATLAB则默认使用GBK编码读写源文件。
有时候我们需要用VSCode编辑代码(VSCode可以自动补全代码,高亮效果也优于MATLAB自带的编辑器,其实MATLAB自带的源码编辑器效果很差,连基本的自动补全都没有,严重影响开发效率。),这时候可能会产生乱码,本文旨在解决此问题。

2. 将VSCode设置成自动推导文件的编码

推荐使用此方法,这也是本人一直使用的方法,只需要简单地改一下VSCode,不让它死搬硬套,每次都以UTF-8编码读取文件就可以了,不需要动matlab的字符集编码设置。
参考:https://blog.csdn.net/COCO56/article/details/100058599

3. 将matlab代码默认的编辑器设为VSCode

  1. 在设置里将文本编辑器改成VSCode
    在这里插入图片描述
    在这里插入图片描述
  2. 搜索并安装matlab插件,这样编起来代码自动补全,效果比MATLAB自带的编辑器要好得多。
    VSCode 安装帮助:https://blog.csdn.net/COCO56/article/details/96423586
    在这里插入图片描述
    在这里插入图片描述

4. 不推荐使用的方法

下面方法是参考的别人的,实测效果很差,只是编辑器不再乱码了,运行代码时如果要打印中文字符,或者画图时设个中文标题、中文标签什么的,依然乱码,因此极不推荐浪费时间这样做。

4.1. 修改matlab默认的字符集编码为UTF-8

  1. 打开X:\Program Files\Polyspace\R2019a\toolbox\local\matlabrc.m(注:最开头的“X”是你所安装的位置盘符)文件,在尾部追加一句:
    slCharacterEncoding('UTF-8')
    
    详细参考:https://blog.csdn.net/COCO56/article/details/99630959
    在这里插入图片描述
  2. slCharacterEncoding(‘UTF-8’)指令用于运行utf-8编码的源码文件时不会打印出来乱码,编辑代码时仍会出现乱码,因此需要修改一下默认的源码编辑器为VSCode,其实MATLAB自带的源码编辑器效果很差,连基本的自动补全都没有,严重影响开发效率。
  3. 另外本方法不推荐使用,打印时虽然可以正常打印中文字符,但是如果画图时设个标题、标签什么的,如果包含中文的话也是会乱码的。

4.2. MATLAB 2016b

  1. 在命令窗口输入命令:feature(‘locale’)可以看到多是用 GBK 进行编码。如果想以 utf-8 编码,而不是 GBK 编码的话,请编辑 matlab 的 locale 数据库文件 lcdata.xml (matlab bin 目录下)
    在这里插入图片描述
  2. 删除lcdata.xml文件中的以下代码:
    <encoding name="GBK">  
      < encoding_alias name="936">  
    </encoding>
    
  3. <encoding name="UTF-8">  
      <encoding_alias name="utf8"/> 
    </encoding> 
    
    改为
    <encoding name="UTF-8">
        <encoding_alias name="utf8"/>
        <encoding_alias name="GBK"/>
    </encoding>
    
    在这里插入图片描述
  4. 重启 matlab 之后,即以 utf-8 编码

4.3. matlab2017以上

在R2017及以上的版本中
lcdata.xml 是仅包含注释的空文件,需要将 lcdata_utf8.xml 重命名为 lcdata.xml ,然后进行修改。
在这里插入图片描述

4.4. 本方法成功的标志

运行slCharacterEncoding得到’UTF-8’
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

COCO56(徐可可)

建议微信红包:xucoco56

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值