Questions tagged «resharper»

ReSharper是JetBrains的重构和生产力扩展,自2003年以来扩展了Microsoft Visual Studio版本的本机功能。


2
ReSharper错误:“输出已达到限制并被截断。要查看完整的输出,请使用“在新窗口中显示堆栈跟踪”操作。”
在ReSharper中运行单元测试时,如果输出太长,则会出现此错误: The output has reached the limit and was truncated. To view the full output use 'Show Stack Trace in a new window' action. 更新资料 ReSharper在2016.2中修复了此问题,请参阅@Alexander Pacha的回答。

8
在方法内部使用const代替变量的优点
每当方法中有局部变量时,ReSharper建议将其转换为常量: // instead of this: var s = "some string"; var flags = BindingFlags.Public | BindingFlags.Instance; // ReSharper suggest to use this: const string s = "some string"; const BindingFlags flags = BindingFlags.Public | BindingFlags.Instance; 鉴于这些实际上是常量值(而不是变量),我知道ReSharper建议将其更改为const。 但是除此之外,使用const(例如,更好的性能)时是否还有其他优点可以证明使用合理的关键字const BindingFlags代替了方便和可读的var关键字? 顺便说一句:我刚刚在这里发现了一个类似的问题:Resharper总是建议我使用const string而不是string,但是我认为这更多地是关于类的字段,而我的问题是关于局部变量/ consts的。


4
Resharper的示例代码用于解释“ IEnumerable的可能多重枚举”
有时Resharper警告: IEnumerable的可能的多个枚举 关于如何处理此问题,有一个SO问题,ReSharper网站也在此处进行了说明。它有一些示例代码告诉您执行以下操作: IEnumerable<string> names = GetNames().ToList(); 我的问题是关于这个具体建议的:这是否还会导致在2个for-each循环中两次对集合进行枚举?

3
用ReSharper更新名称空间的最快方法?
我一直在进行一些重构和重组,并移动了许多文件。 我想更新每个文件,以便根据其新位置具有“正确”的命名空间。使用ReSharper,我可以进入每个文件,这表明命名空间不正确,但是这样我必须一次对每个文件进行处理。 无论如何,是否要更新文件夹或项目中每个文件的名称空间?
75 c#  resharper 

4
在派生类型上使用类的静态成员?
使用Resharper 4.1,我遇到了一个有趣的警告:“通过派生类型访问类型的静态成员”。这是发生这种情况的代码示例: class A { public static void SomethingStatic() { //[do that thing you do...] } } class B : A { } class SampleUsage { public static void Usage() { B.SomethingStatic(); // <-- Resharper warning occurs here } } 有人知道通过B使用A的静态成员时有什么问题(如果有)吗?
73 c#  static  resharper 


12
您如何找到接口的所有实现?
假设您有一个用C#定义的接口。查找提供接口实现的所有类的最简单方法是什么? 蛮力方法是在Visual Studio中使用“查找引用”,并手动浏览结果以将实现与实现分开,但是对于大型代码库中的接口,该接口在很少的实现中被大量引用,因此可以耗时且容易出错。 在Java中,在代码库上运行javadoc(使用-private选项包括私有类)将为该接口(例如Comparable)生成一个文档页面,其中包括该接口以及所有子接口的所有实现类(尽管它没有包括实现子接口的类,则可以通过深入列出的子接口来相对容易地确定这些类)。我需要的只是C#和Visual Studio的功能。

9
ReSharper键绑定问题
我使用的是:Visual Studio 2010 Ultimate,Resharer 6。 在ReSharper的选项中,我选择Visual Studio键盘sheme,然后单击Apply Sheme: 之后,未分配一些快捷方式,例如:转到声明,转到实现,查找用法,完整符号等: 尝试 工具->选项,环境->键盘->重置 导入和导出设置,重新导入C#开发人员设置 重置/重置 没有任何帮助。 手动配置快捷方式是不可取的。请帮忙。



3
用于IntelliJ IDEA的Visual Studio ReSharper键映射
我主要使用Visual Studio和ReSharper(R#)进行开发,并具有R#的出色工作知识。我想利用IntelliJ IDEA(与我的个人Java冒险)中的知识,而不必学习IDEA键映射方案。IDEA具有Visual Studio键盘映射,但主要更新诸如Find(Ctrl + F)和Replace(Ctrl + H)等的键绑定。因为Visual Studio没有诸如“ Inspect This ...”之类的内置功能。 (由R#提供的某种东西),Visual Studio键映射中的IntelliJ键绑定只是IDEA的转储。 在VS.NET中,ReSharper带有两个键盘映射,IDEA和Visual Studio。从R#5开始,我就一直在使用Visual Studio键映射,我真的很想在IntelliJ想法中有一个键映射,它实际上是Visual Studio IDEA键映射和R#Visual Studio键映射的组合。这个组合键映射就是我所说的IntelliJ IDEA的Visual Studio ReSharper(R#)键映射。 如果有人创建了与所描述的描述接近的键盘映射,那么我将不胜感激。如果JetBrains听到了,那么如何将附加的键映射方案与IntelliJ捆绑在一起,这实际上是Visual Studio方案(在IntelliJ IDEA中)和ReSharper Visual Studio方案(在VS.NET中)的组合?

7
Int32.ToString()是特定于文化的吗?
我正在运行ReSharper的Beta版,它为以下代码提供警告: int id; // ... DoSomethingWith(id.ToString()); 该警告正在发生id.ToString(),它告诉我“在字符串转换中明确指定区域性”。我理解警告,并且知道如何解决-只是将代码更改为更加笨拙id.ToString(CultureInfo.InvariantCulture)。 但是我的问题是:那有必要吗?我的意思是,当您使用类似DateTime(不同的区域性具有不同的日期格式)和Double(不同的字符用于小数点)类型时,指定区域性很重要。但是Int32.ToString(),至少在美国和不变文化中,根本没有添加任何格式。没有逗号,没有小数点,没有美元符号,什么都没有。那么根据文化的不同会有什么变化? 当您调用无参数时,是否存在某些文化实际上会添加某种格式Int32.ToString()?还是这是ReSharper Beta中的错误,并且此警告确实不适用Int32(在这种情况下,我将提交ReSharper错误报告)?

1
在VS 2019中运行时,所有单元测试均不确定
我正在使用Unit Test Explorer和Unit Test Sessions运行测试,突然得到以下错误。 在中运行时Test -> Test explorer,测试根本不会运行,并且我看不到任何错误。 在这两种情况下,Output窗口都没有。我已经重新安装了R#,清除了VS缓存(在中%USERPROFILE%\AppData\Local\Microsoft),重新启动了Windows,重新启动了VS。 2019.10.25 14:54:08.058 ERROR Remote: An exception occurred while invoking executor 'executor://mstestadapter/v2': Method not found: 'Void Microsoft.VisualStudio.TestTools.UnitTesting.TestContext.set_CancellationTokenSource(System.Threading.CancellationTokenSource)'. --- EXCEPTION #1/1 [LoggerException] Message = “Remote: An exception occurred while invoking executor 'executor://mstestadapter/v2': Method not found: 'Void Microsoft.VisualStudio.TestTools.UnitTesting.TestContext.set_CancellationTokenSource(System.Threading.CancellationTokenSource)'.” ExceptionPath = Root ClassName = …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.