- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现我一直在与 ReSharper 的 Complete Statement (Ctrl+Shift+Enter) 行为作斗争,我想知道是否有办法对其进行自定义。
我将编辑一些代码,例如:
var a = 0;
var b = 1;
然后我想添加这个:
var a = 0;
using (var frob = new Thingy())
{
a = frob.Foo();
}
var b = 1;
如果我不使用“using”实时模板,只是输入它,我会在输入 thingy 后点击“Complete Statement”,Resharper 会将其合并为:
var a = 0;
using (var frob = new Thingy())
var b = 1;
所以,我想知道,有没有办法告诉它总是创建新的大括号,而不是尝试将下一行插入到您要添加的任何语句中?
这是使用 ReSharper 8.1。我从第 4 版开始就一直在使用它,这感觉像是一个新问题,所以也许他们已经改变了默认行为。
更新:鉴于 Thomas Weller 的回答和@Resharper 在 Twitter 上的回复,我做了更多调查。
这里好像有点不对劲。如果您查看 Complete Statement 的文档它明确指出:
With Complete Statement, instead of this tricky procedure, you only have to press Ctrl+Shift+Enter, and ReSharper will automatically insert a closing parenthesis, as well as both braces, and put the caret right where you can proceed with writing the method body In similar ways, Complete Statement is known to work with the following language constructs:
[...] Statements: if, while, do, switch, using, lock, continue, break, and return statements; case and default clauses; conversion of single-line statements to block statements.
在对此进行一些测试时,我注意到 if
语句的行为符合预期(它添加了大括号并将 carat 放在一个新行中)。 switch
和 checked
也是如此。
另一方面,while
、using
和 fixed
的行为与我上面的示例一样,它选择了下一行要使用的代码而不是新 block 。
这看起来相当不一致。要么更新文档,要么所有语句类型的行为都应该相同。
因此,这似乎更适合作为错误报告而不是 SO 问题。这是 link to the bug如果有人有兴趣对其进行投票。 :)
最佳答案
您没有按预期使用 R# 的“完整语句”功能,因此该工具无法准确确定您想要实现的目标。
一旦模板在 IntelliSense 中可用,就用 Live 模板完成 using
语句,然后它会给你括号。然后,Live 模板将通过突出显示/将光标设置在适当的部分一个接一个地引导您输入语句的各个部分(不用担心,您不需要触摸鼠标)。
或者,实时模板始终可以通过实时模板资源管理器访问和编辑(实时模板类似于“普通”代码模板)。但我不建议将其用于预定义的,除非您有充分的理由这样做。
关于c# - 改变 ReSharper "Complete Statement"行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21049956/
我有一个返回 future 的函数,该函数取决于要解决的回调结果: Future connectSocket(String email, String password, {Function o
我正在尝试链接两个返回 Completable 的响应式调用在 android 上使用改造: val userRequest = ... val languageRequest = ... retur
我正在尝试将一些数据保存在数据库中。对于添加方法,我使用 Completable。在我保存一个实体 - 客户之后,我想保存一个天数列表,但只有在客户被保存之后。这是我现在的代码。 mDatabaseM
我是 RxJava 的新手,遇到了以下问题: 我有两个 Completable 对象来存储一些数据。我想触发第一个,然后仅在第一个成功完成后才启动第二个。对第二个 Completable 的调用应该被
我正在尝试从两个不同的文件中读取数据,一个是 csv 格式,另一个文件是 xml 数据。使用completeFuture 我正在尝试从两个文件异步读取数据。我收到类型转换错误。请让我知道我是否遵循正确
我有以下人员类别: class Person { String name; String city; public void setInfo(PersonInformation
我正在尝试这个: var notifications = $( "#notifications" ); notifications.fadeOut("slow") .complete(func
我发现 Bash shell 支持一种不同于“传统”自动完成的自动完成类型,所有可能性都列在下一行。 使用“传统的”自动完成,如果我键入 ch 然后按 Tab 键,我会得到如下信息: $ ch cha
我是 rxjava/rxkotlin/rxandroid 的初学者。 我需要按顺序处理三个不同的异步调用。问题是第一步返回 Single ,第二个Completable第三个又是Completable
默认情况下,在 TextMate 中按 Esc 会循环执行可能的补全(除了关闭对话框之外),这可能会在文档中放入不需要的字符,特别是如果您习惯于在大多数文本编辑器中使用 Esc 作为安全键的话。 (事
我知道 pull complete 在之后到达 download complete 在生命周期中,但我有兴趣了解它们之间的区别。我尝试在互联网上搜索,但找不到任何清楚解释这些差异的内容。 最佳答案 拉
以下代码似乎永远不会工作,因为组似乎没有终止,并且 takeLast() 不知道最后是什么: observableSequence .groupBy { $0.key } .map { gro
我是 ido-mode 的忠实粉丝,以至于我想用它来做 describe-function 之类的事情或 find-tag等等,而无需编写类似“我可以在 Emacs 中搜索标签的 ido-mode-s
我们什么时候应该使用 Completable.fromAction()我们什么时候应该使用 Completable.fromCallable()是否有特定的用例 从文档看来,两者都做同样的事情,很难注
我有以下gulpfile.js,我通过命令行执行gulp消息: var gulp = require('gulp'); gulp.task('message', function() { cons
我在我的 .vimrc 文件中设置了 omnifuc : setlocal omnifunc = javacomplete#complete 然后当我编辑任何文件时出现异常: E518: Unknow
我如何将 Single 链接到 Completable,以便在 Completable 完成时订阅它? repository.downloadUser() 是 Single。 根据调试,似乎此方法中的
在bash中,默认情况下,按Tab键将显示当前目录中的所有文件和目录。例如:。Cat a将显示类似aFile.txt apples.png aDirectory/的内容。如果您随后完成了a目录,它将显
在bash中,默认情况下,按Tab键将显示当前目录中的所有文件和目录。例如:。Cat a将显示类似aFile.txt apples.png aDirectory/的内容。如果您随后完成了a目录,它将显
我错过了什么?示例使用 min.js。 bundle.min.js 有更多代码,但我找不到该额外代码的描述...... https://getbootstrap.com/docs/4.0/gettin
我是一名优秀的程序员,十分优秀!