在Visual Studio中,将发生自动格式化,例如,在通过近括号或在键入分号后完成C#函数定义的语法之后。有时,这很棒!其他时候,自动格式化通过对此问题应用自己的不同意见来破坏我的对齐意图。考虑这个例子:
// Before finishing the method definition, no auto-formatting:
public OverloadedConstructor(int[] things, int andSuch)
: this(things, andSuch,
new HelperObject(andSuch) /* missing a ')' here */ { }
// After finishing the method definition by adding the missing ')'
public OverloadedConstructor(int[] things, int andSuch)
: this(things, andSuch,
new HelperObject(andSuch)) { }
无论您喜欢哪种对齐方式,Visual Studio都不会真正破坏我的意图,因为自动格式化操作已插入到撤消堆栈中。如果我想要撤消其自动格式化操作,我只需按Ctrl + Z即可恢复原始格式。如果我想要撤消键入的闭括号,我会再次按Ctrl + Z.
但是,在Visual Studio代码中,自动格式化操作与括号输入结合使用 - 按下撤消后,VSCode将删除自动格式以及我刚刚输入的近括号,重新键入其中再次导致错误的自动格式,这让我陷入了永无止境的挫折循环!
我尝试过搜索一个设置,该设置将重现Visual Studio对自动格式化操作具有单独撤消历史记录的行为,但无济于事。 是否有保留此设置的设置"单独撤消自动格式设置"工作流程,还是我应该学习不同的工作流程,以便VSCode根据自动格式单独决定是否保持其效果?