Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VSC代码;转到“定义”;(F12)不工作_C#_Visual Studio Code_Vscode Settings - Fatal编程技术网

C# VSC代码;转到“定义”;(F12)不工作

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内核

我正在使用VSCode 1.19,并尝试在C#文件中像在Visual Studio中那样“转到>转到定义”,但它什么也不做。在.js文件中,它工作得很好,我猜是否有一些解决方法。

我今天面临同样的问题,尝试将我自己从可视化学习转变为代码, 由于我的项目是基于微服务的,我有多个解决方案和每个微服务的回购协议,以简化CI/CD, 现在Multipel根工作空间的VS代码特性帮助了我, 因此,如果您正在将VS代码设置为c#开发者,请按照以下步骤进行操作

  • 安装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, 如下所示: “发布”:{ “配置”:[

    }

文件夹中可能有多个“项目”,VSCode选择了“错误”的项目。 (在VSCode术语中,“项目”指sln文件)

使用ctrl-shift-p并选择“OmniSharp:选择项目”以选择正确的项目(一个.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