1

Symbol Browserでエディターを作成する必要があり、ctagsをいじると言いました。さて、私はctags形式を読み、Googleを試して、ここSOで検索しました。私が見つけたのはctagsとvimに関する質問だけで、vimではゼロです。そこで、一人で遊んでみることにしました。だから私はタグファイルを取りました、そして私は完全に混乱しました!

ここにPHPファイルとそれに対応するタグを配置しましたが、その行がクラスの属性またはメソッドを表しているかどうかを確認するにはどうすればよいですか?また、PHP関数/メソッドの戻り値を知るにはどうすればよいですか?

接続されたvi/vim以外のctagsでPHP(または他の言語)タグを処理するための良いチュートリアルは見つかりませんでした!ありがとう

PHPファイル

<?php

$teachers = array("standard one"=>"Celina Stephen", "Standard Two"=>"Emanyor Dickson");

function set_teachers($teacher_array){
    $teachers = $teacher_array;
    return $teacher_array;
}

class School{
    $teachers;
    $students;

    public function __construct(){

    }

    public function get_all(){
        return array($this->teachers,$this->students);
    }
}

class ManySchools extends School{
    public __construct(){
        parent::construct();
    }

    private do_selection($teacher, $student=null){
        return false;
    }

}

タグファイル

!_TAG_FILE_FORMAT   2   /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED   1   /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR    Darren Hiebert  /dhiebert@users.sourceforge.net/
!_TAG_PROGRAM_NAME  Exuberant Ctags //
!_TAG_PROGRAM_URL   http://ctags.sourceforge.net    /official site/
!_TAG_PROGRAM_VERSION   5.9~svn20110310 //
ManySchools test.php    /^class ManySchools extends School{$/;" c
School  test.php    /^class School{$/;" c
__construct test.php    /^    public function __construct(){$/;"    f
get_all test.php    /^    public function get_all(){$/;"    f
set_teachers    test.php    /^function set_teachers($teacher_array){$/;"    f
teachers    test.php    /^    $teachers = $teacher_array;$/;"   v
teachers    test.php    /^$teachers = array("standard one"=>"Celina Stephen", "Standard Two"=>"Emanyor Dickson");$/;"   v
4

2 に答える 2

4

;"各行の後の最初の項目kindは、タグのを説明します。つまり、それがクラス、関数などであるかどうかを示します。この例では、クラス、関数などcを表しますf。で完全なリストを取得できますctags --list-kinds=php

リターンタイプは(残念ながら)ctagsによって報告されません。

あなたは間違いなくctagsのマンページを見る必要があります。デフォルトで報告する情報に加えて、他にどのような情報を報告できるかなど、すべてが非常によく説明されています。

于 2011-10-28T13:44:42.920 に答える
0

よく私はctags形式を読みます

ExuberantCtagsファイル形式は十分に文書化されています。

于 2012-03-02T08:06:06.400 に答える