SublimeLinter-contrib-scalac
使用 scalac 的 SublimeLinter 3 插件,用于 Scala
详细信息
安装次数
- 总次数 2K
- Win 771
- Mac 964
- Linux 564
8 月 6 日 | 8 月 5 日 | 8 月 4 日 | 8 月 3 日 | 8 月 2 日 | 8 月 1 日 | 7 月 31 日 | 7 月 30 日 | 7 月 29 日 | 7 月 28 日 | 7 月 27 日 | 7 月 26 日 | 7 月 25 日 | 7 月 24 日 | 7 月 23 日 | 7 月 22 日 | 7 月 21 日 | 7 月 20 日 | 7 月 19 日 | 7 月 18 日 | 7 月 17 日 | 7 月 16 日 | 7 月 15 日 | 7 月 14 日 | 7 月 13 日 | 7 月 12 日 | 7 月 11 日 | 7 月 10 日 | 7 月 9 日 | 7 月 8 日 | 7 月 7 日 | 7 月 6 日 | 7 月 5 日 | 7 月 4 日 | 7 月 3 日 | 7 月 2 日 | 7 月 1 日 | 6 月 30 日 | 6 月 29 日 | 6 月 28 日 | 6 月 27 日 | 6 月 26 日 | 6 月 25 日 | 6 月 24 日 | 6 月 23 日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
读我
SublimeLinter-contrib-scalac
此拼写检查插件为 SublimeLinter 提供了访问 scalac 的接口。它将用于具有“scala”语法的文件。
重要提醒!
请注意,由于 scalac
需要完整的目录上下文才能运行,因此此拼写检查插件目前只有在文件被保存时才会对文件进行拼写检查。一旦您修改了文件,所有的拼写检查标记都会被清除。
安装
必须安装 SublimeLinter 3 才能使用此插件。如果未安装,请按照此处的说明进行。
拼写检查器安装
在使用此插件之前,您必须确保系统已安装 scalac
。 scalac
是 scala
开发者 SDK 的一部分,可以从此处下载。
注意:此插件需要 Scala 2.9.1 或更高版本。
拼写检查器配置
为了使 SublimeLinter 能够执行 scalac
,您必须确保其路径对 SublimeLinter 可用。在继续之前,请阅读并遵循文档中的“寻找拼写检查器可执行文件”部分,教程中的“验证您的 PATH”步骤。
安装和配置 scalac
后,您可以安装 SublimeLinter-contrib-scalac 插件(如果尚未安装)。
插件安装
请使用Package Control 来安装拼写检查器插件。这可以确保插件在可用新版本时更新。如果您想从源代码安装以修改源代码,那么您可能已经知道了该怎么做,所以我们不会在此处介绍。
要通过 Package Control 安装,请按照以下步骤操作
在Sublime Text中,打开命令面板,并输入
install
。在命令中你应该看到Package Control: Install Package
。如果该命令没有高亮显示,请使用键盘或鼠标选择它。在Package Control获取可用插件列表的过程中可能会有几秒钟的暂停。当插件列表出现时,输入
scalac
。在条目中你应该看到SublimeLinter-contrib-scalac
。如果该条目没有高亮显示,请使用键盘或鼠标选择它。
设置
有关SublimeLinter如何与设置协同工作的信息,请参阅设置。有关通用linter设置的信息,请参阅Linter 设置。
除了标准的SublimeLinter设置之外,SublimeLinter-contrib-scalac还提供了自己的设置。标记为“行内设置”或“行内覆盖”的也可以行内使用。
设置 | 类型 | 描述 | 行内设置 | 行内覆盖 |
---|---|---|---|---|
lint | str \ |
list |
要应用的应用规则列表,以逗号分隔。 | |
classpath | str \ |
list |
以冒号分隔的classpath条目列表。 | ✓ |
classpath_filename | str |
包含冒号分隔的classpath的文件名。 | ✓ | |
target_directory | str |
在此放置由scalac 生成的class文件。 |
lint
lint
选项的有效规则取决于所安装的Scala版本。默认列中有检查标记的选项默认启用
规则 | 描述 | Scala 版本 | 默认 |
---|---|---|---|
check-null | 在选择可空引用时发出警告。 | 2.9.1-2.10.4 | |
dead-code | 当识别到死代码时发出警告。 | >= 2.9.1 | 2.9.1-2.9.3 |
value-discard | 当非Unit表达式结果未使用时发出警告。 | >= 2.9.1 | |
numeric-widen | 当数值变宽时发出警告。 | >= 2.9.1 | |
nullary-unit | 当nullary方法返回Unit时发出警告。 | >= 2.9.1 | ✓ |
inaccessible | 警告有关方法签名中的不可访问类型。 | >= 2.9.1 | ✓ |
nullary-override | 当非nullary def f() 覆盖nullary def f 时发出警告。 |
>= 2.9.1 | ✓ |
adapted-args | 当修改参数列表以匹配接受者时发出警告。 | >= 2.10.0 | ✓ |
infer-any | 当类型参数推断为Any 时发出警告。 |
>= 2.11.0 | ✓ |
unused | 当局部和私有值、变量、匿名函数和类型未使用时发出警告。 | >= 2.11.0 | |
unused-import | 当导入未使用时发出警告。 | >= 2.11.0 | |
missing-interpolator | 字符串字面值似乎缺少插值器ID。 | >= 2.11.2 | ✓ |
doc-detached | ScalaDoc注释看起来与元素分离。 | >= 2.11.2 | ✓ |
private-shadow | 私有字段(或类参数)掩盖了超类字段。 | >= 2.11.2 | ✓ |
poly-implicit-overload | 参数化重载的隐式方法不能作为视图界限可见。 | >= 2.11.2 | ✓ |
option-implicit | 使用隐式视图的Option.apply。 | >= 2.11.2 | ✓ |
delayedinit-select | 选择DelayedInit的成员。 | >= 2.11.2 | ✓ |
by-name-right-associative | 右结合操作符的按名称参数。 | >= 2.11.2 | ✓ |
package-object-classes | 在包对象中定义的类或对象。 | >= 2.11.2 | ✓ |
unsound-match | 模式匹配可能不会是类型安全的。 | >= 2.11.2 | ✓ |
deprecation | 对于废弃的API使用发出警告和位置。 | >= 2.9.1 | |
unchecked | 在依赖假设的生成代码中启用额外的警告。 | >= 2.9.1 | |
fatal-warnings | 如果存在任何警告,则编译失败。 | >= 2.9.1 | |
nowarn | 不生成任何警告。 | >= 2.9.1 | |
feature | 对于应该显式导入的功能的使用,发出警告和位置。 | >= 2.10.0 |
例如,要启用numeric-widen
和deprecation
,请将其添加到linter设置中
"scalac": {
"lint": "numeric-widen,deprecation"
}
或作为一个列表
"scalac": {
"lint": [
"numeric-widen",
"deprecation"
]
}
要启用feature
并禁用doc-detached
但保留其余设置,请在文件的第一行或第二行上放置此注释
// [SublimeLinter scalac-lint:+feature,+-doc-detached]
classpath
如果您指定了 classpath
,则代码检查插件会使用这些条目作为输入运行 scalac -classpath
。
对于 sbt
项目,您可以运行以下命令以获取完整的类路径
sbt 'export fullClasspath'
您也可以将 classpath
指定为字符串
"scalac": {
"classpath": "${project}/target/scala-2.11/classes:${project}/lib/lib.jar"
}
或作为一个列表
"scalac": {
"classpath": [
"${project}/target/scala-2.11/classes",
"${project}/lib/lib.jar"
]
}
classpath_filename
如果您指定了 classpath_filename
,则代码检查插件将搜索项目目录及其父目录中具有该名称的文件。如果找到,则将使用文件的文件内容与 scalac -classpath
一起进行代码检查。
如果同时指定了 classpath
和 classpath_filename
,它们的值将合并。
文件内容必须是 JVM 在编译期间要搜索的以冒号分隔的路径列表。例如
/path/to/project/classes:/path/to/project/libs/lib.jar
您还可以在类路径条目之间添加空格以提高可读性
:/path/to/project/classes
:/path/to/project/libs/lib.jar
target_directory
此设置告知 scalac
生成类文件的位置。如果没有已存在的目录,则插件将创建该目录。
例如
"scalac": {
"target_directory": "${project}/target/scala-2.11/classes"
}
如果 target_directory
没有设置,则类文件会放在与其源文件相同的目录中。
贡献
如果您希望贡献改进或修复,请按照以下步骤操作
- 从插件仓库进行分支。
- 从最新的
develop
创建一个单独的主题分支进行开发。 - 提交并推送主题分支。
- 创建一个拉取请求。
- 请耐心等待。:-)
请注意,修改应遵循以下编码规范
- 缩进为 4 个空格。
- 代码应通过 flake8 和 pep257 代码检查。
- 垂直空白有助于可读性,不要害怕使用它。
- 请使用描述性的变量名,除非缩写非常知名,否则不要使用缩写。
重要提醒!
请注意,此存储库使用 overcommit 作为验证工具。在进行任何更改之前,请在本地存储库中安装 overcommit。
感谢您的帮助!