ScalaFormat
Sublime Text的另一个Scala代码格式化工具。
详情
安装次数
- 总数 9K
- Win 3K
- Mac 4K
- Linux 2K
2022年8月6日 | 2022年8月5日 | 2022年8月4日 | 2022年8月3日 | 2022年8月2日 | 2022年8月1日 | 2022年7月31日 | 2022年7月30日 | 2022年7月29日 | 2022年7月28日 | 2022年7月27日 | 2022年7月26日 | 2022年7月25日 | 2022年7月24日 | 2022年7月23日 | 2022年7月22日 | 2022年7月21日 | 2022年7月20日 | 2022年7月19日 | 2022年7月18日 | 2022年7月17日 | 2022年7月16日 | 2022年7月15日 | 2022年7月14日 | 2022年7月13日 | 2022年7月12日 | 2022年7月11日 | 2022年7月10日 | 2022年7月9日 | 2022年7月8日 | 2022年7月7日 | 2022年7月6日 | 2022年7月5日 | 2022年7月4日 | 2022年7月3日 | 2022年7月2日 | 2022年7月1日 | 2022年6月30日 | 2022年6月29日 | 2022年6月28日 | 2022年6月27日 | 2022年6月26日 | 2022年6月25日 | 2022年6月24日 | 2022年6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 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 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 1 | 2 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 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 |
README
ScalaFormat
摘要
ScalaFormat是一个针对Sublime Text的Scala代码格式化插件。它基于Ikeda Takafumi的Sublime Scalariform插件重构,并增加了以下功能:
- 直接对缓冲区进行格式化,而不是直接对源文件进行格式化。
- 支持文件保存时的自动格式化(默认禁止)。
- 支持Sublime Text 3。
先决条件
- Java™ 5或更高版本。
- 耐心 :) - scalariform可能会需要几秒钟才能完成。
安装
通过Package Control插件
安装ScalaFormat最简单的方法是通过Package Control。
在安装Package Control后,重新启动Sublime Text。
- 呼出命令面板(在Windows和Linux下为 Ctrl+Shift+P,在OS X下为 ⌘+⇧+P)。
- 输入“Install”并选择“Package Control: Install Package”。
- 从列表中选择“ScalaFormat”。
使用Package Control的优势在于,它将自动使ScalaFormat保持最新状态。
手动安装
没有Git: 下载最新源代码,并将其解压缩到“Packages”目录。
带有Git: 在您的Sublime Text 2“Packages”目录中键入以下命令
git clone git://github.com/timonwong/ScalaFormat.git
“Packages”目录位于
- Windows:
%APPDATA%\Sublime Text 2\Packages\
- Linux:
~/.config/sublime-text-2/Packages/
- OS X:
~/Library/Application Support/Sublime Text 2/Packages/
使用方法
快捷键
此插件的默认快捷键
- Ctrl+Alt+F: 格式化当前文件。
命令面板
打开命令面板,它看起来像 ScalaFormat: 格式化当前文件
。
设置
{
// If the executable is not in the system path, you may have to set the java executable manually
"java_executable": "java",
// Absolute path to your scalariform binary, leave null to use the one shipped with this plugin
"scalariform_jar": null,
// Auto format on file save
"autoformat_on_save": false,
// scalariform command line options - preferences
// https://github.com/mdr/scalariform/wiki/Command-line-tool
"scalariform": {
// Enable/disable Align parameters on different lines in the same column
"alignParameters": false,
// Enable/disable Align the arrows of consecutive single-line case statements
"alignSingleLineCaseStatements": false,
// Set Maximum number of spaces inserted before an arrow to align case statements: [1-100]
"alignSingleLineCaseStatements.maxArrowIndent": 40,
// Enable/disable Compact Control Readability style
"compactControlReadability": false,
// Enable/disable Omit spaces when formatting a '+' operator on String literals
"compactStringConcatenation": false,
// Enable/disable Double indent either a class's parameters or its inheritance list
"doubleIndentClassDeclaration": false,
// Enable/disable Format XML literals
"formatXml": true,
// Enable/disable Indent local defs an extra level
"indentLocalDefs": false,
// Enable/disable Indent package blocks
"indentPackageBlocks": true,
// Set Number of spaces to use for indentation: [1-10]
"indentSpaces": 2,
// Enable/disable Use a tab character for indentation
"indentWithTabs": false,
// Enable/disable Start multiline Scaladoc comment body on same line as the opening '/**'
"multilineScaladocCommentsStartOnFirstLine": false,
// Enable/disable Allow a newline before a ')' in an argument expression
"preserveDanglingCloseParenthesis": false,
// Enable/disable Place Scaladoc asterisks beneath the second asterisk in the opening '/**', as opposed to the first
"placeScaladocAsterisksBeneathSecondAsterisk": false,
// Enable/disable Preserve a space before a parenthesis argument
"preserveSpaceBeforeArguments": false,
// Enable/disable Replace arrow tokens with unicode, equivalents: => with ⇒, and <- with ←
"rewriteArrowSymbols": false,
// Enable/disable Add a space before colons
"spaceBeforeColon": false,
// Enable/disable Require a space after '[' and before ']'
"spaceInsideBrackets": false,
// Enable/disable Require a space after '(' and before ')'
"spaceInsideParentheses": false,
// Enable/disable Add a space around the @ token in pattern binders
"spacesWithinPatternBinders": true
}
}
项目设置
在开始之前,您可能想看看 ScalaFormat.sublime-settings。
要编辑您的项目设置,请从主菜单选择“项目/编辑项目”。ScalaFormat的项目设置应如下所示
{
// project folders, etc
// ...
// project settings
"settings":
{
"ScalaFormat":
{
"autoformat_on_save": true,
"scalariform": {
"alignParameters": true,
"rewriteArrowSymbols": true
}
}
}
}
新增功能
v1.2.0 (2013年7月19日)
- 修正了完全不工作的自定义设置。
- 减少了错误提示:默认选项重写(现在您不需要在自定义之前复制整个“scalariform”部分,'scalariform'部分的默认选项将自动检索)。
- 添加了对项目设置的每个项目的支持。
v1.1.1 (2013年7月15日)
- 修正了与Sublime Text 3和包管理的兼容性问题。
v1.1 (2013年6月3日)
- 添加了对Sublime Text 3的支持。
- 更新了scalariform可执行文件。
v1.0
- 首次发布。
许可证
本插件采用MIT许可证发布
Copyright (c) 2012-2013 Timon Wong
Portions Copyright (c) 2012 Takafumi Ikeda
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.