【发布时间】:2015-08-11 18:00:28
【问题描述】:
我喜欢在 Emacs 中使用标签,就像 Vim 一样。但是,我在设置它时遇到了一些问题## 设置: GNU Emacs GUI 版本 25.0.5.1 (x86_64-w64-mingw32) Compiled from Harroogan Emacs.
Projectile 和 Helm,使用 MELPA 的最新版本 Projectile/Helm
Exuberant Ctags binary 58 for Windows
Windows 7 x64 位。
行动:
二进制文件ctags.exe 在PATH 中,当我在Windows 的命令行中使用ctags --help 调用它时会响应。
我尝试了各种方法来创建 TAGS 文件,但没有任何结果。我似乎有结果的一件事是在包projectile 的帮助下。但它给了我奇怪的结果。
当我在一个项目中时,当前正在打开缓冲区index.php。在该缓冲区内,我使用 projectile-regenate-tags 重新生成标记文件,并使用 C-c p R.
消息缓冲区为我提供以下信息:
Starting a new list of tags tables
Making tags-file-name local to Dev/digiloket3/TAGS while let-bound!
我看到文件 TAGS 正在项目根目录中创建。
目录根结构如下:
index.php
.projectile
|- INCLUDE
|- AJAX
|- SCRIPTS
|- PHP
问题:
然后我用find-tag (g C-]) 访问标签列表。当我注意到我没有得到项目中定义的所有变量和类/函数时。
当我调用helm-etags-select 时,我会看到标签旁边的目录/文件。让我感到困惑的是,标签列表中只有 AJAX 目录中的文件中的函数/类和变量可见,PHP 目录中的文件中的变量/类/函数不可见。
然后我在命令提示符下手动创建 TAGS 文件,并在 ctags -R 上使用正确的目录。
没有帮助。
文件夹 PHP 中的所有文件都称为 ****.inc。
当我将其中一个文件重命名为 ****.php 时,它们会在我的 ctags 表中弹出。
所以这里真正的问题是我如何告诉 projectile/ctags 将 .inc 文件识别为 PHP 文件,或将其编入索引
但我也愿意在 Windows 平台上使用命令行上可用的ctags 创建一个 TAGS 表。
有什么建议吗?
【问题讨论】: