通常"乐于助人" Intellij在检测到方法时添加左括号的习惯反而是一个小的障碍/刺激:我必须停止输入,备份,删除角色然后继续输入。
有没有解决此问题的设置?
请注意,对于同一问题,有一个关于{{1}}的相关问题 - 对于Java来说,它似乎仍未解决:
How do I turn off auto-parenthesis generation in Intellij IDEA?
特别是这条评论适用于我:
所以,这个选项已经为我关闭了。我只是测试并找到了 这只发生在Actionscript文件中。只在Java中 给了我(字符,它让我的字体在它上面
那里的图像也适用于我:
答案 0 :(得分:10)
我发现了一种解决方法,可以防止IntelliJ添加括号,但这不是设置,并且涉及代码本身,因此实际上可能无法完全消除您的烦恼。
如果写出一个对象,然后在该对象上写一个方法调用,则IntelliJ将创建括号并将光标插入到它们之间。下面是一个示例,|
表示光标。
//Start with:
objectA method|
//Press `RETURN` and it becomes:
objectA method(|)
但是,如果IntelliJ在编写方法调用时检测到参数已经存在,则应省略括号。
//Start with:
objectA| objectB
//Write the method call:
objectA method| objectB
//Press `RETURN` and it becomes:
objectA method |objectB
问题在于人们通常在方法调用之后写参数。尽管您可以使用占位符来诱骗IntelliJ进行思考,但是仍然可以正常书写。请注意,您可以将占位符写在方法调用的同一行上,也可以将其写在紧靠其下的行(之间仅包含空格),以便IntelliJ将其检测为参数。
//Start with:
objectA|
"placeholder"
//Write the method call:
objectA method|
"placeholder"
//Press `RETURN` and it becomes
objectA method |
"placeholder"
//Continue to write the argument
objectA method objectB|
"placeholder"
仅当前缀表示法有效时(例如method
的类中定义了objectA
时,才会出现上述行为。但是,为了让IntelliJ可以将占位符参数指定为方法的参数,似乎并不一定要将其指定为方法的参数。