标签: resharper-6.0

当前的SynchronizationContext可能不会用作TaskScheduler

我正在使用Tasks在我的ViewModel中运行长时间运行的服务器调用,结果将被重新编组Dispatcher使用TaskScheduler.FromSyncronizationContext().例如:

var context = TaskScheduler.FromCurrentSynchronizationContext();
this.Message = "Loading...";
Task task = Task.Factory.StartNew(() => { ... })
            .ContinueWith(x => this.Message = "Completed"
                          , context);
Run Code Online (Sandbox Code Playgroud)

这在我执行应用程序时工作正常.但是当我运行我的NUnit测试时,Resharper我在调用时收到错误消息FromCurrentSynchronizationContext:

当前的SynchronizationContext可能不会用作TaskScheduler.

我想这是因为测试是在工作线程上运行的.如何确保测试在主线程上运行?欢迎任何其他建议.

c# multithreading nunit task-parallel-library resharper-6.0

96
推荐指数
2
解决办法
3万
查看次数

在ReSharper for Visual Studio中完全禁用格式化和完成

我喜欢ReSharper提供的许多功能,但我绝对无法忍受格式化和代码完成.它让我每走一步都会绊倒我.在javascript中,它不断地窃取大括号,试图重新格式化我的代码,使其无法正常工作,并且很难找到丢失的部分.

我想禁用所有与ReSharper的格式和代码完成有关的内容,同时仍然可以获得酷炫导航功能的好处.

反正有选择性安装ReSharper吗?我已经尝试在选项中禁用这些东西,但它似乎没有任何好处.

resharper formatting intellisense visual-studio-2010 resharper-6.0

46
推荐指数
2
解决办法
1万
查看次数

Resharper:命名空间与文件位置不对应

我重命名了一个文件夹并更新了我的命名空间声明,但Resharper 6声称命名空间应该反映它在重命名之前的状态.它在哪里存储文件位置数据?

namespaces resharper-6.0

38
推荐指数
4
解决办法
1万
查看次数

如何从模板中删除用户类别?

如何从Resharper实时模板中删除用户类别?如果仅选择了某个类别(而不是模板本身),则会禁用删除按钮:

Resharper Live模板

没有项目提供上下文菜单,编辑模板不提供任何方式来编辑它的类别.

resharper resharper-6.0 resharper-7.0

22
推荐指数
1
解决办法
713
查看次数

我如何格式化,所以方法参数垂直堆叠,每行一个?

我有一个方法,我想格式化如下:

public static IQueryable<ThingRequest> GetThings( this EntityContext one
                                                , int? two = null
                                                , int? three = null
                                                , int? four = null
                                                , int? five = null
                                                , String six = null 
                                                , IEnumerable<String> seven = null) {
Run Code Online (Sandbox Code Playgroud)

基本上,如果方法定义超出了行的长度,我希望每行有一个参数.我不太关心逗号(如果它们出现在每一行的末尾,那很好).

但R#格式化它,而不是:

public static IQueryable<ThingRequest> GetThings( this EntityContext one, int? two = null, int? three = null, int? four = null, int? five = null,
                                                  String six = null, IEnumerable<String> seven = null ) {
Run Code Online (Sandbox Code Playgroud)

...所以,它排成一行,但每行有几个参数,很难找出任何一个参数.

顺便说一下,当调用方法时,如果最大行长度超过,它会逐行堆叠参数(即使在这种情况下,我几乎不喜欢它).

我已经进入了R#选项并探索了各种各样的复选框,但我看不出如何改善我的情况.想法?

c# resharper resharper-6.0

19
推荐指数
1
解决办法
6358
查看次数

"可能的多个枚举IEnumerable"vs"参数可以用基类型声明"

在Resharper 5中,以下代码导致警告"可以使用基类型声明参数" list:

public void DoSomething(List<string> list)
{
    if (list.Any())
    {
        // ...
    }
    foreach (var item in list)
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

在Resharper 6中,情况并非如此.但是,如果我将方法更改为以下内容,我仍然会收到警告:

public void DoSomething(List<string> list)
{
    foreach (var item in list)
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

原因是,在此版本中,列表仅枚举一次,因此将其更改为IEnumerable<string>不会自动引入另一个警告.现在,如果我手动更改第一个版本IEnumerable<string>而不是使用a List<string>,我将list在方法体中的两个事件中得到该警告("可能多次枚举IEnumerable"):

public void DoSomething(IEnumerable<string> list)
{
    if (list.Any()) // <- here
    {
        // ...
    }
    foreach (var item in list) // <- and here
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我理解,为什么,但我想知道,如何解决这个警告,假设,该方法真的只需要一个 …

.net c# resharper resharper-6.0

15
推荐指数
4
解决办法
1万
查看次数

Resharper 6 - 自动添加"this"

在我工作的公司中有一种命名方式,必须将"this"添加到每个函数,属性调用和字段中.有时我会忘记它.我希望Resharper自动完成.

有什么建议?

resharper resharper-6.0

15
推荐指数
1
解决办法
3278
查看次数

无法使用resharper解决符号问题,但代码编译

我知道之前已经问过这个问题了,但问题没有解决方案,而且是去年,所以我想也许有人已经找到了解决这个问题的方法.我正在使用带有SP1的VS2010.在安装SP1之前没有问题.如果我卸载重新#它工作正常.我有一个ASP.Net网站和一些其他项目.来自其他项目的类不被识别,resharper建议使用其他项目,所以我这样做,它把它放在使用中,然后使用也得到"无法解析符号".我曾尝试他们2011给了建议,在这里却什么都没有.如果我删除_Resharper.并重新启动vs,它将工作5秒钟,然后再次全红...

希望有人从那以后找到解决方案......谢谢

编辑:我注意到它使用Web服务执行此操作

visual-studio-2010-sp1 resharper-6.0

13
推荐指数
1
解决办法
4012
查看次数

暂时禁用ReSharper 6上的StyleCop警告

我下载了与ReSharper 6集成的StyleCop 4.6.3,结果非常棒!

但是在某个特定项目中,我想暂时禁用StyleCop警告并稍后再次启用.

有没有办法做到这一点?我似乎无法在ReSharper菜单上找到它(选项等).

resharper stylecop resharper-6.0

12
推荐指数
1
解决办法
6643
查看次数

是否通过理解语法解决了"访问修改后的闭包"的问题?

ReSharper 6.0为我提供dr了第一个代码片段中标识符的"访问修改后的闭包"警告.

private IEnumerable<string> GetTheDataTableStrings(DataTable dt) {
    foreach (DataRow dr in dt.Rows) {
        yield return GetStringFuncOutput(() => dr.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

我想我已经基本了解了这个警告试图保护我的内容:dr在询问GetTheDataTableStrings的输出之前多次更改,因此调用者可能无法获得我期望的输出/行为.

但是R#没有给我第二个代码片段的任何警告.

private IEnumerable<string> GetTheDataTableStrings(DataTable dt) {
    return from DataRow dr in dt.Rows select GetStringFuncOutput(dr.ToString);
}
Run Code Online (Sandbox Code Playgroud)

使用理解语法时,放弃此警告/关注是否安全?

其他代码:

string GetStringFuncOutput(Func<string> stringFunc) {
    return stringFunc();
}
Run Code Online (Sandbox Code Playgroud)

c# warnings list-comprehension resharper-6.0

10
推荐指数
2
解决办法
1666
查看次数