10

Dreamweaver CS5 には、Code Hinting (略して CH と呼びましょう) と呼ばれるものがあります。

CH には、コア ライブラリに組み込まれている関数、定数、およびオブジェクトに関する多くの情報があります。CTRL+を押すSPACEBARか、 で始まるステートメントの構造化を開始すると$、多くの情報が表示されたウィンドウがポップアップ表示され、自分で調べなくても情報が表示されます。CH を上げて何かを選択しているときに押すENTERと、残りの部分が自動的に入力されます。

私はこの機能が大好きです。Intellisenseを少し思い出します。
それは私に多くの時間を節約します。 mysql_connect コード ヒントを示すコード ヒントの例

私が直面し、解決策が見つからない問題は単純明快です。


問題 #1 チェーンされたメソッドでコード ヒントが表示されない

PHP がClasses と Objectsを実装して以来、クラス/オブジェクト内でメソッドを連鎖させることができました。チェーンは実際には簡単です。$this(そのクラスのインスタンス)を返すことで、呼び出しの連続チェーンを作成できます

class Object_Factory{
    public function foo(){
        echo "foo";
        return $this;
    }
    public function bar(){
        echo "bar";
        return $this;
    }
}        

$objf = new Object_Factory;
//chaining
$objf->foo()
     ->bar();

別々に呼び出すと CH が表示されます。

$objf->foo();
$objf->bar();

問題は、最初のメソッドが呼び出された後、別のメソッドをチェーンしようとすると、次の呼び出し情報を表示する CH がないことです。

メソッドの連鎖時のコードヒントの失敗

そこで、私の最初の質問です
。Dreamweaver CS5 で、コード ヒントをチェーンに表示させる方法はありますか?
プラグイン、見つけられなかったいくつかの設定、何か?

if("no") "Could you explain why?";

問題 #2カスタム関数、オブジェクト、および定数のコードヒント

最初の図に示すように、多くの情報がポップアップ表示されます。実は、オンラインライブラリーにそっくりな資料があります。通常、定数には、数値などの非常に小さな情報が含まれます。 情報ウィンドウに数値 3 が表示された、定数を示唆するコード
このイメージでは、MYSQL_BOTHを表し3ます。

2 番目の質問です。カスタム関数、オブジェクト、および定数
について、CH ウィンドウに情報を取得することは可能ですか?

たとえば、Intellisense を使用すると、HTML タグと 3 つのスラッシュを使用したセットアップを使用できます。///

///<summary>
///This is test function
///</summary>

public void TestFunction(){
    //Do something...
}

ここで同様のことができますか?
いくつかの設定、プラグイン、何かを変更しますか?


アップデート

少なくとも第 1 の問題に対する答えになりそうなものを見つけたと思ったのですが、それにはお金がかかりますし、それが実際に自分のやりたいことをしてくれることがわかるまでは、お金を払うつもりはありません。
誰かがそれを試したことがありますか、それとも問題が解決しないことを知っていますか?

捜索は続く…


これらのいずれも修正できない場合は、開発者の 1 人がこの質問に気付き、更新/新しいリリースで実装してくれることを願っています。

4

4 に答える 4

4

Dreamweaverを10年間使用した後、NetBeansに切り替えました。私の印象はあなたを助けるかもしれません。(これからはそれぞれNBとDWと呼びます)

コードのヒント/ドキュメント

PHP組み込み関数

DWとNBの両方に、組み込みのPHP関数と定数がすべて表示されます。優れた機能は、関連するPHPドキュメントページを開くリンクも提供することです。

DWは定義の更新に非常に時間がかかり(散発的なAdobeの更新または次のリリースで)、それらの更新は簡単に見えません(一方、NBがPHP / HTML/CSSに使用する.zipファイルをすぐに見つけました手動で編集/更新したい場合に備えて、参照してください)。

ただし、ドキュメントは簡単に開くことができるので、これは問題ではないと思います。

カスタム関数/クラス

これはNBが明らかに優れているところです。プロジェクトのコードから即座に学習します。多くの場合、関数パラメーターのヒントは賢明であり、最も可能性の高い変数を最初に提案します。

