标签: code-completion

使用magic __get()时私有/受保护成员变量的代码完成

在处理具有私有或受保护成员变量的类时,如何设置代码完成以在Zend Studio(或任何基于Eclipse的IDE)上工作,而不使用一堆Getter或将成员变量设置为public.

例如:

class Dog {

    protected $bark = 'woof!';

    public function __get($key) {
        if (isset($this->$key)) {
            return $this->$key;
        }
    }

}

$Dog = new Dog();
echo $Dog->bark; // <-- I want the IDE to "know" that bark is a property of Dog.
Run Code Online (Sandbox Code Playgroud)

php eclipse zend-studio code-completion

12
推荐指数
1
解决办法
4206
查看次数

如何让VS 2010识别某些CUDA功能

目前已经CUDA识别键CUDA C/C++函数,例如cudaMalloc,cudaFree,cudaEventCreate等.

它还识别某些类型,如dim3cudaEvent_t.

但是,它不识别其他功能和类型,例如纹理模板,__syncthreads功能或atomicCAS功能.

一切都编译得很好,但我已经厌倦了在整个地方看到红色下划线,我想看到当你输入任何可识别的功能时显示的示例参数.

如何让VS获得这些功能?

intellisense cuda keyword visual-studio-2010 code-completion

12
推荐指数
1
解决办法
7814
查看次数

停止PyCharm的自动完成从覆盖我的光标前面的代码

我正在使用PyCharm编写一些python代码,并注意到我经常遇到以下问题:

我写了一行像这样的代码

for item in myList:
Run Code Online (Sandbox Code Playgroud)

后来,我意识到我也想要索引item,所以我尝试将这一行转换为:

for i,item in enumerate(myList):
Run Code Online (Sandbox Code Playgroud)

为了将第一行转换为第二行,我将光标放在左边item并输入i,.然后,我把光标放在左边myList并输入enu; 到这个时候,代码完成者建议我可能想要输入enumerate,这正是我所追求的行为.当我点击tab执行建议时enumerate,我注意到我的线路变成了

for i,item in enumerate:
Run Code Online (Sandbox Code Playgroud)

myList已被覆盖!
我期望的行为是这样的:

for i,item in enumerate(myList):
Run Code Online (Sandbox Code Playgroud)

紧跟在光标移动到了右侧myList:.

有什么方法可以让Pycharm按照我的期望行事吗?

万一重要,我的开发环境是Mac OSX 10.7.5(Lion)

python code-completion pycharm

12
推荐指数
1
解决办法
1403
查看次数

使用ipython在pycharm中获得REAL代码完成

许多python IDE都提供代码完成(代码洞察),PyCharm是其中一个IDE.但是,在我看来,提供的代码完成非常有限.让我举个例子说清楚:

import numpy as np
m = np.random.random((3,5))
m.
Run Code Online (Sandbox Code Playgroud)

在'm'之后击中CTRL空间.不会给我任何代码完成, - 无论我多么难以点击它;)..我想这是因为IDE必须进行类型推断以了解变量'm'的类型,并且这不是'在动态编程语言领域中是微不足道的.

现在,PyCharm带有一个名为"收集代码洞察的运行时类型信息"的设置,这听起来确实很有希望.但是,它似乎没有解决上面提到的问题..我仍然无法在变量'm'上获得代码完成.

到目前为止,我只找到了一种在PyCharm中获取变量代码完成的方法:

import numpy as np
m = np.random.random((3,5))
''':type : np.matrix'''
m.
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我可以在'm.'之后按CTRL空格时获得代码完成,这是因为我通过使用docstring指定变量的类型来帮助IDE.但是,我对这种获取代码完成的方式不满意,因为它为所有这些文档字符串添加了不必要的冗长(更不用说所有额外的键盘输入了)...

IPython救援..(也许?)

现在,如果我们在linux-terminal中启动IPython并输入第一段代码,我们将能够一直获得代码完成,即使是变量'm'.(通过按TAB而不是CTRL空格来实现IPython中的代码完成)

我对IPython没有多少经验,但我相信我听说过IPython不断在循环中执行代码或类似的东西......

我认为应该可以使用IPython来实现PyCharm编辑器中所有变量的REAL代码完成....

有没有办法设置PyCharm使用IPython进行代码完成?

请注意,我不满意将代码发送到终端窗口/控制台,或类似的东西,我想在PyCharm的编辑器中完成代码...

在Pycharm Ubuntu中看过像这样的问题添加ipython作为解释器,但它似乎是在控制台中使用IPython,而不是在编辑器中......在IDE中也有很多关于代码完成的问题,但他们似乎都有与PyCharm相同的令人不满意的代码完成程度......

我的设置

  • 操作系统:Debian测试
  • python:Python3和IPython3
  • IDE:Pycharm 3.0.2专业版

python ipython code-completion pycharm python-3.x

12
推荐指数
1
解决办法
4690
查看次数

用于插入空检查的IntelliJ快捷方式?

是否有插入代码的快捷方式:

if (someParameter == null)
   throw NullPointerException("someParameter is null");
Run Code Online (Sandbox Code Playgroud)

java keyboard-shortcuts intellij-idea code-completion

