0

我正在尝试在 SublimeText2 中使用 SublimeLinter。安装包,node.exe 也是,node.exe 的路径是正确的:

{
    "sublimelinter_executable_map": {
        "javascript":"C:\\Program Files\\nodejs\\node.exe",
        "css":"C:\\Program Files\\nodejs\\node.exe"
    }
}

编写简单的代码:

function foo(){
    x != hg
    а = р
    в  hghhgg
}

保存并且没有 linter 消息!同时在控制台中我看到了错误:

Traceback (most recent call last):
File ".\sublime_plugin.py", line 190, in on_post_save
File ".\sublime_plugin.py", line 154, in run_timed_function
File ".\sublime_plugin.py", line 189, in <lambda>
File ".\SublimeLinter.py", line 744, in on_post_save
File ".\SublimeLinter.py", line 611, in reload_view_module
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 9: ordinal not in range(128)

操作系统:Win7 32位

4

2 回答 2

3

根据 SublimeLinter 默认设置(prefs>pkg settings>sublimelinter>settings-default),“sublimelinter_executable_map”值仅用于指定 perl/php/ruby 路径。所以将它用于 js 和 css 路径将无济于事,甚至可能会破坏它。

以下是我为 JavaSript 设置 linting 的方法:

  • 使用 Package Control 安装 jslint(参见 wbond.com)

    遵循此处找到的所有先决条件和安装说明。

  • 在用户 - SublimeLinter 的设置中:{“sublimelinter”:true,“javascript_linter”:“jslint”}
您也可以改用 jshint,这只是一个偏好问题。

于 2012-11-14T05:01:00.943 回答
2

示例代码第 4 行的大写 B 是 Unicode 字符,而不是 ASCII 字符。SublimeLinter 看起来像是在期待 ASCII 数据,所以当它遇到 Unicode 字节时读取器会失败。

如果将字符和普通 B 并排放置,您可以很容易地看出区别:

в B
于 2012-10-06T17:24:36.610 回答