ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

Single​Trailing​NewLine

作者 mattst 全部

一个 Sublime Text 套件,以确保文件末尾恰好有一个尾随换行符。

详细信息

安装量

  • 总计 4K
  • Win 1K
  • Mac 2K
  • Linux 1K
2021年8月6日 2021年8月5日 2021年8月4日 2021年8月3日 2021年8月2日 2021年8月1日 2021年7月31日 2021年7月30日 2021年7月29日 2021年7月28日 2021年7月27日 2021年7月26日 2021年7月25日 2021年7月24日 2021年7月23日 2021年7月22日 2021年7月21日 2021年7月20日 2021年7月19日 2021年7月18日 2021年7月17日 2021年7月16日 2021年7月15日 2021年7月14日 2021年7月13日 2021年7月12日 2021年7月11日 2021年7月10日 2021年7月9日 2021年7月8日 2021年7月7日 2021年7月6日 2021年7月5日 2021年7月4日 2021年7月3日 2021年7月2日 2021年7月1日 2021年6月30日 2021年6月29日 2021年6月28日 2021年6月27日 2021年6月26日 2021年6月25日 2021年6月24日 2021年6月23日 2021年6月22日
Windows 2 0 1 0 0 0 2 0 1 0 1 1 0 1 0 2 1 1 1 1 2 0 1 2 0 1 0 1 1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 1 2 0 0 0 0 0 0 2 0 0 0 0 2 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
Linux 0 0 0 0 0 0 0 0 1 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 1

阅读文档

源代码
raw.​githubusercontent.​com

Single Trailing Newline - Sublime Text 套件

此 Sublime Text 套件确保文件末尾恰好有一个尾随换行符。

删除文件末尾的所有空白和尾随换行符(如果有),然后插入一个单独的换行符。

有意忽略空文件,即文件大小为零的文件,不会在其中插入换行符。

注意:这与 ensure_newline_at_eof_on_save 设置不同,该设置确保文件末尾至少有一个尾随换行符,而不是确保恰好有一个尾随换行符。

功能

  • 可以设置为每次保存文件时自动运行。默认情况下是禁用的,但可以通过更改设置来启用,可以是所有文件或特定语法的文件。

  • 提供命令面板条目以更改套件的设置;添加/删除将触发插件的语法,并允许或禁止插件与所有语法一起运行。

  • 也可以通过使用其命令面板条目或将其分配给快捷键来运行。在这两种情况下,将忽略设置文件,并且它将适用于所有文件。

要求

  • Sublime Text v2 或 v3
  • 已测试:v2 build 2221 和 v3 builds 3114 和 3083

安装说明

包控制

  • 打开命令面板并选择:包控制:安装包
  • 等待更新包列表,然后选择:SingleTrailingNewLine

手动安装

  • 下载包的压缩文件(点击下载)并解压,或者使用git clone命令从GitHub页面获取包。
  • 将包文件夹移动到Sublime Text的config目录下的Packages文件夹。 在哪里?
  • 将它从sublime-single-trailing-new-line-master重命名为SingleTrailingNewLine
  • 你应该得到这个文件夹:Packages/SingleTrailingNewLine/

设置和用法

该插件旨在在文件保存时自动运行,而不是通过手动从命令面板或使用快捷键运行。但是,一些用户可能更喜欢在需要时手动运行它,或者当他们在语法列表设置中没有添加语法时,可以提供此选项。

命令面板

此包包括几个命令面板命令

  • Single Trailing New Line:确保文件末尾恰好有一个尾随换行符。当从命令面板运行时,插件将适用于所有文件,设置文件将被忽略。

  • Single Trailing New Line: Add Current Syntax:将当前文件的完整语法名称添加到语法列表设置中。

  • Single Trailing New Line: Remove Current Syntax:将当前文件的完整语法名称从语法列表设置中删除。

  • Single Trailing NewLine: Run For All Syntaxes:将所有语法设置启用设置为“true”。

  • Single Trailing NewLine: Do Not Run For All Syntaxes:将所有语法设置启用设置为“false”。

  • Single Trailing New Line: Copy Current Syntax:将当前文件的完整语法名称复制到剪贴板。[过渡性:现在由于可以使用命令面板添加/删除语法,因此不再真正需要。]

快捷键

从快捷键运行时,插件将适用于所有文件,设置文件将被忽略。

将您选择的快捷键添加到您的用户快捷键文件(“菜单 --> 偏好设置 --> 快捷键 - 用户”)

{ "keys": ["ctrl+whatever"], "command": "single_trailing_new_line" }

由于现在有如此多的Sublime Text包可用,快捷键冲突很常见,因此最好让用户为自己像这样的小包选择自己的键。

