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

Auto Encoding for Ruby

作者 elomarns ST2

用于在需要时自动在 Ruby 文件中包含 #encoding: utf-8 的 Sublime Text 2 插件。

详细信息

  • 2013.05.16.05.16.05
  • github.com
  • github.com
  • 11 年前
  • 36 分钟前
  • 12 年前

安装次数

  • 总数 4K
  • Win 1K
  • Mac 2K
  • Linux 1K
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 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
Mac 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
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

README

源代码
raw.githubusercontent.com

Auto Encoding for Ruby

我讨厌在包含非 ASCII 字符的每个 Ruby 文件中包含 # encoding: utf-8。因此,我创建了这个插件来帮我完成这个无聊的任务。它会在需要时自动在 Ruby 文件顶部添加编码声明,并在不再需要时移除它。就这么简单。

安装

安装 Auto Encoding for Ruby 有三种方法:使用包控制、使用 Git 或直接下载。

包控制

在 Sublime Text 2 中,打开您的命令面板(在 OS X 上为 ⌘ + ⇧ + P),然后选择 "包控制:安装包"。之后,搜索 "Auto Encoding for Ruby" 并进行安装!

Git

打开您的终端应用程序并进入您的 Packages 目录,该目录的位置取决于您的操作系统

  • OS X

    cd ~/Library/Application\ Support/Sublime\ Text\ 2/Packages
    
  • Linux

    cd ~/.Sublime\ Text 2/Packages/
    
  • Windows

    cd %APPDATA%/Sublime Text 2/Packages/
    

之后,您只需克隆此仓库

git clone git://github.com/elomarns/auto-encoding-for-ruby.git "Auto Encoding for Ruby"

下载

点击上面的漂亮云图标,并下载包含此插件的 zip 文件。然后解压文件并将生成的文件夹移动到您的 Packages 目录中。

使用方法

Auto Encoding for Ruby 会在以下情况下在 Ruby 文件顶部添加编码声明

  • 在您输入文件的第一个非 ASCII 字符之后;
  • 当您打开一个包含非 ASCII 字符但没有编码声明的文件时。

它还会在以下情况下移除编码声明

  • 在您删除最后一个非 ASCII 字符之后;
  • 当您打开一个包含编码声明但没有非 ASCII 字符的文件时。

换句话说,只需像没有插件一样编写代码,您就会没事。

配置

尽管此插件开箱即用,但您可以进行调整以满足需求。仅供参考,默认设置位于 Packages/Auto Encoding for Ruby/Auto Encoding for Ruby.sublime-settings 文件中

{
  "allowed_syntaxes":
  [
    "Packages/Ruby/Ruby.tmLanguage",
    "Packages/Rails/Ruby on Rails.tmLanguage",
    "Packages/RSpec/RSpec.tmLanguage"
  ],

  "encoding_declaration": "# encoding: utf-8\n\n",
  "encoding_declaration_regex": "^\\s*#\\s*encoding\\s*:\\s*utf-8\\s*$",
  "remove_encoding_declaration": true,
  "check_encoding_on_load": true,
  "check_encoding_on_keystroke": true,
  "check_encoding_on_save": true
}

允许的语法

默认情况下,Auto Encoding for Ruby 将与 Ruby、Ruby on Rails 和 RSpec 语法一起使用。但您可以通过在您的 Packages/User/Auto Encoding for Ruby.sublime-settings 文件中设置新的值来添加或删除语法。例如,如果您想要移除 RSpec 支持,只需更新此设置为以下内容

{
  "allowed_syntaxes":
  [
    "Packages/Ruby/Ruby.tmLanguage",
    "Packages/Rails/Ruby on Rails.tmLanguage"
  ]
}

编码声明

默认编码声明为 # encoding: #utf-8,但您可以根据需要更改它。为此,只需在您的 Packages/User/Auto Encoding for Ruby.sublime-settings 文件中将 "encoding_declaration" 设置的新值设置为。但如果您更改此设置,您还必须更改 "encoding_declaration_regex"。此设置用于检查您的文件是否已存在编码声明。因此,如果您只更改编码声明但未更新正则表达式,则插件无法知道您的文件是否已存在编码声明,并且会无限地添加它。

这是更改此设置的一个示例

{
  "encoding_declaration": "# -*- encoding : utf-8 -*-\n\n",
  "encoding_declaration_regex": "^\\s*#\\s*-\\*-\\s*encoding\\s*:\\s*utf-8\\s*-\\*-\\s*$",
  "remove_encoding_declaration": false,
  "check_encoding_on_load": true,
  "check_encoding_on_keystroke": true,
  "check_encoding_on_save": true
}

请记住在 "encoding_declaration_regex" 设置中对字符类进行转义。

始终添加编码声明

默认情况下,此插件仅在检测到非ASCII字符才会将编码声明添加到文件中。如果您想始终添加编码声明,无论是否有非ASCII字符,则将设置 "always_generate_encoding_declaration" 更改为 true

许可

您可以使用此插件进行任何您想做的操作。这个许可如何?