Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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# 雷沙珀·戈查斯_C#_Visual Studio_Resharper - Fatal编程技术网

C# 雷沙珀·戈查斯

C# 雷沙珀·戈查斯,c#,visual-studio,resharper,C#,Visual Studio,Resharper,我绝对喜欢ReSharper,没有它我就无法工作,但我遇到了一些难题,并学会了避免: 允许ReSharper自动重命名字符串文字,在对象变量与DAL SQL或其他字符串常量中的列名匹配的情况下,确实会对您产生不利影响。我已经了解到,当第二个重命名对话框出现时,我不需要不耐烦地按enter键,而是需要查看ReSharper的建议,并经常跳过字符串文本重命名步骤 这一点有点阴险:当您打开解决方案范围的分析时,ReSharper将告诉您是否使用了公共方法。这包括属性中的getter和setter。这

我绝对喜欢ReSharper,没有它我就无法工作,但我遇到了一些难题,并学会了避免:

  • 允许ReSharper自动重命名字符串文字,在对象变量与DAL SQL或其他字符串常量中的列名匹配的情况下,确实会对您产生不利影响。我已经了解到,当第二个重命名对话框出现时,我不需要不耐烦地按enter键,而是需要查看ReSharper的建议,并经常跳过字符串文本重命名步骤
  • 这一点有点阴险:当您打开解决方案范围的分析时,ReSharper将告诉您是否使用了公共方法。这包括属性中的getter和setter。这是一个很好的特性,但ReSharper不知道的是,当您设计一个将在设计器中显示的视图(表单、用户ctrl)时,属性getter和setter在设计时被调用,而不会在编译时显示。因此,ReSharper将建议将这些属性的getter或setter设置为私有或删除。但是,如果进行了调整,然后在设计器中加载视图,则设计器将崩溃,因为该属性不可用,并且错误消息并不明显。简而言之,程序员在设计视图时需要仔细考虑属性使用建议。

那些是我的大家伙。还有什么东西可能会咬到我和其他ReSharper爱好者呢?

当我遇到使用#ifs进行条件编译的预处理器指令,并且当前配置被设置为隐藏一块代码时,它似乎看不到#if’d代码,并建议拉出代码块使用的变量,认为它从未被调用。

您可以通过UseDimPlicity属性标记这些属性,并且ReSharper不会建议删除它。

ReSharper要么完全忽略,要么具有完全不同的处理警告为错误项目生成开关的实现。
此外,上次我检查时,当与错误警告一起使用时,它忽略了项目配置中的“抑制警告”块。

我们过去使用过文件范围的条件编译,Resharper对此完全着迷。它甚至不知道这些条件是否存在,如果两个文件声明相同的常量和方法,就会出现大量冲突和错误

<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' Or '$(Configuration)|$(Platform)' == 'Release|x64'">
    <Compile Include="SomeFileFor.x64.cs">
        <SubType>Code</SubType>
    </Compile>
</ItemGroup>
<ItemGroup Condition=" !('$(Configuration)|$(Platform)' == 'Debug|x64' Or '$(Configuration)|$(Platform)' == 'Release|x64')">
    <Compile Include="SomeFileFor.x32.cs">
        <SubType>Code</SubType>
    </Compile>
</ItemGroup>

代码
代码

条件编译已添加到。只需获取最新版本。

很好,但我喜欢避免使用属性来指导生产工具,因为它将代码绑定到第三方软件包。是否存在一种设置,R#可以忽略控件派生类中的属性?或者这应该是JetBrains团队在下一版本中的一个特性建议。不必参考JetBrains组件。可以将这些属性复制到项目、任何位置和命名空间。看看ReSharper→选择权→代码注释→将默认实现复制到剪贴板。提供在字符串中重命名用法只是一个愚蠢的功能。它一直在咬我的屁股,我从来不想搜索字符串。重构的全部意义在于它是防弹的。在字符串中重命名从来都不是防弹的——我不知道他们为什么会提供它。@Kirk:我同意。至少在默认情况下,它应该被禁用。Resharper似乎不理解条件编译器语句。我今天遇到了这个问题,并报告说:@rudiviser您很久以前就报告过这个问题,问题仍然存在!这也是使用的一个问题,Resharper认为有些名称空间可以删除,但事实并非如此。。。