C# VSC代码;转到“定义”;(F12)不工作
我正在使用VSCode 1.19,并尝试在C#文件中像在Visual Studio中那样“转到>转到定义”,但它什么也不做。在.js文件中,它工作得很好,我猜是否有一些解决方法。我今天面临同样的问题,尝试将我自己从可视化学习转变为代码, 由于我的项目是基于微服务的,我有多个解决方案和每个微服务的回购协议,以简化CI/CD, 现在Multipel根工作空间的VS代码特性帮助了我, 因此,如果您正在将VS代码设置为c#开发者,请按照以下步骤进行操作C# VSC代码;转到“定义”;(F12)不工作,c#,visual-studio-code,vscode-settings,C#,Visual Studio Code,Vscode Settings,我正在使用VSCode 1.19,并尝试在C#文件中像在Visual Studio中那样“转到>转到定义”,但它什么也不做。在.js文件中,它工作得很好,我猜是否有一些解决方法。我今天面临同样的问题,尝试将我自己从可视化学习转变为代码, 由于我的项目是基于微服务的,我有多个解决方案和每个微服务的回购协议,以简化CI/CD, 现在Multipel根工作空间的VS代码特性帮助了我, 因此,如果您正在将VS代码设置为c#开发者,请按照以下步骤进行操作 安装Node.js 安装NPM 安装.net内核
- 安装Node.js
- 安装NPM
- 安装.net内核
- 安装git。(也可以是其他scm)
- 现在安装VS代码
- 安装OMNI Sharp C#扩展,这将有助于您进行调试,并提供智能性和类似Go To Definition功能的功能(每次只能在一个解决方案上运行它有一个限制,即使您有多个根工作区,我认为他们也会保持这种方式,以保持事情的轻量级,在多个解决方案之间切换。在这种情况下,您必须使用切换项目选项。 )
- 我喜欢的另外两个好的扩展是
- C#IDE(帮助您创建类文件的一些新的好模板,推断选项,我喜欢的一个,当您创建costructor和pull参数时,仅通过Ctrl+为它们创建字段或proeperty显示建议。)
- Git History以检查Git历史记录
- 多终端也是一个不错的特性,因为我在开发时必须运行许多服务
- 您可以为调试所需的每个单独项目设置launch.setting(如果不想手动执行,请先逐个单独打开每个解决方案文件夹,vsc帮助将为您创建)
- 要创建工作区,无需进行任何工作,只需开始将您的sln文件夹添加到“工作区”选项卡
- Crtl+shif+p:工作区:打开配置文件您也可以设置复合启动设置,然后在调试模式下同时打开多个sln, 如下所示: “发布”:{ “配置”:[ }
如果输出窗口打开时显示“OmniSharp日志”选中后,您将看到它正在阅读您的csproj。一旦完成goto定义,它将开始工作。我也遇到了同样的问题,但使用了TypeScript项目文件夹。解决方案是只需重新打开文件夹。正如@AndyBook的答案注释中所述,另一个可能的解决方案是重新启动OmniSharp
CTRL+SHIFT+p->
OmniSharp:Restart OmniSharp
我知道我在这个线程上迟到了,但重新启动OmniSharp并没有为我解决这个问题。解决这个问题的方法是运行“dotnet restore”并再次打开项目文件夹。我在VSCode(多个项目Web API和Angular MVC)中也有同样的问题并通过创建新的sln
文件解决。请执行以下步骤:
步骤1:创建项目sln
文件。(例如:MyApp.sln
)
步骤2:打开sln
文件并粘贴此代码:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26124.0
MinimumVisualStudioVersion = 15.0.26124.0
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyApp", "MyApp\MyApp.csproj", "{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x64.ActiveCfg = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x64.Build.0 = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x86.ActiveCfg = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x86.Build.0 = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|Any CPU.Build.0 = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x64.ActiveCfg = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x64.Build.0 = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x86.ActiveCfg = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
第3步:Crtl+Shift+p打开项目。修复:当多个解决方案位于同一文件夹中时 这个答案是@AndyPook答案的视觉版本 1.Crtl+Shift+p 2.搜索
>OmniSharp
3.选择选项选择项目
4.它将显示文件夹中的所有解决方案列表。选择正确的解决方案,例如:
5.通过查看OmniSharp日志进行验证
已安装?我想它没有安装,因为我收到了以下信息:。我在调试时也遇到了问题,从这个错误的外观来看,这是有意义的。请检查您是否拥有C;驱动器的正确权限。此外,如果您在代理之后,您需要绕过它。我对此无能为力,因为我无法管理工作站上的权限或连接,是吗有办法手动执行吗?除了权限之外,您还可以通过添加
“http.proxy”手动绕过代理:http://username:password@IP地址:端口“
在您的VSCode用户设置中。根据为您的帐户提供的身份验证替换用户名、密码、IP地址和端口。如果您的密码包含@
添加username@password在QOUTEST内这对我有效!我选择的项目是同一工作区文件夹中的另一个.sln。您可以重新启动OmniSharp server强制其重新加载解决方案和所有项目。Ctrl+Shift+P并选择“OmniSharp:重新启动OmniSharp”。在这种情况下,“项目”表示sln。如果根目录中有多个项目,则可以选择“错误”一个用于加载csproj的。在这种情况下,仅重新启动omni没有帮助,因为它只会再次选择错误的sln。您必须告诉它从哪个sln开始。非常感谢。我使用子模块(包含sln文件)时遇到此问题我已经重新启动,重新安装,甚至从来都不知道这个功能。这让我发疯了!谢谢!
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26124.0
MinimumVisualStudioVersion = 15.0.26124.0
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyApp", "MyApp\MyApp.csproj", "{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x64.ActiveCfg = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x64.Build.0 = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x86.ActiveCfg = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x86.Build.0 = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|Any CPU.Build.0 = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x64.ActiveCfg = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x64.Build.0 = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x86.ActiveCfg = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal