Questions tagged «code-completion»

12
在Objective-C中为类定义私有方法的最佳方法
我刚开始编写Objective-C程序,并且以Java为背景,想知道编写Objective-C程序的人如何处理私有方法。 我了解可能有几种约定和习惯,并考虑此问题作为人们在Objective-C中使用的处理私有方法的最佳技术的集合。 发布时,请为您的方法添加一个参数。为什么好呢?它具有(您知道的)哪些缺点以及如何处理它们? 至于到目前为止的发现。 可以使用MyClass.m文件中定义的类别 [例如MyClass(私有)]对私有方法进行分组。 此方法有两个问题: Xcode(和编译器?)不会检查是否在相应的@implementation块中的私有类别中定义了所有方法 您必须在MyClass.m文件的开头放置@interface声明您的私有类别,否则Xcode会抱怨“自身可能无法响应消息” privateFoo”之类的消息。 第一个问题可以通过使用空类别 [例如MyClass()]解决。 第二个让我很困扰。我希望看到在文件末尾附近实现(和定义)私有方法。我不知道是否可能。

5
我怎样才能告诉PyCharm参数期望是什么类型?
当涉及到构造函数,赋值和方法调用时,PyCharm IDE非常擅长分析我的源代码并弄清楚每个变量应该是什么类型。我很喜欢它,因为它给了我很好的代码完成和参数信息,并且如果我尝试访问一个不存在的属性,它会给我警告。 但是当涉及到参数时,它一无所知。代码完成下拉列表无法显示任何内容,因为它们不知道参数的类型。代码分析无法查找警告。 class Person: def __init__(self, name, age): self.name = name self.age = age peasant = Person("Dennis", 37) # PyCharm knows that the "peasant" variable is of type Person peasant.dig_filth() # shows warning -- Person doesn't have a dig_filth method class King: def repress(self, peasant): # PyCharm has no …

2
使用clang更快地完成代码
我正在研究使用clang的代码完成机制时潜在的代码完成加速。下面描述的流程是我在Anders Bakken的rtags中找到的。 守护程序监视文件分析转换单元的更改。这是通过调用clang_parseTranslationUnit和相关函数(reparse*,dispose*)完成的。当用户请求源文件中给定行和列的完成时,守护程序会将源文件的最后保存版本和当前源文件的缓存翻译单元传递给clang_codeCompleteAt。(Clang CodeComplete docs)。 传递给clang_parseTranslationUnit(从CompletionThread :: process,第271行的)标志是CXTranslationUnit_PrecompiledPreamble|CXTranslationUnit_CacheCompletionResults|CXTranslationUnit_SkipFunctionBodes。传递给clang_codeCompleteAt(从CompletionThread :: process,行305)的标志是CXCodeComplete_IncludeMacros|CXCodeComplete_IncludeCodePatterns。 调用clang_codeCompleteAt非常慢-即使完成位置是合法的成员访问代码(的文档中提到的预期用例的子集),也要花费3-5秒才能获得完成clang_codeCompleteAt。根据IDE代码完成标准,这似乎太慢了。有加速的方法吗?

3
代码完成如何工作?
许多编辑器和IDE都有代码完成功能。其中一些是非常“智能”的,其他则不是。我对更智能的类型感兴趣。例如,我看到IDE仅在以下情况下提供功能:a)在当前范围内可用b)其返回值有效。(例如,在“ 5 + foo [tab]”之后,它仅提供返回可以添加到正确类型的整数或变量名称的函数。)我还看到它们将更常用或最长的选项放在前面列表中。 我知道您需要解析代码。但是通常在编辑当前代码时无效,其中包含语法错误。当内容不完整且包含错误时,您该如何解析? 还有一个时间限制。如果花几秒钟才能得出列表,则完成是没有用的。有时,完成算法处理数千个类。 有什么好的算法和数据结构?

7
Visual Studio Code Intellisense非常慢-我能做些什么吗?
编辑:Pylance似乎在这方面要好得多,并且到目前为止已经解决了Microsoft以前的Python语言服务器的所有问题。 我使用的是VS Code,除了代码完成功能之外,所有其他方面都很棒,因为它通常太慢了,无法使用。这个例子显示了智能感知花了多长时间来找到一个局部变量,这只是在我按ctrl + enter之后才被提示这样做。 到目前为止,我还没有找到解决方案,所以我在这里问其他人是否遇到过类似的问题,并询问他们如何克服它。

1
PhpStorm中的代码段
我使用PhpStorm。我要制作代码片段,然后为它们分配快捷方式。我可以在NetBeans中做到这一点,但是在PhpStorm中我不知道如何制作它们。 例如,要添加console.log();NetBeans,我只键入con + space。con是我定义的快捷方式。

3
Vim的自动完成速度非常慢
大多数情况下,Vim中的自动完成功能对我来说很好用,但有时似乎正在扫描当前文件引用的文件,然后变得非常缓慢,有时需要花费几秒钟来将焦点释放给我。 有时Vim只是简单地告诉我,这是“扫描中”,这是在说“扫描标签” 我只在Ruby文件中发生这种情况,并且大多数情况下是在文件中有需求时发生的。 我的猜测是,这是一种用于检查相关文件中自动完成选项的功能,但我并不是真的需要它,而是希望使用更快的自动完成功能。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.