ここに見られるように、メソッドチェーンは素晴らしく機能します:( NetBeansでのPHPメソッドチェーン これは質問#1に対処します)

PHPDocサポート

私はこの機能に非常に感銘を受けました。上のスクリーンショットを例にとってみましょう。/**続けて入力したところEnter、NBはreturn typeヒント(存在する場合は関数パラメーターも)を使用してコメントを自動的に完了しました。

<?php

    /**
     * 
     * @return \Object_Factory 
     */
    public function foo(){
        echo "foo";
        return $this;
    }

?>

別の例:( NetBeansでのPHPDocのサポート これは質問#2に対処します)

PHPDocコメントにHTMLコードといくつかの特別な@タグを含めて、外部リンク、参照、例などを含めることができます。

デバッグツール

また、注目すべきIMHOは、NBに含まれているデバッグツールです。ステップバイステップで進める間、すべての変数(スーパーグローバルも!)をトレースできます。

NetBeansPHPxDedbugのサポート

xDebugの設定は非常に簡単で、php.iniのいくつかの行のコメントを外すだけです。

他のもの

NBでのリファクタリング(つまり、関数/変数の名前変更または安全な削除)は本当に素晴らしいです。変更をコミットする前に、非常にグラフィカルに詳細なプレビューを提供します。

ただし、DWの検索/置換機能ははるかに優れています。「属性を持つ特定のタグを検索する...」機能が恋しいです。NBは、正規表現の検索/置換のみを提供します。

NBには優れたカラーチューザーがありますが、それを示唆することはほとんどありません。偶然見つけてしまうまで、しばらくはなかったと思いました。これで、それを呼び出す方法がわかりました(CTRL+ SPACE、入力Color chooserを開始してEnter)。確かに、非常に面倒です。

NBに引っ越して以来、FTPはあまり使用していませんが、特にローカル/リモートフォルダーの同期には、DWの方がはるかに優れていると感じています。

NBは、SVN、Mercurial、Gitに対して非常に優れたネイティブサポートを提供しています。バージョン管理のサポートを有効にすると、行番号の横にすべての変更が表示されます(スクリーンショットの緑色の部分は、それらの行が新しいことを意味します)。ブロックをクリックして、それらの変更を比較/元に戻したり、最初にすべての行を誰が(いつ)コミットしたかを確認したりできます。

[チーム]のバージョン管理が無効になっている場合でも、NBにはローカル履歴が組み込まれており、削除されたファイルだけでなく以前のバージョンも復元できます。

結論

Macromedia Dreamweaverから始めて、Adobeが自社製品の統合と適応に苦労しているときに、Macromedia Dreamweaverがインターネットの背後にゆっくりと留まっていることを確認するのは、骨の折れるプロセスです。(今日まで、LiveViewを使用しても、DWは正しくレンダリングされません。公平を期すために、NBには組み込みのレンダラーがありません)

確かに、DWのAdobe化には利点がありますが、この謙虚なプログラマーは、非常に匹敵する無料の49MBマルチプラットフォームIDEと比較して399米ドル〜400MBのIDEを正当化するのに苦労していました。

最初の学習曲線の後、私はNetBeansに非常に慣れており、Dreamweaverにすぐに戻ることはないと思います。

これがDWに関するあなたの質問に直接答えないことは知っていますが、とにかく役立つことを願っています。

于 2012-04-09T02:12:11.563 に答える
0

#1については、スクリプト言語の複雑さは、厳密な型付けではないことです。関数/メソッドはnull、false、true、int、array、stringを返す可能性があります...したがって、「インテリセンス」には、再コンパイルしてすべての可能な戻り値の型をチェックしない限り、ヒントの基になる型がありません。

#2 のヒントは、PHP の各バージョンに存在するクリップ定義ファイルに基づいています。Microsoft 製品では、Currents プロジェクト (コンパイル済み) の定義が追加されます。PHP では、クリップ データベースへのコンパイル、チェック、追加は (自動的に) 行われません。PSPadのようなものは、そのファイル内の各関数とクラスをリストするCodeExplorerを提供しますが、それらをヒントに表示させる唯一の方法は、それをcips定義に追加することです. ドリームウィーバーでどこで、または可能かはわかりません。Zend Studio などは、カスタム コンパイルとインクルードを行います。

于 2012-01-04T22:53:23.517 に答える