Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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# 在Visual studio中编辑的Unity脚本don';不提供自动完成_C#_Visual Studio_Unity3d_Intellisense - Fatal编程技术网

C# 在Visual studio中编辑的Unity脚本don';不提供自动完成

C# 在Visual studio中编辑的Unity脚本don';不提供自动完成,c#,visual-studio,unity3d,intellisense,C#,Visual Studio,Unity3d,Intellisense,当我想要编辑C#Unity脚本时,它们会在Visual Studio中打开。它应该为所有与Unity相关的代码提供自动完成功能,但它不起作用 在这里,您可以看到缺少的功能: 如图所示,该对象不会打开“自动完成”菜单 统一版本:5.5.2f1 Visual studio 2015 已安装Visual Studio Tools for Unity 没有自动完成,因为脚本显示“杂项文件”,而不是项目名称。请看下面的图片,它来自您问题中的视频: 出现“杂项文件”消息的原因有很多: 当您从另一个文件夹

当我想要编辑C#Unity脚本时,它们会在Visual Studio中打开。它应该为所有与Unity相关的代码提供自动完成功能,但它不起作用

在这里,您可以看到缺少的功能:

如图所示,该对象不会打开“自动完成”菜单

统一版本:5.5.2f1
Visual studio 2015
已安装Visual Studio Tools for Unity


没有自动完成,因为脚本显示“杂项文件”,而不是项目名称。请看下面的图片,它来自您问题中的视频:

出现“杂项文件”消息的原因有很多:

  • 当您从另一个文件夹打开Unity C#文件而不是从Unity Editor打开它时,可能会发生这种情况

  • 这也可能发生,因为Unity在Visual Studio仍然打开时崩溃,因此会损坏一些文件

  • 这可能是因为Unity关闭后重新打开,但不再连接到Visual Studio。当VisualStudio打开时,您会得到“杂项文件”,并且不会自动完成

  • 当未安装Visual Studio Tools for unity时,可能会发生这种情况

  • 从Unity创建脚本时,请在Unity完成处理之前或圆形图标动画完成动画制作之前快速打开脚本


  • 大多数情况下,重新启动Unity和Visual Studio应该可以解决这个问题

    我不知道是哪一个导致了问题,但我将介绍最有可能解决此问题的解决方案

    修复第1部分:

  • 从链接下载并安装Visual Studio Tools for unity。在Unity和Visual Studio都关闭时执行此操作

  • 从Unity Editor,转到Edit→ 偏好。。。→ 外部工具。在外部脚本编辑器下拉菜单上,将其更改为Visual Studio 2015


  • 修复第2部分:

    如果新创建的C#文件显示为杂项文件,请按照以下说明操作:

  • 从VisualStudio转到工具→ 选项。。。→ 团结的工具→ 混杂的在“显示连接”图标下,将其设置为
    true
    ,然后重新启动Visual Studio

  • 重新启动时,连接图标现在应该在VisualStudio中可用。单击它,然后选择要连接到的Unity实例。红色的“x”图标现在应该变成棕色的复选标记图标。现在,当您在Unity中创建一个新的C#文件时,它应该会打开,而不会说Miscellaneous


  • 修复第3部分:

    还没修好吗

    重新导入项目,然后打开C#项目

  • 关闭VisualStudio

  • 从Unity,通过转到资产重新导入项目→ 全部重新导入

  • 现在,在VisualStudio中打开项目,转到“资源”→ 打开C#项目。这将重新加载项目并修复可能的解决方案文件问题


  • 修复第4部分:

    还没修好吗

    分别修复每个C#文件

  • 单击“显示所有文件”图标

  • 选择不自动完成的脚本,然后右键单击并选择“包含在项目中”


  • 修复第5部分:

    还没修好

    这一特殊的解决方案似乎适用于多人,值得称赞

  • 关闭Visual Studio

  • 转到项目目录并删除所有生成的Visual Studio文件

    以下是要删除的文件扩展名:

    • .csproj
    • .user
    • .sln
    例如:

    假设您的项目名为
    Target\u shot
    ,要删除的文件如下所示:

    • Target\u shot.csproj
    • Target\u Shoot.Editor.csproj
    • Target\u Shoot.Editor.csproj.user
    • Target\u Shoot.Player.csproj
    • Target\u shot.Player.csproj.user
    • Target\u shot.sln
    不要删除任何其他内容

  • 再次双击Unity中的脚本,该脚本将生成新的Visual Studio文件,然后打开Visual Studio。这可能会解决你的问题


  • 修复第6部分:

    如果不工作,请检查是否有错误:

    找不到“GetReferenceNearestTargetFrameworkTask”任务

  • 从安装Nuget PackageManager

  • 重新启动Visual Visual


  • 有关更多信息,请参阅答案。

    我找到了另一种更方便地解决此问题的方法:

  • 在解决方案资源管理器中选择断开的文件
  • 打开它的属性
  • 将字段“构建操作”从“编译”切换到“无”
  • 然后将其切换回“编译”
  • 这将以某种方式破坏Unity和Visual Studio之间的同步

    Visual Studio下次重新加载项目时,将提示警告。
    只需单击“放弃”。

    在Visual Studio中卸载并重新加载项目:

    • 右键单击解决方案资源管理器中的项目
    • 选择卸载项目
    • 选择重新加载项目
    修正

    我发现这个解决方案工作得最好(最简单),已经多次遇到这个问题


    来源:

    我通过从visual studio本身而不是unity editor创建.cs文件找到了解决方案

    • 右键单击解决方案资源管理器中的项目文件夹
    • 添加>新项目
    • 在右上角的搜索字段中键入“unity”
    • 选择“CSharp monobhavior”
    • 在底部命名脚本,然后单击“添加”

    我今天在Unity 2017上使用Visual Studio 2017 15.4.5解决了同样的问题

    我能