补全语句
此命令会插入必要的语法元素(括号、大括号、分号等),并将光标定位到可以开始输入下一条语句的位置。
完成当前语句
输入语句的核心部分(请参见下面的场景示例)。
按下 Ctrl+Shift+Enter。
此命令在许多场景中都很有用,包括自动闭合括号、添加分号、完成 if、 当...时 和 for 语句等。
例如,每当您声明一个新方法时,在指定方法参数后,完成语句命令会非常有用:
public void Foo(string input
此时,要开始编写方法体,您通常需要:
插入缺失的括号。
按下 输入 。
插入一个开括号。
再次按下 输入 。
使用 JetBrains Rider,您只需按下 Ctrl+Shift+Enter ,它会自动插入一个闭括号以及两个大括号,并将光标定位到可以继续编写方法体的位置:
public void Foo(string input)
{
// the caret is here
}
以类似的方式,完成语句命令适用于以下语言结构:
类型和类型成员 :类、接口、结构、枚举、委托、字段、事件和方法声明。
语句:
if、while、do、switch、示意图、锁定、继续、break和返回语句;case和默认子句;将单行语句转换为块语句。表达式 :调用、元素访问、字符串/字符字面量;对象、成员和集合项初始化器;创建匿名类型和隐式类型数组的表达式。
以下是应用完成语句命令在不同上下文中的一些示例。
用例 | 完成语句前 | 完成语句后 |
|---|---|---|
类声明 |
public class Foo/*caret*/
|
public class Foo
{
/*caret*/
}
|
委托声明 |
delegate void ChangeHandler(object sender/*caret*/
|
internal delegate void ChangeHandler(object sender);
/*caret*/
|
嵌套方法调用 |
myVar.DoSomething(foo.Bar(value/*caret*/
|
myVar.DoSomething(foo.Bar(value));
/*caret*/
|
|
if(myVar != null/*caret*/
|
if(myVar != null)
{
/*caret*/
}
|
|
switch (position)
{
case Position.Last/*caret*/
}
|
switch (position)
{
case Position.Last:
/*caret*/
}
|
将单行语句转换为块(案例 A) |
if(myVar != null)
position = Position.Last;/*caret*/
|
if(myVar != null)
{
position = Position.Last;
/*caret*/
}
|
将单行语句转换为块(案例 B) |
if(myVar != null)
/*caret*/position = Position.Last;
|
if(myVar != null)
{
/*caret*/
position = Position.Last;
}
|
元素访问表达式 |
var myValues = new Value[10/*caret*/
|
var myValues = new Value[10];
/*caret*/
|
最后修改日期: 2025年 9月 26日