我正在尝试使用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
}
}
答案 0 :(得分:0)
documentation for SublimeLinter非常广泛,但是非常值得您花时间阅读所有。您可以在Package Control page上找到SublimeLinter-xmllint
的自述文件,其中包含指向主要SublimeLinter文档的相关部分的链接,用于设置和配置。
SublimeLinter的插件生态系统功能强大,可配置且可扩展,但遗憾的是,它并不一定能够开箱即用,因此通常需要进行一些设置和配置。但是,所提供的定制程度将弥补学习如何使一切正常工作所花费的时间。在不知道您的确切设置的情况下,我无法提供更具体的内容,但文档非常好。
答案 1 :(得分:0)
我在Sublimelinter和Sublimelinter-contrib-clang方面遇到了类似的问题。 Sublimelinter-php正在运行,但不是Sublimelinter-contrib-clang。不确定这是否会对xmlint有所帮助,但也许它值得一试。
有什么帮助我弄清楚是在检查控制台输出(View> Show Console),这帮助我弄清楚出了什么问题。几次搜索后,我似乎需要重新安装xcode的命令行工具。
我能够运行xcode-select --install
,现在它正在为我工作。
答案 2 :(得分:0)
如果您或其他人仍需要此功能,请尝试此操作。您需要添加一些用户设置。
打开默认设置并将整个文件复制到用户设置(Preferences -> Package Settings -> SublimeLinter -> Settings – Default
)。
在用户设置文件中,将顶级密钥从default
更改为user
。
添加linters
设置(如果它不存在)。它应该是这样的:
"linters": {
"xmllint": {
"@disable": false,
"args": [
"--xinclude",
"--postvalid",
"--noout",
],
"excludes": []
}
},
答案 3 :(得分:0)
我也遇到了同样的问题,下面显示了您需要的(在Linux和Windows上)Sublime Linter的最低用户设置。再次将debug设置为true,并查看控制台输出会很有帮助
如果您有dtd文件的相对路径,则需要xmllinter在xml文件自己的目录中运行,因此需要“ working_dir”:“ $ file_path”,参数
并且您需要将选择器注释掉(默认复制到 sublimelinter设置中的空白字符串使xmllint 整理所有文件(不只是.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",
}
},
}