在处理具有私有或受保护成员变量的类时,如何设置代码完成以在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) 目前已经CUDA识别键CUDA C/C++函数,例如cudaMalloc,cudaFree,cudaEventCreate等.
它还识别某些类型,如dim3和cudaEvent_t.
但是,它不识别其他功能和类型,例如纹理模板,__syncthreads功能或atomicCAS功能.
一切都编译得很好,但我已经厌倦了在整个地方看到红色下划线,我想看到当你输入任何可识别的功能时显示的示例参数.
如何让VS获得这些功能?
intellisense cuda keyword visual-studio-2010 code-completion
我正在使用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 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.但是,我对这种获取代码完成的方式不满意,因为它为所有这些文档字符串添加了不必要的冗长(更不用说所有额外的键盘输入了)...
现在,如果我们在linux-terminal中启动IPython并输入第一段代码,我们将能够一直获得代码完成,即使是变量'm'.(通过按TAB而不是CTRL空格来实现IPython中的代码完成)
我对IPython没有多少经验,但我相信我听说过IPython不断在循环中执行代码或类似的东西......
我认为应该可以使用IPython来实现PyCharm编辑器中所有变量的REAL代码完成....
有没有办法设置PyCharm使用IPython进行代码完成?
请注意,我不满意将代码发送到终端窗口/控制台,或类似的东西,我想在PyCharm的编辑器中完成代码...
我在Pycharm Ubuntu中看过像这样的问题添加ipython作为解释器,但它似乎是在控制台中使用IPython,而不是在编辑器中......在IDE中也有很多关于代码完成的问题,但他们似乎都有与PyCharm相同的令人不满意的代码完成程度......
是否有插入代码的快捷方式:
if (someParameter == null)
throw NullPointerException("someParameter is null");
Run Code Online (Sandbox Code Playgroud) 在NetBeans中,它的Ctrl+ K激活的嬉皮完成.
在Eclipse中,它是Alt+ /.
IDEA有什么用?
编辑: 嬉皮完成是一种完成,不需要有关上下文的太多信息.它会扫描文件中的所有单词并立即选择第一个匹配项.它起源于Emacs的一些变体.
在这里阅读更多内容:http://beust.com/weblog/2005/03/11/hippie-completion-in-eclipse/
在我的.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) 我正在尝试实现一些简单的东西,通常称为"功能提示".例如,基于scintilla的编辑有:

您键入一个名称,然后获取原型.在vim中存在一些问题:
(,你只得到"模式未找到"我试过几个插件; 他们中的大多数人更加混乱[^ 1].任何人都可以推荐一种简单的方法来获得这一点吗?一个包含函数原型的简单矩形,仅此而已.
[^ 1]这些插件有些愚蠢,这真是令人头脑麻木.一个插件(我不会提及它)实际上包含在.vim文件中的libc函数列表中.
vim autocomplete syntax-highlighting code-completion code-hinting
我正在使用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) 例如,我有很多类而不是实现我的接口.在界面中添加新方法定义后,如何为所有类快速添加空白接口实现?
code-completion ×10
autocomplete ×2
eclipse ×2
pycharm ×2
python ×2
vim ×2
code-hinting ×1
cuda ×1
eclipse-juno ×1
editor ×1
intellisense ×1
ipython ×1
java ×1
keyword ×1
php ×1
python-3.x ×1
scala ×1
scala-ide ×1
supertab ×1
tags ×1
zend-studio ×1