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

Drupal 项目自动完成

tanc ALL

一个 Sublime Text 2 插件,为所有 Drupal 函数提供自动完成功能。

标签 自动完成

详细信息

安装

  • 总计 10K
  • Win 4K
  • Mac 3K
  • Linux 2K
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 1 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
Mac 2 1 0 0 0 0 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
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

读我文件

源代码
raw.​githubusercontent.​com

Sublime Text Drupal 自动完成插件

这是一个托管在 Sublime Text(2 和 3)上的包管理器插件,它根据项目提供所有 Drupal 函数的自动完成功能。这意味着您可以为您的 Drupal 7 项目使用此插件自动完成函数并提供参数提示,而且与您的 Drupal 6 项目不会发生冲突。它通过扫描您的项目文件,并在项目的根目录中创建一个名为 Drupal.sublime-projectcompletions 的文件来管理此过程,该文件包含 Sublime Text 的自动完成数据。然后,插件使用 API 将这些数据注入到 ST 的自动完成弹出窗口中,结果应该是您项目中所有函数的自动完成建议。

此功能也可以通过使用 ctags 或 SublimeCodeIntel 包来实现,但此包是一个以 Drupal 为中心的包,并且无需配置即可使用。

要求

为了使此插件为您的 Drupal 项目提供自动完成功能,您必须在 Drupal 项目的根目录中保存一个 Sublime Text 项目文件。

为此,请打开您的 Drupal 文件(将整个目录拖放到 Sublime Text 中),然后通过使用“项目”菜单项保存一个新的项目。确保将其保存在 Drupal 根目录中(index.php 和 CHANGELOG.txt 文件所在的位置),并称其为任何您喜欢的名称。

如何安装

最简单的方法是通过 Sublime Package Control 存储库(当前正在等待审核)安装。

如果您已到达 GitHub 页面并且想手动安装此插件,您想要获取 master分支并将生成的目录重命名为 DPCompletions。将此目录移动到您的 ST 包夹目录中(在 OS X 中位于 ~/Library/Application Support/Sublime Text 2/Packages/),它应会自动作为新的插件被识别。您可能需要重新启动 Sublime Text。

如何工作

该插件从当前保存的文件向上扫描,寻找ST项目文件。它使用这个文件来确定项目的根目录,并从这里加载所有的文件(.module、.inc等)以及查找其中的函数。它构建一个项目完成文件(基本上是一个大型的JSON数组),包含函数名称和任何预期参数。注意,它在每次文件保存时都会这样做。

随后,它使用ST API将可能的完成项注入到您开始输入函数名称时。Tab停用键应该可以方便地切换到函数期望的不同参数。

说明

如果您使用VCS,您可能希望排除该插件的自动完成文件。如果您使用git,您可以将以下类似行添加到您的gitignore文件中

*.sublime-projectcompletions

理论上,可以将ST项目文件保存为Drupal项目的任何位置,这可以允许多个子项目,如果这样使用ST与Drupal的话。例如,您可能有一个单独的Drupal根目录以及许多多站点在sites/下,并为每个站点使用不同的ST项目。此插件仍然可以使用,但不会为文件系统中的ST项目以上的任何函数提供自动完成。

这是提供此功能作为插件的第一尝试,也是我第一次尝试用Python编写代码。如有任何错误或改进建议(最好是带代码的解决方案),请添加到问题队列中的注释。