我已经让Pydev运行起来了,几乎所有人都运行良好.但是我在docstrings上遇到了一些麻烦.
比方说,我有一个如下功能:
def _get_logging_statement(self):
"""Returns an easy to read string which separates items in the log file cleanly"""
result = "\n\n#============================================="
result += "\n# %-80s#"(self)
result =+ "\n\n#============================================"
return result
Run Code Online (Sandbox Code Playgroud)
假设我已经重写了repr以正确格式化该字符串.
当我将鼠标悬停在Eclipse上时,它会向我显示完整的文档字符串.但是,完整的实现也会显示在doctsting下面.
有没有办法只显示文档字符串?
我有一个带有getter和setter的对象,但当我将它传递给函数或迭代这些对象的数组时,我正在丢失对该对象的intellisense.
例如:
...
$personA = new Person(..);
$age = $personA->getAge(); // intellisense works.
$personArray = array($personA, $personB, .. );
foreach($personArray as $aPerson){
$aPerson->getAge(); // no intellisense here
}
doSomething($personA);
function doSomething($person){
$person->getAge() // no intellisense here
...
}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
我是否需要更改代码(转换等),缺少phpStorm设置?也许这不可能?
我正在尝试实现一些简单的东西,通常称为"功能提示".例如,基于scintilla的编辑有:

