PickyBiker 新成员 已加入 2020年5月15日 留言内容 4 编程经验 Beginner 2020年5月15日 #1 经过多年使用VB.net,我非常喜欢每行返回时的自动重新格式化功能。现在,我正在学习C#,我发现可以使用ctrl + k + d重新格式化代码,但是似乎无法找到一种在每次返回后自动格式化代码的方法。 我怎样才能做到这一点?
经过多年使用VB.net,我非常喜欢每行返回时的自动重新格式化功能。现在,我正在学习C#,我发现可以使用ctrl + k + d重新格式化代码,但是似乎无法找到一种在每次返回后自动格式化代码的方法。 我怎样才能做到这一点?
J 金西尼 C#论坛主持人 工作人员 已加入 2011年4月23日 留言内容 3,499 地点 悉尼,澳大利亚 编程经验 10+ 2020年5月16日 #2 在这方面,C#代码编辑器与VB代码编辑器的工作方式不同。我使用ReSharper,所以我通常不知道VS正在执行什么操作,而ReSharper却执行了什么操作,但是,如果我没有记错的话,C#代码编辑器将在键入分号时设置一行格式,而在键入结束符时将格式该格式支撑。如果未格式化行或块,例如因为您在中间进行了编辑,所以请尝试在分号或大括号的末尾键入内容。我认为您不必选择它,因为代码编辑器足够聪明,无法在这种情况下改写,但这可能是ReSharper而不是VS。 投票 0 下注
在这方面,C#代码编辑器与VB代码编辑器的工作方式不同。我使用ReSharper,所以我通常不知道VS正在执行什么操作,而ReSharper却执行了什么操作,但是,如果我没有记错的话,C#代码编辑器将在键入分号时设置一行格式,而在键入结束符时将格式该格式支撑。如果未格式化行或块,例如因为您在中间进行了编辑,所以请尝试在分号或大括号的末尾键入内容。我认为您不必选择它,因为代码编辑器足够聪明,无法在这种情况下改写,但这可能是ReSharper而不是VS。
PickyBiker 新成员 已加入 2020年5月15日 留言内容 4 编程经验 Beginner 2020年5月16日 #3 我发现它确实适用于块和分号,即使选中了该选项,它也不能返回。猜猜我只会接受它的工作方式。 投票 0 下注
跳伞 工作人员 已加入 2019年4月6日 留言内容 2,497 地点 弗吉尼亚州切萨皮克 编程经验 10+ 2020年5月16日 #4 您能否向我们展示您输入然后按的示例"Return"?您期望的格式是什么?您目前看到什么格式(或缺少格式)? 投票 0 下注
PickyBiker 新成员 已加入 2020年5月15日 留言内容 4 编程经验 Beginner 2020年5月16日 #5 在下面的代码中,Update的前两行已缩排。如果我转到platform.transform行的末尾并按回车键,它会换行,但格式不会改变。在VB中,该块将被重新格式化。 如果我转到Update子句中第一行的末尾并按回车键,则格式没有更改,只是换了一行。 如果我删除';'在第一行的末尾并再次键入,该行会重新格式化,但第二行仍会缩排。 如果我删除Update子句上的右括号并重新输入,则该块中的所有内容都会重新格式化。 实际上,我认为VB不会允许将第一两行放在首位。只要单击鼠标或返回鼠标左键,它就会被重新格式化。 猜想行为上的差异一定是有原因的。 C#: using UnityEngine; public class Tilt : MonoBehaviour { public float xAngle, zAngle; private GameObject platform; void Update() { platform = GameObject.Find("Cube"); float xAngle = Input.GetAxis("Vertical") * .25f; float zAngle = -Input.GetAxis("Horizontal") * .25f; platform.transform.Rotate(xAngle, 0, zAngle, Space.Self); } } 投票 0 下注
在下面的代码中,Update的前两行已缩排。如果我转到platform.transform行的末尾并按回车键,它会换行,但格式不会改变。在VB中,该块将被重新格式化。 如果我转到Update子句中第一行的末尾并按回车键,则格式没有更改,只是换了一行。 如果我删除';'在第一行的末尾并再次键入,该行会重新格式化,但第二行仍会缩排。 如果我删除Update子句上的右括号并重新输入,则该块中的所有内容都会重新格式化。 实际上,我认为VB不会允许将第一两行放在首位。只要单击鼠标或返回鼠标左键,它就会被重新格式化。 猜想行为上的差异一定是有原因的。 C#: using UnityEngine; public class Tilt : MonoBehaviour { public float xAngle, zAngle; private GameObject platform; void Update() { platform = GameObject.Find("Cube"); float xAngle = Input.GetAxis("Vertical") * .25f; float zAngle = -Input.GetAxis("Horizontal") * .25f; platform.transform.Rotate(xAngle, 0, zAngle, Space.Self); } }
J 金西尼 C#论坛主持人 工作人员 已加入 2011年4月23日 留言内容 3,499 地点 悉尼,澳大利亚 编程经验 10+ 2020年5月16日 #6 代码编辑器由不同的团队创建。 VB的目标人群更多地是针对初学者,因此试图使更多的事情变得容易。 C#的目标受众是经验丰富的开发人员,尤其是那些具有基于C语言的经验的开发人员。这些人更有可能想以自己的方式做事。 我不确定100%如何 退货时自动格式化 选项有效,但这是我刚刚尝试过的事情以及发生了什么。我输入了以下代码: C#: for(var i=0; i<10; i++) {} 当我打 输入 在每一行的末尾,未应用任何格式。当我输入开始括号时,自动添加了结束括号,并且将插入号放置在括号之间,但未应用格式。当我打 输入,结果如下: C#: for (var i = 0; i < 10; i++) { } 如您所见,当我点击时应用了格式化 输入,然后将插入号放在括号之间的行上并缩进一个制表符。同样,我不确定ReSharper是否负责任何此类工作,但这很可能就是它们对退货格式化的含义。 还要注意的是,如果我键入右括号而不是 输入, 我懂了: C#: for (var i = 0; i < 10; i++) { } 插入符号放在右括号之后。 投票 0 下注
代码编辑器由不同的团队创建。 VB的目标人群更多地是针对初学者,因此试图使更多的事情变得容易。 C#的目标受众是经验丰富的开发人员,尤其是那些具有基于C语言的经验的开发人员。这些人更有可能想以自己的方式做事。 我不确定100%如何 退货时自动格式化 选项有效,但这是我刚刚尝试过的事情以及发生了什么。我输入了以下代码: C#: for(var i=0; i<10; i++) {} 当我打 输入 在每一行的末尾,未应用任何格式。当我输入开始括号时,自动添加了结束括号,并且将插入号放置在括号之间,但未应用格式。当我打 输入,结果如下: C#: for (var i = 0; i < 10; i++) { } 如您所见,当我点击时应用了格式化 输入,然后将插入号放在括号之间的行上并缩进一个制表符。同样,我不确定ReSharper是否负责任何此类工作,但这很可能就是它们对退货格式化的含义。 还要注意的是,如果我键入右括号而不是 输入, 我懂了: C#: for (var i = 0; i < 10; i++) { } 插入符号放在右括号之后。