11
推荐指数
3
解决办法
5677
查看次数

IntelliJ IDEA中的嬉皮码完成?

在NetBeans中,它的Ctrl+ K激活的嬉皮完成.

在Eclipse中,它是Alt+ /.

IDEA有什么用?

编辑: 嬉皮完成是一种完成,不需要有关上下文的太多信息.它会扫描文件中的所有单词并立即选择第一个匹配项.它起源于Emacs的一些变体.

在这里阅读更多内容:http://beust.com/weblog/2005/03/11/hippie-completion-in-eclipse/

intellij-idea code-completion

11
推荐指数
1
解决办法
1833
查看次数

当我按<tab>时,为什么SuperTab输出自我?

安装程序

在我的.vimrc我有以下几行:

" .vimrc
let g:virtualenv_directory="/Users/Kit/Development/virtualenv"
Run Code Online (Sandbox Code Playgroud)

然后在~/.vim/ftplugin/python/virtualenv.vim我有这些:

py << EOF
import os.path
import sys
import vim
if 'VIRTUAL_ENV' in os.environ:
    project_base_dir = os.environ['VIRTUAL_ENV']
    sys.path.insert(0, project_base_dir)
    activate_this = os.path.join(project_base_dir, 'bin/activate_this.py')
    execfile(activate_this, dict(__file__=activate_this))
    print "virtualenv in os.environ!"
EOF
VirtualEnvActivate my-virtualenv-python-2.7
Run Code Online (Sandbox Code Playgroud)

~/.vim/ftplugin/python/virtualenv.vim我有这些SuperTab设置:

setlocal omnifunc=pythoncomplete#Complete
setlocal completeopt=menuone,longest,preview
let g:SuperTabDefaultCompletionType="<c-x><c-]>"
Run Code Online (Sandbox Code Playgroud)

在我的工作目录中,我一直在工作,我执行了以下bash命令TAGS为我的所有.py文件生成一个文件

find . -name '*.py' -type f -print0 | xargs -0 etags -l python
Run Code Online (Sandbox Code Playgroud)

问题

例如,我有一个在main.py其中有一个对象app,以便以下脚本正常工作:

import main
new_app = main.app() …
Run Code Online (Sandbox Code Playgroud)

tags vim autocomplete code-completion supertab

11
推荐指数
1
解决办法
2210
查看次数

C的Vim功能提示

我正在尝试实现一些简单的东西,通常称为"功能提示".例如,基于scintilla的编辑有:

在此输入图像描述

您键入一个名称,然后获取原型.在vim中存在一些问题:

  • 您必须重建ctags以使其保持最新
  • 不能键入CX CO (,你只得到"模式未找到"
  • 您无法在正常模式下键入CX CO,光标将跳转
  • 你会在顶部看到烦人的预览窗口

我试过几个插件; 他们中的大多数人更加混乱[^ 1].任何人都可以推荐一种简单的方法来获得这一点吗?一个包含函数原型的简单矩形,仅此而已.

[^ 1]这些插件有些愚蠢,这真是令人头脑麻木.一个插件(我不会提及它)实际上包含在.vim文件中的libc函数列表中.

vim autocomplete syntax-highlighting code-completion code-hinting

11
推荐指数
2
解决办法
5200
查看次数

Scala-IDE和Eclipse Juno的代码完成问题

我正在使用Eclipse Juno和Java(Java build 1.7.0_05-b05 64bit)和Scala-IDE插件(Scala IDE for Eclipse 2.1.0.nightly-2_09-201207100348-f1d9c23 org.scala-ide.sdt.feature. feature.group scala-ide.org).

以下是Eclipse eclipse.ini的自定义设置:

-vmargs
-Dosgi.requiredJavaVersion=1.7
-Dhelp.lucene.tokenizer=standard
-Xss8m
-Xms256m
-Xmx1536m
-XX:PermSize=64m
-server
-Xverify:none
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:MaxGCPauseMillis=50
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
Run Code Online (Sandbox Code Playgroud)

每次我尝试使用代码完成Eclipse抛出2个错误窗口:

The 'Code Recommenders Calls Proposals' proposal computer from
the 'org.eclipse.recommenders.completion.rcp.calls' plug-in did
not complete normally.
The extension has thrown a runtime exception.
Run Code Online (Sandbox Code Playgroud)

The 'Code Recommenders Overrides Proposals' proposal computer from
the 'org.eclipse.recommenders.completion.rcp.overrides' plug-in did
not complete normally.
The extension has thrown a runtime exception.
Run Code Online (Sandbox Code Playgroud)

我在下面的scala-ide日志显示:

[Xlint:cantFindType]
2012-07-10 15:37:29,404 ERROR [main] …
Run Code Online (Sandbox Code Playgroud)

eclipse scala code-completion scala-ide eclipse-juno

11
推荐指数
1
解决办法
3504
查看次数

Intellij Idea如何向类添加接口实现?

例如,我有很多类而不是实现我的接口.在界面中添加新方法定义后,如何为所有类快速添加空白接口实现?

editor intellij-idea automated-refactoring code-completion

10
推荐指数
2
解决办法
1万
查看次数