Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在删除{}方括号时阻止VisualStudio扩展所有内容_C#_Visual Studio_Refactoring - Fatal编程技术网

C# 如何在删除{}方括号时阻止VisualStudio扩展所有内容

C# 如何在删除{}方括号时阻止VisualStudio扩展所有内容,c#,visual-studio,refactoring,C#,Visual Studio,Refactoring,几天前我问了这个问题,但没有得到答案,所以我会再次尝试将其精确一点 我喜欢通过折叠我目前不使用的方法、注释和xml摘要来保持代码的完整性。但是,每次我编辑方法、循环、switch语句或代码的任何部分(任何包含{或}大括号的内容)中的一些大括号时,下面的所有内容都会在1秒后展开。所有内容都向下展开,直到当前文件(或区域,如果编辑的代码位于其中)结束 我再也受不了了,我厌倦了一直使用Ctrl+m+O然后重新查找编辑的字段。VS2010是否有任何选项或扩展可以解决我的问题 更新 我开始意识到没有办法解

几天前我问了这个问题,但没有得到答案,所以我会再次尝试将其精确一点

我喜欢通过折叠我目前不使用的方法、注释和xml摘要来保持代码的完整性。但是,每次我编辑方法、循环、switch语句或代码的任何部分(任何包含
{
}
大括号的内容)中的一些大括号时,下面的所有内容都会在1秒后展开。所有内容都向下展开,直到当前文件(或区域,如果编辑的代码位于其中)结束

我再也受不了了,我厌倦了一直使用
Ctrl
+
m
+
O
然后重新查找编辑的字段。VS2010是否有任何选项或扩展可以解决我的问题

更新
我开始意识到没有办法解决这个问题。然而,我也可以接受一个修改过的问题的答案:有没有一种方法或工具可以让我自动删除只包含一条指令的大括号对?这将是解决我问题的一个可以接受的方法。

我不确定到底是什么问题,因为这显然不像是正常的行为(我从未经历过)

不过,有几个选项(不知道更多问题)可能会对您有所帮助

首先,有人就定制visual studio intellisense的另一个主题给出了非常好的答案:

如果这不是一个选项,也许可以看看为VisualStudio2010提供的扩展

生产力工具可能会帮助您完成一些重构。您可以通过VisualStudio转到工具-扩展管理器来实现这一点。然后选择该选项并安装它。 电动工具非常有限,因此这可能还不够。我相信人们可以提供其他选择,但我肯定会推荐ReSharper:。 你可以免费试用,但试用期过后你必须付费。我使用它,它提供的扩展非常棒。您可以根据个人喜好完全更改Visual Studio的行为方式


抱歉,我无法提供任何其他帮助,但如果您能提供更多信息,那么我们可能会找到解决方案(例如,您所说的其他方法正在扩展等是什么意思).

如果我了解您需要什么,那么您会问
如何阻止我正在编辑的行下面的代码自动扩展。
我想告诉您,无论是官方来源还是其他任何来源都没有解决方案。代码崩溃是Visual Studio等理想代码编辑器的一个功能

让我解释一下为什么会发生这种情况以及如何防止这种情况。首先让我解释一下代码崩溃的基本条件。理想的代码编辑器使用lexer和解析器来支持语言,解析器使用正则表达式来匹配编码器或其他人输入的特定于语言的语法,在此序列中,代码编辑器存储了所有特定符号所在的位置,如
{and}

为了使代码折叠有效地工作,必须在正在编辑的代码中按精确顺序指定相同数量的这些符号,只要源代码中存在与特定语言语法不匹配的内容,解析器标志就会向编辑和格式化引擎报告此错误

回到你的问题,让我们谈谈你所面对的,更好地理解它,让我们考虑一个简单的代码块;

并认为下面的代码还有更多的函数,这些函数也被折叠了。现在如果我理解了,那么你说如果<代码>我编辑< /COD>倍数>代码>并删除它的开始卷曲括号< /代码> {,下面的所有代码自动扩展。

如果是这种情况,那么问题是因为解析器尝试匹配语言语法,并在
AddNumbers的
终止大括号中搜索低于该点的任何终止大括号

更新:

总而言之,这个问题没有解决方案,这是因为Visual Studio执行实时解析,这就是它实时显示错误的方式。实际上,这不是一个问题,这就是为什么从来没有报告过这一问题,因为官方来源没有提供任何信息。不过,您可以通过改变bi的编码习惯来防止这一问题t、 当你创建一个函数时,假设SomeFunction(inta,intb),试着先完成函数的外部,如下所示

private void SomeFunction(int a,int b)
{
//Write code later.
}
private void SomeFunction(int a,int b)
{
int z=a+b;
Console.WriteLine(z);

int x=a*b;
Console.WriteLine(x);

int p=a/b;
Console.WriteLine(p);

int q=a-b;
Console.WriteLine(q);
}
首先创建如上所述的函数大纲,然后在其中编写一些代码,如下所示

private void SomeFunction(int a,int b)
{
//Write code later.
}
private void SomeFunction(int a,int b)
{
int z=a+b;
Console.WriteLine(z);

int x=a*b;
Console.WriteLine(x);

int p=a/b;
Console.WriteLine(p);

int q=a-b;
Console.WriteLine(q);
}

接下来考虑你正在编写一个<代码>如果语句,首先像这样完成外部;

if(//We'll define condition later)
{
//Write function body later.
}
如果您在VisualStudio中使用过代码片段,那么您可能已经注意到VisualStudio首先生成snipet的外侧,然后将插入符号放在第一个参数中

所以,这些是一些指导方针,可以防止这个问题

现在转向解决方案,
为了防止在创建函数时出现这种情况,请尝试在编写任何代码之前先放置其{和}大括号。


希望这可以防止您面临的问题。如果您还有其他问题,请告诉我。

好吧,您遇到的这个问题是一个普遍的问题,有时会令人恼火。根据我的经验,visual studio会失控,尤其是当您在一个大代码文件中编写大量块语句时,每当遇到这种情况时P您可以保存您的工作并重新启动VS。但要回答您的问题,请确保您首先尝试打开任何要编辑的折叠代码,至于复制/剪切,请在执行编辑选项之前尝试先突出显示折叠的代码。这会通知编辑器您要编辑突出显示的代码段。希望有帮助ps