eclipse/pdt1.0
pdt1.0 †
インストール †
- pleiadesのサイトへ行く。
- サイドメニューのPleiadesをクリック。
- ダウンロードの少し下、Eclipse 3.3 Europaをクリック
- phpのJREあり版をクリックして好きな場所にダウンロード
- 解凍してインストール完了。
設定メモ †
デフォルトの文字コードを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に設定してビルドしなおしたところ、エラーは出なくなった。
プロジェクトの文字コードがおかしかったのだろうか?