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

简单 Ember.​js 导航器

作者: noklesta ST2

Sublime Text 2 插件,用于导航 Ember.js 应用程序

详细资料

  • 2012.11.08.17.42.21
  • github.​com
  • github.​com
  • 12年前
  • 55分钟前
  • 12年前

安装数量

  • 总计 3K
  • Win 1K
  • Mac 2K
  • Linux 551
8月7日 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日
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

Sublime Text 2 插件:简单 Ember.js 导航器

一个简单插件,用于导航 Ember.js 应用程序。它的工作方式与我之前的 Simple Rails 导航器 类似,可以与该插件配合使用来导航 Rails 应用程序中的 Ember.js 部分,但也可以用于任何其他 Ember.js 项目。

该插件提供了在快速面板中列出以下文件类型的命令,以方便选择:模型、控制器、视图、模板、混合、数据适配器、存储、状态图表文件、主要应用程序文件以及位于 Ember.js 应用程序根目录中的任何其他文件。支持 JavaScript 和 CoffeeScript。

每种类型文件的存储位置可以按用户或项目自定义(见下文)。此外,尽管您可以自由命名文件,但如果您选择遵循某些约定(深受 Ruby on Rails 启发),则相关文件将列在列表的顶部,以便只需按 Enter 键即可选择它们。例如,如果活动的 ST2 视图中包含一个 Ember 模型,并且您请求控制器列表,则对应于模型的控制器将列在顶部。

以下示例说明了相关性文件功能所需遵守的约定(文件名可以以 .js.coffee.js.coffee 结尾,可能还会带有 .erb 后缀用于 Rails,并且文件可以位于子文件夹中)

一个 Post 模型,以及相应用于列出文章的控制器和对应于当前选定文章的控制器

post.js
posts_controller.js
selected_post_controller.js or current_post_controller.js

RecentPostsView 和相应的 Handlebars 模板

recent_posts_view.js
recent_posts_view.handlebars or recent_posts.handlebars

当然,视图与模板之间的联系需要您将 Handlebars 模板保留在单独的文件中,或许可以使用像 ember_rails 这样的工具来预编译它们。

安装

包控制

安装此插件的简单方法是使用 Package Control

  • 如果您刚刚安装了包控制,您可能需要在此之后重新启动 Sublime Text 2。
  • 打开命令面板(OS X上为Command+Shift+p,Linux/Windows上为Control+Shift+p)。
  • 选择“Package Control: 安装包”(可能需要几秒钟)
  • 列表出现时,选择“Simple Ember.js Navigator”。

Package Control 会自动将 Simple Ember.js Navigator 保持最新版本。

从 GitHub 克隆

或者,您可以直接从 GitHub 将仓库克隆到您的 Packages 目录中

git clone http://github.com/noklesta/SublimeEmberNav

快捷键绑定

该插件不会自动安装任何快捷键绑定。以下是如何设置您自己的快捷键绑定的示例。为了确保它们不会与现有命令冲突,首先在控制台运行 sublime.log_commands(True),然后尝试按键组合,看是否有记录。

{ "keys": ["super+ctrl+m"], "command": "list_ember_models" },
{ "keys": ["super+ctrl+c"], "command": "list_ember_controllers" },
{ "keys": ["super+ctrl+v"], "command": "list_ember_views" },
{ "keys": ["super+ctrl+t"], "command": "list_ember_templates" },
{ "keys": ["super+ctrl+i"], "command": "list_ember_mixins" },
{ "keys": ["super+ctrl+a"], "command": "list_ember_data" },
{ "keys": ["super+ctrl+s"], "command": "list_ember_states" },
{ "keys": ["super+ctrl+0"], "command": "open_ember_application_file" },
{ "keys": ["super+ctrl+r"], "command": "open_ember_root_file" }

如果您使用的是 Vintage 模式并且想使用非修饰键的序列,您可以像这样将键绑定限制在命令模式下

{ "keys": [" ", "m"], "command": "list_ember_models", "context": [{"key": "setting.command_mode"}] },
{ "keys": [" ", "c"], "command": "list_ember_controllers", "context": [{"key": "setting.command_mode"}] },
{ "keys": [" ", "v"], "command": "list_ember_views", "context": [{"key": "setting.command_mode"}] },
{ "keys": [" ", "t"], "command": "list_ember_templates", "context": [{"key": "setting.command_mode"}] },
{ "keys": [" ", "i"], "command": "list_ember_mixins", "context": [{"key": "setting.command_mode"}] },
{ "keys": [" ", "a"], "command": "list_ember_data", "context": [{"key": "setting.command_mode"}] },
{ "keys": [" ", "s"], "command": "list_ember_states", "context": [{"key": "setting.command_mode"}] },
{ "keys": [" ", "0"], "command": "open_ember_application_file", "context": [{"key": "setting.command_mode"}] },
{ "keys": [" ", "r"], "command": "open_ember_root_file", "context": [{"key": "setting.command_mode"}] }

所有命令也都可以从命令面板中使用(搜索以“Simple Ember.js Navigator”开头的命令)。

文件位置

默认情况下,不同文件假定位于项目根目录下以它们类型命名的文件夹中。位置指定为正则表达式列表,每个代表一个路径段,将通过适用于您的平台的目录分隔符连接起来。主应用程序文件的名称指定为一个正则表达式,该正则表达式将自动锚定到文件名开始和结束。默认设置如下

"root":                 [""],

"models_location":      ["models"],
"controllers_location": ["controllers"],
"views_location":       ["views"],
"templates_location":   ["templates"],
"mixins_location":      ["mixins"],
"data_location":        ["data"],
"states_location":      ["states"],

"application_file":     "app.(?:js|(?:js.)?coffee)(?:.erb)?"

这些设置在 SublimeEmberNav.sublime-settings 中,可以在 Packages/User/SublimeEmberNav.sublime-settings 或特定项目的项目文件中的顶级“settings”键中重写。

例如,如果您的 Ember.js 应用程序通常是 Rails 应用程序的一部分,您可以在用户首选项文件(Packages/User/SublimeEmberNav.sublime-settings)中设置根位置如下

{
  "root": ["app", "assets", "javascripts"]
}

为了自定义特定项目的文件位置,您可以在项目文件中放置类似以下的内容(从项目菜单中选择“编辑项目”)

"settings":
{
  "SublimeEmberNav":
  {
    "root":   ["app", "assets", "javascripts", "ember"],
    "states": ["statecharts"]
  }
}

鸣谢

许可证

SublimeEmberNav 的所有内容均受 MIT 许可证的许可。

版权 © 2012 Anders Nøklestad

在此特此无偿授予任何获得此软件及其相关文档文件(“软件”)的副本的任何人处理软件的权利,包括但不限于使用、复制、修改、合并、出版、分发、再许可和/或销售软件的副本,以及允许获得软件的人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或实质部分的副本中。

软件按“现状”提供,没有任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、特定目的的适用性和非侵权性保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同、侵权或其他行为中产生的,与软件或软件的使用或其他交易有关。