从建议的变体中选择语句后,IntelliJ IDEA 自动插入 space
IntelliJ IDEA auto insert space after choosing statement from suggested variants
我注意到,每次我在代码完成建议列表中做出选择时,我都必须在每个语句后手动添加一个 space,这很烦人。想自动执行此操作并尝试在设置中找到解决方案,但一无所获。
]
它在这里工作得很好,行为取决于使用 return
的位置(在 Windows 10 上的 PhpStorm 2020.1.4 中测试)。
1. space 将在 return
完成后自动插入 IDE 已知可以 return 的函数中非空值,例如
- 其中 return 类型是通过 PHPDoc 或本机 PHP 类型声明的;
- 基于 other/already 在函数体中存在非空 return。
2. 如果函数已经声明它将 return void
那么 return;
将在完成时插入(注意 ;
最后)。
3. 如果事先不知道函数 return 类型(例如,您先写 return
并且没有声明 return 类型) 或其他情况(例如包含文件中的 return——典型情况是 PHP 配置文件(例如 Laravel))则不会插入 space。
参考文献:WI-51343, WI-45793, WI-45803.
以下是 IDE 将通过完成弹出窗口在 return
关键字完成后插入 space 的示例:
其中一个案例的简短演示视频:https://recordit.co/U90Sx6PPTO
function some1($a)
{
if ($a) {
return 22;
}
ret[COMPLETION]
}
function some2($a): string
{
ret[COMPLETION]
}
/**
* Some func.
*
* @param $a
* @return string
*/
function some3($a)
{
ret[COMPLETION]
}
这里IDE会插入return;
(注意最后的;
):
/**
* @param $a
* @return void
*/
function some4($a)
{
ret[COMPLETION]
}
如果您总是希望在 return
语句之后有一个 space,可能的解决方法是:只需制作 custom Live Template 即可将 r[TAB]
扩展为 return [CARET]
。
例如:
我注意到,每次我在代码完成建议列表中做出选择时,我都必须在每个语句后手动添加一个 space,这很烦人。想自动执行此操作并尝试在设置中找到解决方案,但一无所获。
它在这里工作得很好,行为取决于使用 return
的位置(在 Windows 10 上的 PhpStorm 2020.1.4 中测试)。
1. space 将在 return
完成后自动插入 IDE 已知可以 return 的函数中非空值,例如
- 其中 return 类型是通过 PHPDoc 或本机 PHP 类型声明的;
- 基于 other/already 在函数体中存在非空 return。
2. 如果函数已经声明它将 return void
那么 return;
将在完成时插入(注意 ;
最后)。
3. 如果事先不知道函数 return 类型(例如,您先写 return
并且没有声明 return 类型) 或其他情况(例如包含文件中的 return——典型情况是 PHP 配置文件(例如 Laravel))则不会插入 space。
参考文献:WI-51343, WI-45793, WI-45803.
以下是 IDE 将通过完成弹出窗口在 return
关键字完成后插入 space 的示例:
其中一个案例的简短演示视频:https://recordit.co/U90Sx6PPTO
function some1($a)
{
if ($a) {
return 22;
}
ret[COMPLETION]
}
function some2($a): string
{
ret[COMPLETION]
}
/**
* Some func.
*
* @param $a
* @return string
*/
function some3($a)
{
ret[COMPLETION]
}
这里IDE会插入return;
(注意最后的;
):
/**
* @param $a
* @return void
*/
function some4($a)
{
ret[COMPLETION]
}
如果您总是希望在 return
语句之后有一个 space,可能的解决方法是:只需制作 custom Live Template 即可将 r[TAB]
扩展为 return [CARET]
。
例如: