在 SublimeLinter 的 sublimelinter_executable_map 中设置相对路径

Posted

技术标签:

【中文标题】在 SublimeLinter 的 sublimelinter_executable_map 中设置相对路径【英文标题】:Setting relative path in SublimeLinter's sublimelinter_executable_map 【发布时间】:2013-12-15 21:01:52 【问题描述】:

设置: 便携式版本的Sublime Text 2 及其插件Sublimelinternode.exe

sublimelinter_executable_map 必须设置为使Sublimelinter 使用node.exe 作为 javascript 引擎。

可以使用相对路径而不是完全限定路径来做到这一点吗?

尝试使用MSDN 中给出的不同形式的相对路径,插件未能检测到node.exe。我得到的控制台消息是SublimeLinter: javascript disabled (One of the following JavaScript engines must be installed: node.js, JavaScriptCore)

【问题讨论】:

Windows 快捷方式和开始菜单项可以设置 Sublime Text 可执行文件的工作目录。如果任何路径是相对的,我猜它们是相对于这个工作目录的。如果插件允许相对路径输入,您可以从 SublimeLinter 源代码中确认:github.com/SublimeLinter/SublimeLinter 【参考方案1】:

您在此主题上的 GitHub 问题:

https://github.com/SublimeLinter/SublimeLinter/issues/612

是否与这些重复:

https://github.com/SublimeLinter/SublimeLinter/issues/611 https://github.com/SublimeLinter/SublimeLinter/issues/459

这似乎是一个热门话题。

我分叉了存储库并开始为你编写一个补丁,它似乎围绕这个部分:

https://github.com/SublimeLinter/SublimeLinter/blob/4ef4b2ca08e0224b8af59bf3406c4927432efb94/sublimelinter/modules/base_linter.py#L380

但后来,我恍然大悟……环境变量。由于这似乎是许多未解决请求的普遍问题,因此您似乎应该设置 PATH 环境变量,并将您希望找到的位置首先放在该变量的前面。

不知道您的 Windows 版本,设置环境变量的过程会因您的版本而异,因此您应该尝试一下,然后将该方法用作您所有环境的标准(看起来暗示你有不止一个要维护)。

更新: Ruby 似乎允许相对路径,但 JavaScript 不允许,因为这个部分:

https://github.com/SublimeLinter/SublimeLinter/blob/4ef4b2ca08e0224b8af59bf3406c4927432efb94/sublimelinter/modules/base_linter.py#L380

取决于:JAVASCRIPT_ENGINE_WRAPPERS_PATH

所以答案是,除非该代码被改编,否则不会。 JS不能使用相对路径。

【讨论】:

PATHS 很好,但由于这是一个可移植的设置,我有兴趣在 'sublimelinter_executable_map' 中使用相对路径

以上是关于在 SublimeLinter 的 sublimelinter_executable_map 中设置相对路径的主要内容,如果未能解决你的问题,请参考以下文章

SublimeLinter:如何从 Sublime Text 3 中删除

求教Sublime Text2 SublimeLinter插件安装问题

Sublime Text3 安装SublimeLinter后无法配置

sublimelinter怎么配置

用于 cppcheck 的 SublimeLinter(用于 sublime 3)背景模式不起作用

sublime中安装sublimelinter php 语法检查