不确定?您可以尝试:"ctrl+k", "ctrl+n"(这不是我系统中正在使用的键)。

对于希望使用所有功能的用户,以下是可用的命令

  • single_trailing_new_line:确保文件末尾恰好有一个尾随换行符。
  • single_trailing_new_line_add_syntax:将当前语法添加到语法列表设置中。
  • single_trailing_new_line_remove_syntax:从语法列表设置中删除当前语法。
  • single_trailing_new_line_copy_syntax:将当前语法复制到剪贴板。
  • single_trailing_new_line_enable_for_all_syntaxes_setting:将所有语法设置启用设置为“true”或“false”。
    • 需要设置一个名为"value"的参数,其值为“true”或“false”,例如:"args": {"value": true}

设置/自动运行

该插件可以在每次保存文件时自动运行,以确保文件以恰好一个尾随换行符保存,但默认情况下这是禁用的。可以通过更改包的用户设置文件中的默认设置来为所有文件或仅为特定语法的文件启用它。

包的用户设置文件的路径必须位于Sublime Text配置文件夹中(在哪里?)。

Packages/User/SingleTrailingNewLine.sublime-settings

默认设置和用户设置文件可以通过Sublime Text菜单访问

Menu --> Preferences --> Package Settings --> SingleTrailingNewLine --> Settings - Default
Menu --> Preferences --> Package Settings --> SingleTrailingNewLine --> Settings - User

更改设置时,请确保使用用户设置文件。

有2个设置

  • enable_for_all_syntaxes / 。如果设置为,则该插件将对所有文件生效,无论其语法如何,每次保存文件时都会运行插件。默认:。需要注意的是,将此设置为并不会完全禁用插件,它只会阻止插件对所有语法运行。当设置为时,插件仍将为在enable_for_syntaxes_list设置中列出的语法运行。

  • enable_for_syntaxes_list字符串列表。如果将一个或多个语法名称添加到此列表中,则每次保存匹配语法名称之一的文件时,插件都会运行。默认:[] - 空列表。如果将enable_for_all_syntaxes设置设置为,则忽略此设置。更多信息见示例设置文件下方。

Sublime Text v3 build 3084引入了.sublime-syntax语法文件格式,从该版本开始,所有内置语法文件都使用该格式,除Packages/Text/Plain text.tmLanguage外。如果已安装包含它们的语法包,系统上可能还存在其他.tmLanguage语法文件,例如PythonImproved。Sublime Text v2和v3 build 3084之前的版本仅使用.tmLanguage语法文件。

以下是一个示例Packages/User/SingleTrailingNewLine.sublime-settings文件

{
    "enable_for_all_syntaxes": false,
    "enable_for_syntaxes_list":
    [
        "Packages/C++/C.sublime-syntax",
        "Packages/C++/C++.sublime-syntax",
        "Packages/Java/Java.sublime-syntax",
        "Packages/JavaScript/JSON.sublime-syntax",
        "Packages/Python/Python.sublime-syntax",
        "Packages/Python Improved/PythonImproved.tmLanguage",
        "Packages/Rails/",
        "Packages/XML/XML.sublime-syntax"
    ]
}

以下关于enable_for_syntaxes_list条目的信息应予以注意

  • 它们的大小写敏感,不接受正则表达式或通配符。

  • 通常建议使用完整的语法名称,如上例所示。部分语法名称也可以使用,例如"XML.sublime-syntax",但在使用调色板命令时,只有完整的语法名称会被添加和移除。

  • 实际上任何大小写敏感的子字符串匹配都会生效;例如,列表["C++", "Java", "Python", "Rails", "XML"]将匹配上例所示的所有语法,但它也将匹配更多的语法(ST v3默认语法中的17个)。

  • "C.sublime-syntax"将匹配"Packages/C++/C.sublime-syntax""Packages/Objective-C/Objective-C.sublime-syntax"。单独使用"C"是不明智的,因为它将匹配包含大写字母C的任何语法(ST v3默认语法中的16个)。

  • 可以使用语法自身的路径组件匹配(多语法)包中的所有语法。例如,"Packages/Rails/"将匹配来自Rails包的所有5个语法,即"Packages/Rails/Ruby on Rails.sublime-syntax"以及其他4个。

  • 单独使用"Java"将匹配来自JavaJavaScript包的所有7个语法,与"Packages/Java"相同,但不与"Packages/Java/"相同,因为尾随斜线不会匹配"Packages/JavaScript/

仅供参考,提供了两个列表:Sublime Text内置语法列表

使用v3 build 3084之前的v3版本的用户应参考v2列表。

许可证

本包根据《MIT许可》(MIT)许可。见LICENSE文件