代码提示自定义函数/对象/常量,以及链接,Adobe Dreamweaver CS5中的注释

时间:2012-01-04 00:32:51

标签: php dreamweaver chaining flash-cs5 code-hinting

在Dreamweaver CS5中有一个叫做代码提示的东西(让我们简称为CH)。

CH有一堆关于核心库中构建的函数,常量和对象的信息。 当您按 CTRL + SPACEBAR 或开始构建以$开头的语句时, 弹出一个包含大量信息的窗口,向我提供有关它的信息,而无需自己查找。如果我在CH启动时按 ENTER 并选择了某些内容,它将自动为我填写其余部分。

我喜欢这个功能,我真的很喜欢。提醒我一点Intellisense 它节省了我很多时间。 Code hinting example, showing mysql_connect code hint

我面临的问题,并没有找到任何解决方案,很简单。


问题#1链式方法不显示代码提示

由于PHP实现了Classes and Objects,我已经能够在类/对象中chain my methods了。链接实际上很简单,通过返回$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显示下一个调用信息。

Code hinting failure when chaining methods

所以,这是我的第一个问题:
在Dreamweaver CS5中,有没有办法让代码提示出现在链接上? 插件,我还没找到的一些设置,什么?

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

第2期 自定义 函数,对象和常量的代码提示

如第一张图所示,弹出了很多信息。事实上,在线图书馆里有一个类似的文件。常量通常具有非常小的信息,例如数字。 Code hinting a constant, with the number 3 in the information window
在此图片中,MYSQL_BOTH代表3

这是我的第二个问题:
是否可以在CH窗口中获取 自定义 函数,对象和常量的一些信息?

例如,使用Intellisense,您可以使用setup with HTML tags and three slashes ///

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

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

这里可以做类似的事吗? 更改一些设置,插件,什么?


更新

I thought I'd found something这可能是至少问题#1的答案,但它需要花钱,而且我不会为任何事情买单,直到我知道它实际上做了我想要的东西。
有没有人尝试过,或者知道它不会解决任何问题?

搜索继续......


如果没有一个可以修复,这里希望其中一个开发人员注意到这个问题并在更新/新版本中实现它。

4 个答案:

答案 0 :(得分:5)

在使用Dreamweaver 10年后,我刚刚切换到NetBeans。我的印象可能对你有帮助。 (从现在开始,我将分别称它们为NB和DW)

代码提示/文档

PHP内置函数

DW和NB都显示了所有内置的PHP函数和常量。一个很好的功能是它们还提供了一个链接,可以打开相关的PHP文档页面。

DW更新定义要慢得多(通过零星的Adobe更新或下一个版本),更新它们看起来并不容易(另一方面,我很快找到了NB用于PHP的.zip文件/ HTML / CSS引用,以防我想手动编辑/更新它们。)

然而,由于文档可以轻松打开,我不认为这是一个问题。

自定义函数/类

这是NB显然更好的地方;它会立即从您项目的代码中学习。在许多情况下,函数参数的提示很聪明,首先建议最可能的变量。

方法链非常有效,如下所示: PHP method chaining on NetBeans (这将解决问题#1)

PHPDoc支持

这个功能让我印象深刻。以上面的截图为例。我只输入/**后跟 Enter ,NB自动用返回类型提示完成注释(如果存在则还有函数参数)。

<?php

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

?>

另一个例子: PHPDoc support in NetBeans (这将解决问题#2)

您可以在PHPDoc注释中包含HTML代码和一些特殊的@标记,以包含外部链接,参考,示例等。

调试工具

另外值得注意的是IMHO是NB附带的调试工具。您可以在逐步前进的同时跟踪所有变量(也包括超级全局!)。

NetBeans PHP xDedbug support

配置xDebug非常简单,只需取消注释php.ini中的某些行即可!

其他东西

NB中的重构(重命名或安全删除函数/变量)非常好。它在提交之前为您提供了非常图形化的详细预览。

然而,DW的搜索/替换功能要好得多。我很想念“搜索具有属性的特定标签...”功能。 NB仅提供RegEx搜索/替换。

NB有一个很好的颜色选择器,但它几乎从不暗示它;我想了一会儿,直到我意外地发现了它。现在我知道如何调用它( CTRL + SPACE ,开始输入Color chooser Enter )。确实非常麻烦。

自从我搬到NB后,我没有经常使用过FTP,但我觉得DW也好多了,特别适合同步本地/远程文件夹。

NB对SVN,Mercurial和Git有很好的原生支持。当您激活版本控制支持时,您可以看到行号旁边的每个更改(我的屏幕截图上的绿色部分表示这些行是新的)。我可以单击一个块并比较/恢复这些更改,查看最初提交每行(以及何时)的人等等。

即使停用[团队]版本控制,NB也有内置的本地历史记录,可帮助您恢复以前的版本以及已删除的文件。

结论

从Macromedia Dreamweaver开始,看看它如何慢慢地留在互联网上,因为Adobe努力整合和调整他们的产品是一个痛苦的过程。 (到目前为止,即使使用LiveView,DW仍然无法正确渲染。公平地说,NB没有内置渲染器)

当然,DW的Adobe化已经有了它的优势,但是这个不起眼的程序员很难证明399美元~400MB的IDE与一个非常可比的免费49MB多平台IDE的合理性。

在最初的学习曲线之后,我对NetBeans非常满意,我认为我不会很快回到Dreamweaver。

我知道这并没有直接回答你关于DW的问题,但我希望无论如何都有帮助。

答案 1 :(得分:2)

使用Site-Specfic Code Hinting功能

创建自己的结构,只需添加存储函数,类等的文件。保存结构和完成,只为我工作!

答案 2 :(得分:1)

我知道这是一个较老的问题,这不是完整的答案。但它肯定会对某人有所帮助。

http://tv.adobe.com/watch/learn-dreamweaver-cs5/sitespecific-code-hinting-in-dreamweaver-cs5/

  

“使用Dreamweaver CS5查看与内容管理相关的代码提示   系统框架,如WordPress,Drupal和Joomla。学习如何   为CMS设置特定于站点的代码提示,以便您轻松工作   在Dreamweaver中使用PHP网站。 “

答案 3 :(得分:0)

对于#1,脚本语言的复杂性是它不严格的输入。函数/方法可以返回null,false,true,int,array,string ...... 所以'intellisense'没有基于提示的类型,除非它重新编译它并检查每个可能的返回类型。

对于#2,提示基于每个PHP版本存在的剪辑定义文件。使用Microsoft产品,可以添加当前项目(已编译)定义。使用PHP,不会对剪辑数据库进行编译,检查或添加(自动)。有些像PSPad会给你CodeExplorer列出该文件中的每个函数和类,但我知道的唯一让它们出现在提示中的方法是将它添加到cips定义中。我不知道Dreamweaver在哪里或者它是否可能。 Zend Studio和其他人进行自定义编译和包含。