【发布时间】:2012-03-22 22:17:33
【问题描述】:
在 VS 2008 上运行的 ReSharper 5.1 中,我正在尝试使用 CamelHumps 使用以下代码完成方法名称:
public bool debugMode { get; private set; }
public DebugWindow()
{
InitializeComponent();
}
public void logOutput(List<String> logLines)
{
foreach(string line in logLines)
{
<- cursor is here
}
}
public void logOutput(String logLine)
{
debugTextBox.Text += "\n" + logLine;
}
在上面提到的光标点,我输入lO,然后按Ctrl+Space。我希望它向我显示logOutput(String) 方法的提示,但它向我显示logLines 的提示,我希望在下拉框中显示下面的提示。如果我改为输入lOu,它会给我突出显示的正确提示(与lou 相同),但我认为我应该能够只输入lO,它应该可以工作。我在 Resharper->Options->Editor 下检查了 CamelHumps。我还将热键设置为 Resharper 默认值,而不是 VS。
我知道过去 IntelliJ 中存在这种行为,但自从使用 ReSharper 以来,这个问题就一直困扰着我。
还有什么我需要在选项中选择/设置的吗?这在 ReSharper 中是否可行?
我尝试搜索其他类似的问题,但我只看到关于全小写完成或驼峰式选择的 cmets/questions。
编辑:请注意,两个 logOutput 方法都出现在完成选项列表中,但当我按 Enter 时,它没有选择它们作为要插入的完成。我将不得不输入额外的字符来强制它选择其中一个。所以问题是,以前在 IntelliJ 中 lO 足以使它选择 logOutput 作为要插入的那个,因为大写 O;这在 ReSharper 中是否可行,如果可以,如何实现?
【问题讨论】:
-
我在一个测试类中复制了两个 logOutput 方法,并在第二个方法中插入了行
TextBox debugTextBox = new TextBox();以避免编译错误。它有效:输入lO后,两个logOutput 方法都显示在完成列表中。我有 ReSharper 5.1.3000.12 和 VS 2010。 -
是的,它们也确实出现在我的完成列表中,但是您必须输入其他字符以提示它选择
logOutput()作为选定选项,或者使用箭头键向下移动到方法。对于 IntelliJlO,大写的 O 足以告诉它应该将选项减少到小写l和大写O的可能性。但是,由于它认为logLines是这种情况下的主要选择,所以它没有注意我输入的 O 的大小写。我将编辑问题以反映它们在选项中。
标签: resharper code-completion camelcasing