在Sublime_text中运行外部命令

时间:2012-06-25 09:46:07

标签: rhino sublimetext2

在Win 7上,我尝试在Sublime_text2(ST2)中运行Javascript脚本(rhino)。作为ST2相对较新而且不精通Python,我遇到了编码问题。这是我的“插件”:

import sublime
import sublime_plugin
from urllib import pathname2url(*) 

class RhinoCommand(sublime_plugin.TextCommand):
def run(self, edit):
    script = pathname2url(self.view.file_name())
    self.view.window().run_command("exec", {"cmd": ["java", "-cp", ".;/D:/Javascript/Rhino/rhino-1.7R4/js.jar", "org.mozilla.javascript.tools.shell.Main", "-version", "180", "-require", "-modules", "/path/to/a/module" -f", script]})

添加了一个键绑定:

{ "keys": ["ctrl+j"], "command": "rhino" }

(*)添加了这个导入以防止java.net.URISyntaxException并且显然很好。

但是,在某些情况下,某些异常会在没有更多信息的情况下生成此输出

[Decode error - output not utf-8]

如何更改此行为?我试过

def run(self, edit, encoding="cp1252"): #or cp850 (as windows command "chcp" says 850 on my box) with no effect.

我尝试使用构建而不是命令,但我不知道如何用pathname2url包装$ file。 我的问题是如何在所有情况下摆脱[解码错误 - 输出不是utf-8]。

提前致谢

0 个答案:

没有答案