您键入一个名称,然后获取原型.在vim中存在一些问题:
(,你只得到"模式未找到"我试过几个插件; 他们中的大多数人更加混乱[^ 1].任何人都可以推荐一种简单的方法来获得这一点吗?一个包含函数原型的简单矩形,仅此而已.
[^ 1]这些插件有些愚蠢,这真是令人头脑麻木.一个插件(我不会提及它)实际上包含在.vim文件中的libc函数列表中.
vim autocomplete syntax-highlighting code-completion code-hinting
在Dreamweaver CS5中有一种叫做代码提示的东西(让我们简称为CH).
CH有一堆关于核心库中构建的函数,常量和对象的信息.当您按CTRL+ SPACEBAR或开始构建一个以语句开头的语句时$,会弹出一个包含大量信息的窗口,向我提供有关它的信息,而无需自己查找.如果我ENTER在CH启动时按下并选择了某些内容,它将自动为我填写其余内容.
我喜欢这个功能,我真的很喜欢.提醒我一点Intellisense.
它节省了我很多时间.

我面临的问题,并没有找到任何解决方案,很简单.
由于PHP实现了类和对象,我已经能够在类/对象中链接我的方法.链接实际上很简单,通过返回$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();
Run Code Online (Sandbox Code Playgroud)
单独调用它们会显示CH.
$objf->foo();
$objf->bar();
Run Code Online (Sandbox Code Playgroud)
问题是,在调用第一个方法并尝试链接另一个方法之后,没有CH显示下一个调用信息.

所以,这是我的第一个问题:
在Dreamweaver CS5中,有没有办法让代码提示出现在链接上?
插件,我找不到的一些设置,什么?
if("no") "Could you explain why?";
Run Code Online (Sandbox Code Playgroud)
如第一张图所示,弹出了很多信息.事实上,在线图书馆里有一个类似的文件.常量通常具有非常小的信息,例如数字.

在此图像中,MYSQL_BOTH代表3.
这是我的第二个问题:
是否有可能在CH窗口中获取自定义函数,对象和常量的一些信息?
例如,使用Intellisense,您可以使用带有HTML标记和三个斜杠的设置///
///<summary> …Run Code Online (Sandbox Code Playgroud) 问题说明了一切......
我已经使用Vim很长一段时间了,虽然代码完成(omni,字典等)工作正常但我一直缺少一件事.
语法提示,所以基本上我想知道一个函数接受什么参数,而不是在网上查找我想在Vim中的某个地方,最好是在当前行之上的一个方框或其他东西.
有没有办法实现这一点,我主要使用PHP,Python和C++,所以我需要它用于那些语言.
编辑:我已经安装了ctags,但从我可以告诉它没有提供语法提示,尝试使用PHP标准函数,dunno如果我忽略了一些东西.
还有使用snipMate并输入所有标准库函数的选项,但这是很多工作,会想象有人已经这样做了(是的,有像ultiSnips这样的东西,但它不如snipMate)
在PHPStorm中,对象数组的代码提示简单而且令人敬畏;
class FooList {
public function __construct(){
$this->_fooList[] = new Foo(1);
$this->_fooList[] = new Foo(2);
$this->_fooList[] = new Foo(3);
$this->_fooList[] = new Foo(4);
}
/**
* @return Foo[]
*/
getFoos() {
return $this->_fooList;
}
}
Run Code Online (Sandbox Code Playgroud)
所以如果我......
$fooList = new FooList();
foreach($fooList as $foo)
{
// Nice hinting.
$foo->FooMethod...
}
Run Code Online (Sandbox Code Playgroud)
PHPStorm理解$ fooList是一个Foos数组,因此知道$ foo的类型是Foo.
问题是我想要一个FooList数组.
$listOfLists[] = new FooList();
$listOfLists[] = new FooList();
$listOfLists[] = new FooList();
$listOfLists[] = new FooList();
foreach ($listOfLists as $fooList)
{
foreach($fooList as $foo)
{
// No …Run Code Online (Sandbox Code Playgroud) 我环顾四周,找到了解决相关问题的事情,但没有找到具体的问题.
我正在使用Netbeans,它真的在我身上发展,但是当我去使用一个函数时,"intellisense"提示会正确弹出,但是一旦我输入参数,代码提示会显示函数签名并且它的参数消失了.
这会伤害我的工作效率,因为我没有记忆中的签名,而且我总是在我打字的时候引用它.
对于Netbeans来说这是正常的还是我可以通过某种方式使函数提示保持不变直到我关闭函数签名的括号?
更新: 我刚发现Ctrl + P会显示参数方法,是否有某种方法可以自动显示而不是经常输入Ctrl + P?
Eclipse通过将所有PHP的函数名称和代码提示放入调用的文件中standard.php并将其作为库(?)与项目相关联来完成PHP函数/方法提示.只是CTRL + Click任何PHP功能来提出它.
在内部standard.php,参考后参考所有PHP的功能,如此...
/**
* Find whether the type of a variable is integer
* @link http://www.php.net/manual/en/function.is-int.php
* @param var mixed <p>
* The variable being evaluated.
* </p>
* @return bool true if var is an integer,
* false otherwise.
*/
function is_int ($var) {}
Run Code Online (Sandbox Code Playgroud)
我希望能够提供类似于我的程序员的东西,涵盖我们自己的应用程序,以便我可以限制访问我们的实际软件源代码,但仍然给他们的代码提示支持和文档的好处.
问题: Eclipse中是否有一种方法可以导出或自动生成一个类似的函数引用,它能够提供与PHP相同的功能standard.php?
编辑:我们正处于创建实用程序的早期阶段,只要它足够远,我们就会将它放到GitHub上.
我们暂时在Github上创建了一个空的回购,所以如果你有兴趣在它上升的时候获得一份副本,那就明星吧.回购可以在这里找到:https://github.com/ecommunities/Code-Hint-Aggregator
更新:找到时间需要一段时间,但上面引用的GitHub项目现在正在运行,我们现在可以解析整个项目并输出它的整个命名空间/类/方法结构的映射.仅供参考,它仍然在阿尔法,但它值得一看.:)
我将如何编写自己的Intelli-J检查?我正在寻找一些一般的指南或资源.
我想在每次手动实例化集合类时提出检查提示,而不是List.newArrayList()/Maps.newHashMap()按照团队范围的标准通过Guava()等.
我很欣赏任何方向.
code-hinting ×10
php ×5
eclipse ×2
intellisense ×2
phpstorm ×2
vim ×2
autocomplete ×1
cakephp ×1
chaining ×1
dreamweaver ×1
flash-cs5 ×1
function ×1
ide ×1
inspections ×1
netbeans ×1
pydev ×1
python ×1
syntax ×1