【问题标题】:SublimeLinter 3 not working after installSublimeLinter 3 安装后不工作
【发布时间】:2016-01-06 17:31:41
【问题描述】:

我正在尝试使用 SublimeLinter3 验证 Sublime Text 3(便携式)中的 xml 文件。

我已经安装了 SublimeLinter3 以及 sublimelinter-xml 包。它们都显示在已安装的软件包中。

我已安装 xmllint 并将其添加到我的路径中。当我在控制台中输入 xmllint 时说“输入文件名”,所以我知道 xmllint 已安装。

当我检查 SublimeLinter 首选项时,模式是背景,这意味着它应该始终检查每次更改。

但是什么都没有发生。对于我能想到的任何类型的 xml 错误,编辑器中根本没有反馈。有什么方法可以启用它吗?

编辑:

这是我的设置的样子。用户设置为空。

{
"default": {
    "debug": false,
    "delay": 0.25,
    "error_color": "D02000",
    "gutter_theme": "Packages/SublimeLinter/gutter-themes/Default/Default.gutter-theme",
    "gutter_theme_excludes": [],
    "lint_mode": "background",
    "mark_style": "outline",
    "no_column_highlights_line": false,
    "passive_warnings": false,
    "paths": {
        "linux": [],
        "osx": [],
        "windows": []
    },
    "python_paths": {
        "linux": [],
        "osx": [],
        "windows": []
    },
    "rc_search_limit": 3,
    "shell_timeout": 10,
    "show_errors_on_save": false,
    "show_marks_in_minimap": true,
    "syntax_map": {
        "python django": "python",
        "html 5": "html",
        "html (django)": "html",
        "html (rails)": "html",
        "javascript (babel)": "javascript",
        "php": "html"
    },
    "warning_color": "DDB700",
    "wrap_find": true
}

}

【问题讨论】:

  • 你配置好 SublimeLinter 和插件了吗?
  • 我已经完成了我列出的内容。 SublimeLinter 网站上没有配置说明。只需安装和使用。我都读过。如果有更多配置步骤,我找不到它们...

标签: sublimetext3 xmllint sublimelinter


【解决方案1】:

我刚刚遇到了同样的问题,您需要的 sublime linter 的最低用户设置集(在 Linux 和 Windows 上)如下所示。再次将 debug 设置为 true,查看控制台输出很有帮助

  1. 您需要 --valid 参数来获得输出。
  2. 如果你有 dtd 文件的相对路径,你需要 xmllinter 在 xml 文件自己的目录中运行,因此你需要 "working_dir": "$file_path", 参数,

    李>
  3. 您需要将选择器注释掉(默认复制 来自 sublimelinter 设置是使 xmllint 的空白字符串 lint 所有文件(不仅仅是 .xml 文件))

以下是我的 sublimelinter 用户设置文件:

// SublimeLinter Settings - User
{
    // Set to true to print extra information in the console.
    "debug": true,

    // Linter specific settings.
    // More info: http://www.sublimelinter.com/en/stable/linter_settings.html
    // Linter specific settings except for 'styles' can also be changed
    // in sublime-project settings.
    // What settings are available is documented in the readme of the
    // specific linter plugin.
    // Example:
    "linters": {
        // The name of the linter you installed
        "xmllint": {
            // Disables the linter. The default here is 'not set'
            "disable": false,

            // Additional arguments for the command line. Either a string
            // or an array. If set to a string, we 'shlex.split' it*.
            // E.g. '--ignore D112' or ['--config', './.config/foo.ini']
            //
            // * Note: Use proper quoting around paths esp. on Windows!
            "args": ["--valid"],


            // Lint mode determines when the linter is run. The linter setting
            // will take precedence over the global setting.
            "lint_mode": "background",

            // // Determines for which views this linter will run.
            // use default selectors .. which should work
            // if we have blank selector then we lint all files, which we don't want
            // "selector": "",

            // The current working dir the lint job will run in.
            // we need this file path to get the relative dir that the .dtd file is stored in
            "working_dir": "$file_path",

        }
    },
}

【讨论】:

    【解决方案2】:

    如果您或其他人仍然需要这个,试试这个。您需要添加一些用户设置。

    1. 打开默认设置并将整个文件复制到用户设置 (Preferences -> Package Settings -> SublimeLinter -> Settings – Default)。

    2. 在用户设置文件中,将顶级密钥从default 更改为user

    3. 添加linters 设置(如果不存在)。它应该是这样的:

      "linters": {
          "xmllint": {
              "@disable": false,
              "args": [
                  "--xinclude",
                  "--postvalid",
                  "--noout",
              ],
              "excludes": []
          }
      },
      

    【讨论】:

      【解决方案3】:

      我在使用 Sublimelinter 和 Sublimelinter-contrib-clang 时遇到了类似的问题。 Sublimelinter-php 正在工作,但不是 Sublimelinter-contrib-clang。不确定这是否会对您使用 xmlint 有所帮助,但也许值得一试。

      帮助我弄清楚的是检查控制台输出(查看 > 显示控制台),这有助于我找出哪里出了问题。后来搜索了几次,看来我需要重新安装xcode的命令行工具。

      我能够运行 xcode-select --install,它现在对我有用。

      【讨论】:

        【解决方案4】:

        documentation for SublimeLinter 相当广泛,但非常值得您花时间阅读它全部。您可以在其Package Control page 上找到SublimeLinter-xmllint 的自述文件,其中有指向 SublimeLinter 主要文档的相关部分的链接,用于设置和配置。

        SublimeLinter 的插件生态系统非常强大、可配置和可扩展,但不幸的是并不总是“开箱即用”,因此通常需要进行一些设置和配置。但是,所提供的定制程度将弥补学习如何使一切正常工作所花费的时间。在不知道您的确切设置的情况下,我无法提供更具体的信息,但文档非常好。

        【讨论】:

        • 我已经完成了那里标记的步骤。 SublimeLinter 上可能有很多文档,但是关于让它运行的文档是相当不足的。 SublimeLinter 按照安装说明安装,xmllint 按照安装说明安装并添加到我的路径中。我在文档中阅读的所有其他内容都与安装和运行无关。
        猜你喜欢
        • 2014-06-12
        • 2014-06-21
        • 2015-10-22
        • 2017-06-29
        • 2016-11-16
        • 1970-01-01
        • 2018-01-01
        • 2017-10-16
        • 1970-01-01
        相关资源
        最近更新 更多