C# 按F12转到Visual Studio 2015/C中的定义时出错#
当我在Visual Studio 2015中按F12(转到定义)时,我收到以下错误消息: 发生了一个或多个错误 我已经试过了:C# 按F12转到Visual Studio 2015/C中的定义时出错#,c#,visual-studio-2015,C#,Visual Studio 2015,当我在Visual Studio 2015中按F12(转到定义)时,我收到以下错误消息: 发生了一个或多个错误 我已经试过了: 关闭解决方案 删除.suo文件 重新构建解决方案 。。但这并没有解决问题 请提供帮助。这是在尝试访问外部程序集的元数据时,C#和制表符而不是空格的问题。它可能与插入点的推断位置有关 其他人对此进行了记录 这有两张联程票和一张。还有一个讨论 Visual Studio 2015更新1 此问题已在中解决,请安装 RTM的解决方法很差 “选项”对话框会记住最后一页,并在后续
“选项”对话框会记住最后一页,并在后续打开时保留在那里。我有一个快捷键可以快速打开选项窗格(Alt+o)。在进行任何代码更改之前,我将临时更改为空格、定义,然后恢复为制表符。这个工作流程并不漂亮,但VS2015中的3.0 Nuget问题也不漂亮(Nuget 3到目前为止已经有所改进)。既然Visual Studio的bug已经修复,这个黑客就不再有用了。我把它放在这里,以防它是一个有用的样本,可以用来破解出现的类似问题
救援自动热键不懈地与坏键盘UX的邪恶作斗争 下面是如何设置一个脚本,将Ctrl+F12绑定到设置空格缩进的键序列,转到定义,然后恢复制表符缩进。使用它而不是F12转到代码库之外的定义:
FixF12.ahk
的新文件。将下面的脚本粘贴到其中shell:startup
来到达该位置FixF12.ahk
拖动到Startup
中,然后创建快捷方式FixF12.ahk的脚本
:
#NoEnv
发送模式输入
^F12::
标题
i安装标题,Microsoft Visual Studio
{
发送,^QC{#}制表符{输入}
睡吧,300
发送,!p
睡吧,300
发送,{Enter}
发送,{F12}
发送,!到
睡吧,300
发送,!k
睡吧,300
发送,{Enter}
}
其他的
{
发送,{^F12}
}
该脚本是一个黑客程序,包含闪烁的对话框和竞争条件,但它完成了任务。别忘了投票表决。希望Microsoft能在更新1之前发布一个修复程序。应该可以解决这个问题
我做了一个扩展,在每次调用“GoToDefinition”命令时只启用/禁用“keeptabs”,并且似乎可以工作:我发现;如果在选项下设置保留选项卡,->文本编辑器->所有语言->选项卡,并且在C#下设置相同,F12和Alt+F12工作正常。修复了问题。解决了这个问题 它是否说明了这些错误?如何做:你是否尝试过关闭和再次打开它?如果你想关闭VS并重新开始-是的。关于:它是否说明了这些错误?不仅是带有此标签的窗口以防万一,请尝试工具|导入和导出设置=>重置所有设置(先保存当前设置后)。谢谢,Matthew WatsonI也遇到了此问题。我也尝试过禁用扩展并在安全模式下运行VisualStudio,到目前为止还没有解决方案。非常令人沮丧+我不知道选项卡与“转到定义”有什么关系。谢谢您的链接。@vc74“转到定义”在外部DLL上使用时会生成C代码。C代码生成器在某种程度上与选项卡设置相冲突。这是一个多么令人尴尬的错误。我完全无法理解这样一个基本的功能,再加上一个极其普通的配置设置,怎么会错过QA。更新1并没有解决这个问题。另外,仅仅为C#设置该选项是不够的,但是您需要为所有涉及的语言设置它(在我的例子中,XAML(->WPF)。然后你需要实际应用它。要么使用记事本++之类的工具,并相应地替换所有文件中的所有内容,要么使用Visual Studio Power Tools。如果您已经安装了它,并向格式不同的文件中添加了新行(现在是空格,而不是所有其他行的制表符),Power Tools将弹出一个栏,询问您是否要对文件进行制表或取消制表(使用空格)。不幸的是,此方法不适用于“Peek Definition”,因为此命令是异步工作的。当您单击Alt+F12时,它只会打开一个新窗口,设置“保留选项卡”会在一定延迟后使用。当然,我可以简单地添加
Thread.Sleep()
,但在某些情况下,即使5秒钟也不够。所以,我还没有找到一个简单的解决方案。微软注意:尽管这个扩展非常好,但有时候标签页不会再次打开。虽然有助于及早发现选项卡不匹配,但没有什么可以替代实际推出的修复程序。Microsoft坚持认为他们使用@JurijsKovzels>>修复了它。事实似乎并非如此,我刚刚安装了VS 2015 CTP 1,问题仍然存在:我无法使用Ctrl+F12。实际上,这不是关于键盘快捷键,而是关于“转到声明”-分配给它的任何键组合都不起作用…@JurijsKovzels Update 1 CTP确实为我解决了问题不幸的是,这里没有解决问题:-(