【问题标题】:Compile java with unicode support in Sublime Text 3在 Sublime Text 3 中编译带有 unicode 支持的 java
【发布时间】:2014-01-28 02:31:11
【问题描述】:

我的 java 文件中有 cmets,其中包含重音字母(我的名字在标题中)。当我在 ST3 中构建时出现错误:

java:5: error: unmappable character for encoding ASCII

除了删除所有非 ASCII 字符之外,还有什么方法可以解决这个问题?

【问题讨论】:

  • 使用javac -encoding UTF-8 ...(或其他编码,如Cp1252)。在 SublimeText 中使用相同的编码。
  • 但是我可以这样做,以便当我从 ST3 构建时它会运行该命令,例如当我按下 command-B 时?

标签: java unicode sublimetext3


【解决方案1】:

您可以使用 sublime-build 包来制作它。这是python的默认值:

{
    "shell_cmd": "C:\\python33\\python.exe -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

我找到它的地方,里面

[the sublime installation dir @progfiles]\Packages\Python.sublime-package

这实际上是一个 ZIP 文件。 用 wizip / winrar / 7zip 等打开它 复制 "Python.sublime-build" 文件的文件内容。 在 Sublime Text 编辑器中,从菜单转到

工具 > 构建系统 > 新构建系统

您可以轻松地为 Java 做同样的事情。如果不能,请让这里的人知道。

编辑: (我从here得到这个) 我想这会奏效。进入 Sublime 的菜单为“Tool > Build System > New Build System”。将打开一个新文件,将内容替换为:

{
    "cmd": ["javac", "-Dfile.encoding=UTF8", "-Xlint", "$file"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java",
    "variants": [
        { "cmd": ["javac", "-Xlint", "$file"],
          "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
          "selector": "source.java",
          "name": "Java Lintter"
        },
        { 
          "cmd": ["java", "-Dfile.encoding=UTF8", "$file_base_name"],
          "name": "Run Java"
        }
    ]
}

您可以查看herehere

【讨论】:

  • 我找不到这个文件夹。可能是我在 Mac 上使用 Sublime Text 3。
  • 我注意到它应该位于 App Directory 下的“Packages”目录下,并使用更多信息对其进行编辑。您现在可以尝试我写的内容,但无论如何都不会发现。
  • 您使用的是 ST3 还是 ST2,因为我的文件夹结构似乎与您不同?我的包文件夹几乎是空的。那里没有 python 或 java 文件夹。我需要为此安装一个软件包吗?
  • ST3 和你一样。只是忘记目录。你可以做我告诉你的事情,而不需要文件夹/文件。在 SublimeText3 中,您将只使用菜单。 I have a screenshot for you as in here.
  • javac: invalid flag: -Dfile.encoding=UTF8 Usage: javac 使用 -help 获取可能的选项列表
猜你喜欢
  • 2016-07-29
  • 2016-04-15
  • 1970-01-01
  • 1970-01-01
  • 2017-07-27
  • 2015-05-16
  • 1970-01-01
  • 1970-01-01
  • 2016-05-30
相关资源
最近更新 更多