トップ   編集 凍結 差分 バックアップ 添付   新規   最終更新のRSS

eclipse/pdt1.0

Last-modified: 2008-12-22 (月) 23:27:11 (15d)
Top / eclipse / pdt1.0

pdt1.0

インストール

  1. pleiadesのサイトへ行く。
  2. サイドメニューのPleiadesをクリック。
  3. ダウンロードの少し下、Eclipse 3.3 Europaをクリック
  4. phpのJREあり版をクリックして好きな場所にダウンロード
  5. 解凍してインストール完了。

設定メモ

デフォルトの文字コードをUTF-8に変更

「ウィンドウ」-「設定」-「一般」-「コンテンツタイプ」-「テキスト」のデフォルト・エンコードをUTF-8に変更。

文字サイズの変更

「ウィンドウ」-「設定」-「一般」-「外観」-「色とフォント」-「基本」-「テキスト・フォント」-「変更」

コード補完をするためのコメントの書き方

関数の引数で渡した変数に対してコード補完

<?php

/**
 * 関数の引数コード補完テスト関数
 *
 * @param paramTestClass $p1 引数$p1の説明文
 */
function test($p1) {
    $p1->testFunction();
}

class testClass {
    function testFunction() {

    }
}

?>

上記ように関数のコメントを記述することで、関数 test の引数 $p1 に対してコード補完を行うことができる。
コメントの書式は下記の通り

@param [変数の型(クラス名)] [変数名] [変数の説明文]

$p1 は testClass クラスのインスタンスと認識されて、コード補完が機能する。
$p1-> と入力すると testClass クラスのメンバ(testFunctionなど)が一覧表示される。

関数の戻り値を受け取った変数に対してコード補完

<?php

class testClass {
    function testFunction() {

    }
}

/**
 * 関数戻り値コード補完テスト関数
 *
 * @return testClass 戻り値の説明文
 */
function testFunction() {
    return new testClass();
}

$ret = testFunction();

?>

上記ように関数のコメントを記述することで、関数 testFunction の戻り値 $ret に対してコード補完を行うことができる。
コメントの書式は下記の通り

@return [変数の型(クラス名)]

$ret はtestClass クラスのインスタンスと認識されて、コード補完が機能する。
$ret-> と入力すると testClass クラスのメンバ(testFunctionなど)が一覧表示される。

クラスのメンバ変数に対してコード補完

<?php

class testClass {
    /**
     * test変数の説明
     *
     * @var testClass2
     */
    var test;
}

class testClass2 {
    var test2;

    function testFunction2() {

    }
}

$a = new testClass();
$a->test->test2;

?>

上記のようにクラスのメンバ変数にコメントを記述することで、クラス testClass のメンバ変数 test に対してコード補完を行うことができる。
コメントの書式は下記の通り

@var [変数の型(クラス名)]

変数test は testClass2クラスのインスタンスと認識されて、コード補完が機能する。
$a->test-> と入力すると testClass2 のメンバ(test2、testFunction2など)が一覧表示される。

小ネタ

関数のコードをあらかじめ書いておいて、関数のひとつ上の行で「/**」と入力してエンターキーを押すと、コード補完用のコメントのひな形を出力してくれるので便利。

/**  ←このように、ここで「/**」と入力してエンターキーを押すと
function testFunction($p1, $p2, $p3, $p4) {

}

↓ コメント文のひな型が出力される。

/**
 * Enter description here...
 *
 * @param unknown_type $p1
 * @param unknown_type $p2
 * @param unknown_type $p3
 * @param unknown_type $p4
 */
function testFunction($p1, $p2, $p3, $p4) {

}

キーボードショートカット

移動

キーボードショートカットの一覧を表示Ctrl + Shift + L
定義に移動Ctrl + マウスクリック
定義に移動F3
左のタブへ移動Ctrl + Shift + Page Up
右のタブへ移動Ctrl + Shift + Page Down
タブを閉じるCtrl + w
すべてのタブを閉じるCtrl + Shift + w
指定行へジャンプCtrl + Shift + L
クイックアウトラインCtrl + O
対応する大括弧へ移動Ctrl + Shift + P
ツールチップに移動F2

編集

コード補完Ctrl + space
コード補完が入力の途中で消えた時の再表示Ctrl + Shift + space
小文字へ変換Ctrl + Alt + L
大文字へ変換Ctrl + Alt + U
行の削除Ctrl + D
文字をhtml文字実体参照にCtrl + Alt + E

困ったときのメモ

エラーが無いのに Syntax Error: expecting: '(' が大量発生する

$this->flash('投稿を更新しました。', '/posts');
Syntax Error: expecting: '('

久しぶりに昔のプロジェクトのソースを開いたところ、上記のような、普通はエラーにはならないはずのコードにSyntax Errorが大量に発生している。開発中はこんなことは起こらなかったのだが。
環境は、Eclipse3.3.2、pdt1.0.2。

phpファイルの文字コードはUTF-8なので、コンテンツタイプでファイルの文字コードをUTF-8に設定。
さらに、phpプロジェクトの文字コードをUTF-8に設定してビルドしなおしたところ、エラーは出なくなった。
プロジェクトの文字コードがおかしかったのだろうか?

  編集