Sublime Text 3中文乱码并配置Java编译环境

起因':

       看魔乐视频学习Java,有一些源码直接粘贴到Eclipse中显示乱码,其时Windows下的GBK2312,Ubuntu并不支持.而且Eclipse太大了,杀鸡不用牛刀,遂决定用sublime来配置java的简单编译环境.



一 首先解决的是sublime打开这个java文件显示的乱码问题

经过百度,得到以下的结论:

由于 Linux 和 Unix 都不支持 GBK 和 GB2312 的中文编码,所以遇见乱码是在所难免的。毕竟,又不能强迫大家都是用 英文 书写。这时候,各种插件就派上用场了。 好在 Sublime Text 有非常丰富的开源插件,帮忙解决很多日常问题。针对不同的平台,相应的插件可能存在差异。一般安装对应的插件即可。

解决办法:

A:安装 ConvertToUTF8 插件:Sublime Text 默认是不支持中文编码的,所以需要手工安装 ConvertToUTF8 插件,便可以正常的支持中文输入了。

        步骤:先打开Sublime Tetx 3的Package  Control(快捷键CTRL+SHIFT+P),进入Install Package功能,安装ConverToUTF8插件,如对ST的Package功能熟悉的可以参考这个介绍:点击打开链接

安装以后报错如下:

Encoding: GB2312 

Error: Codecs missing Please install Codecs33 plugin 感谢(https://github.com/seanliang/Codecs33/tree/osx). 

        提示需要安装支持GB2312编码的插件.

       B:安装GB2312 插件:还要支持 Windows 平台默认的 GB2312 中文编码,那么需要安装 Codecs33 插件

ps:这里安装codecs33也是需要先进入install package之后,才能检索的到.在这耽搁了好一会,以为直接在package control里面可以安装.


二.总算成功解决了乱码的问题,接下来百度了ST  Java环境的配置,参考这篇文章:点击打开链接

主要步骤如下:

       

1.创建文件 runJava.sh ,写入下面代码

[ -f "$1.class" ] && rm $1.class
for file in $1.java
do
echo "Compiling $file........"
javac $file
done
if [ -f "$1.class" ]
then
echo "-----------OUTPUT-----------"
java $1
else
echo " "
fi
将这个文件复制到JDK的bin目录下;

→ Note: 如果你想编译所有的java文件,需要把第二行中的 $1.java 替换成 *.java 

在移动完之后要设置文件的可执行权限为755,以确保此文件是可执行的;

$sudo chmod 755 runJava.sh


2.其次,在Sublime中安装Package Resource Viewer,具体操作步骤如下:
(1)ctrl+shift+p打开package control;
(2)输入Install Package;
(3)搜索Package Resource Viewer并安装。

3.修改Javac.sublime-build:
安装Package Resource Viewer就是为这一步服务。同上面的步骤,打开packagecontrol,输入PackageResourceViewer:OpenResource,回车后输入java,回车后输入Javac.sublime-build,就能够打开我们所需要修改的文件:
将第一行的“shell_cmd": javac \"$file\""  改成    "shell_cmd": "runJava.sh \"$file_base_name\"",

4.建立java文件,ctrl+b 编译


A在执行以上的过程中,又忘记了自己的jdk装在哪里,用whereis java命令得知时在usr/bin下面,因此也是切到此目录下面去touch了一个runJava.sh的文件,

但是在vi的过程中提示不可写入,幸亏还记得linux下的一点点的文件权限的知识,ls -l显示所有的权限以后用chmod  +w  给加上了可写权限.成功保存.


B果不其然又报错了,因为在terminal下用javac编译这个java文件已经报了编码映射的错误,百度参考了一下这个帖子:点击打开链接


Linux下为UTF-8编码,javac编译gbk编码的java文件时,容易出现“错误: 编码UTF8的不可映射字符”

解决方法是添加encoding 参数:javac -encoding gbk WordCount.java


于是我在runJava.sh也加入了编码的参数.保存后,终于成功地编译过了,值得一提的时这里时编译并运行,省事.

截图如下(此截图工具时在Ubuntu应用商店:搜索gnome-screenshot)

Sublime Text 3中文乱码并配置Java编译环境_第1张图片





后记:关于sublimetext3的配置,几年前就折腾过一次,但是配置文件搞丢了以后这些东西就会需要花费大量的时间去配置,其实时得不偿失的,应该将其记录下来,将配置文件备份.


至于sublimetext3的配置文件应该可以方便地转移到新电脑上 ~/.config/sublime-text-3/Packages


其他ubuntu设置应该也可一键迁移.





在WIN10环境下配置也大同小异,唯一不同的是不需要安装codecs33这插件,发现控制台不能输出中文以后,百度了

新建一个自己的myjavac编译系统,应该是支持GBK的话就能输出中文。

  1. {
  2. "shell_cmd": "runJava.bat \"$file\"",
  3. "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
  4. "selector": "source.java",
  5. "encoding": "GBK"
  6. }















你可能感兴趣的:(sublime,text)