Tengo un pequeño problema con los scripts. Cuando escribo scripts de C # para Unity con Visual Studio, parece que estoy trabajando en el bloc de notas, no hay autocompletado (¿correcto?) Y debo escribirlo muy lentamente.
Por favor, mira el video. Al principio es la situación normal (del tutorial), la segunda parte muestra mi problema.
Por ejemplo, la transform
clase no muestra sugerencia ni autocompletar.
Imagen con problema:
Versión de Unity: 5.5.2f1
Visual Studio 2015
Visual Studio Tools para Unity está instalado
c#
visual-studio
unity3d
intellisense
CorbenDalas
fuente
fuente
ll try... I have a Little problem with scripts. When I
estoy escribiendo scripts de C # para Unity con Visual Studio, parece que estoy trabajando en el bloc de notas, no hay "consejos" (¿correcto?) Y debo escribirlo muy lentamente. Por favor, mira el video. Al principio es una situación normal (del tutorial), la segunda parte es mi problema.Respuestas:
No hay autocompletado porque el script dice " Varios archivos " en lugar del nombre del Proyecto. Eche un vistazo a la imagen a continuación que vino del video en su pregunta:
El mensaje " Varios archivos " puede aparecer por muchas razones:
1. Puede suceder cuando abre su archivo Unity C # desde otra carpeta en lugar de abrirlo desde Unity Editor.
2. Esto también puede suceder porque Unity se bloqueó mientras Visual Studio todavía está abierto, por lo tanto, corrompe algunos archivos.
3. Puede suceder porque Unity se cerró y luego se volvió a abrir, pero ya no está conectado a Visual Studio. Cuando se abre Visual Studio, se obtienen " Varios archivos " y no se completa automáticamente.
4. Esto puede suceder cuando Visual Studio Tools for unity no está instalado.
5. Cuando crea un script desde Unity, ábralo rápidamente antes de que Unity termine de procesarlo o antes de que el ícono de la ronda de animación termine de animarse.
La mayoría de las veces, reiniciar Unity y Visual Studio debería solucionar esto.
No puedo decir cuál está causando el problema, pero cubriré la solución más probable para solucionarlo.
Arreglar la Parte 1 :
1 .download e instalar Visual Studio Tools para la unidad de este enlace. Haga esto mientras Unity y Visual Studio están cerrados.
2. Desde Unity Editor, vaya a Editar -> Preferencias ... -> Herramientas externas . En el menú desplegable Editor de secuencias de comandos externas , cámbielo a Visual Studio 2015 .
Arreglar la Parte 2 :
Si los archivos C # recién creados aparecen como Varios , siga las instrucciones a continuación:
1. Desde Visual Studio, vaya a Herramientas -> Opciones ... -> Herramientas para Unity -> Varios . En Mostrar icono de conectividad , configúrelo para
true
luego reiniciar Visual Studio.2. Cuando reinicie, el icono de conexión ahora debería estar disponible en Visual Studio. Haga clic en él y luego elija la instancia de Unity para conectarse. El ícono rojo 'x' ahora debería convertirse en un ícono de marca de verificación marrón. Ahora, cuando crea un nuevo archivo C # en Unity, debería abrirse sin decir Varios .
Arreglar la Parte 3 :
¿Todavía no está arreglado?
Vuelva a importar el proyecto y luego abra C # Project.
1 .Cierre Visual Studio.
2. Desde Unity, vuelva a importar el proyecto yendo a Activos -> Reimportar todo .
3 .Ahora, abra el proyecto en Visual Studio yendo a Activos -> Open C # Proyecto . Esto volverá a cargar el proyecto y solucionará los posibles problemas del archivo de solución.
Arreglar la Parte 4 :
¿Todavía no está arreglado?
Arregle cada archivo C # individualmente.
1. Haga clic en el icono Mostrar todos los archivos .
2. Seleccione el script que no se completa automáticamente, luego haga clic derecho y seleccione Incluir en el proyecto .
Arreglar la Parte 5 :
¿Aún no está arreglado?
El crédito va a chrisvarnz por esta solución particular que parece haber funcionado para varias personas.
1 .Cierre Visual Studio
2. Vaya al directorio de su proyecto y elimine todos los archivos de Visual Studio generados.
Estas son las extensiones de archivos para eliminar:
Ejemplo:
Digamos que el nombre de su proyecto se llama "Target Shoot" , estos son los archivos que debe eliminar:
No elimines nada más.
3. Haga doble clic en el script nuevamente desde Unity, que debería generar un nuevo archivo de Visual Studio y luego abra Visual Studio. Esto puede resolver su problema.
Arreglar la Parte 6 :
Si no funciona, verifique si tiene este error:
1 .install Nuget PackageManager desde aquí .
2. Reiniciar Visual Visual.
Vea esta respuesta para más información.
fuente
*.csproj
y*.sln
archivos y comienzo de la Unidad. Esto generalmente funcionaPrueba esto,
Ahora, si Visual Studio se está ejecutando, vaya a Visual Studio, le pedirá que vuelva a cargar el proyecto. Recargar el proyecto. Compruebe si funciona, si no, cierre Visual Studio. Ahora abra el archivo cs desde Unity Editor, y ahora debería funcionar.
fuente
Encontré otra forma de solucionar este problema de una manera más conveniente:
Esto matará la sincronización entre Unity y Visual Studio de alguna manera.
La próxima vez que Visual Studio vuelva a cargar el proyecto, aparecerá una advertencia. Simplemente haga clic en "Descartar".
fuente
Descargue y vuelva a cargar el proyecto, en Visual Studio:
¡Fijo!
Encontré que esta solución funciona mejor (más fácil), ya que me he encontrado con el problema varias veces.
Fuente: https://alexdunn.org/2017/04/26/xamarin-tips-fixing-the-highlighting-drop-in-your-xamarin-android-projects/
fuente
fuente
Si ha hecho todo lo anterior y aún no funciona, intente esto: Nota: debería haber actualizado VS.
Ir a Unidad> editar> preferencia> Herramientas externas> editor de script externo. De alguna manera para mí no había seleccionado "estudio visual" para el editor de script externo y no estaba funcionando. Tan pronto como seleccioné esto e hice doble clic en el archivo C # desde la unidad, comenzó a funcionar.
Espero que te ayude a ti también.
fuente
Llegué a los mismos problemas hoy usando Visual Studio 2017 15.4.5 con Unity 2017.
Pude solucionar el problema haciendo clic derecho en el proyecto en Visual Studio y cambiando el marco de destino de 3.5 a 4.5.
Espero que esto ayude a alguien más en un escenario similar.
fuente
Dos opciones alternativas:
Fix 1
@singleton me señaló en esta dirección. En lugar de cambiar el objetivo en Visual Studio, debe cambiarlo en Unity ya que el proyecto se genera automáticamente.
Primero elimine los archivos de Visual Studio generados automáticamente: .csproj .user .sln
Luego, desde Unity, vaya a PlayerSettings y en 'Otras configuraciones' cambie la 'Versión de tiempo de ejecución de secuencias de comandos' de Estable 3.5 a Experimental 4.6.
Sin embargo, eso no me lo solucionó.
Fix 2
Noté que todas las referencias al código relacionado con Unity estaban marcadas con una advertencia amarilla. Verifique sus registros de errores y vea si este es el caso. En particular, vea si obtiene el siguiente error: getreferenceNearestTargetframeworkTask
Si es así, intente: Inicie Visual Studio Installer nuevamente.
En Build Tools 2017, haga clic en Modificar,
Asegúrese de que "Nuget objetivos y tareas de compilación" están marcados. Esto debería marcarse si hace clic en el desarrollo de la Plataforma universal de Windows.
fuente
Encontré mi solución creando el archivo .cs desde Visual Studio en lugar del editor de la unidad
fuente
En mi caso, la versión correcta de .net no estaba instalada en mi PC. Instalo .net 3.5 en mi PC y eso funcionó para mí.
fuente
El problema que enfrenté fue que el Proyecto C # apuntaba a un .NET Framework diferente (4.7.2), mientras que el proyecto Unity tenía un objetivo diferente (.NET 3.5).
Lo arreglé cambiando el objetivo en Unity como-
Después de esto, Visual Studio funcionó perfectamente y también se corrigió la autocorrección.
fuente
Intente presionar
Ctrl + Alt + Space
(que alterna entre los modos de sugerencia y finalización estándar)fuente
Para Windows o macOS:
Descargue / instale el IDE de Visual Studio (con las herramientas de Unity)
Al instalar, asegúrese de incluir la instalación de
Luego, utilizando Unity (puede hacer doble clic en uno de sus archivos C #), abra un nuevo proyecto C # y el IDE de Visual Studio debería abrirse con su nueva estructura de proyecto.
A partir de ahí, deberías poder ver lo que estás buscando.
Por ejemplo:
Para Linux (sugerencia):
Pruebe Monodevelop : información adicional , proporciona sugerencias / finalización de código.
fuente
Resolví instalar la misma versión de .NET en WIN que estaba configurada en mi proyecto de Unity. (Configuración del jugador)
fuente
Mi autocompletado tampoco funcionó porque Visual Studio Tools para Unity no estaba instalado. Entonces, después de instalar eso, elimine los archivos de Visual Studio generados automáticamente. Otros dijeron que vuelve a abrir el archivo y que el problema está resuelto pero no lo está.
El truco es: en lugar de hacer doble clic normalmente en el archivo, debe abrir el archivo C # desde Unity haciendo clic derecho y luego "Abrir proyecto C #".
fuente
Ninguna de las soluciones anteriores funcionó para mí. Sin embargo, abrí el archivo ProjectName.CSPROJ y agregué manualmente el nuevo archivo y funcionó de maravilla
fuente
Créditos: https://stackoverflow.com/a/47662523/10471480
En caso de que la carpeta Scripts no esté visible:
fuente
Lo que me funcionó es que copié todo el código dentro de la clase rota y eliminé ese archivo. Luego, abrí un archivo vacío y lo pegué.
Resultado : ¡volvieron los hermosos aspectos de sintaxis!
fuente
Tenga en cuenta que si está utilizando la herramienta ReSharper, anulará el IntelliSense y mostrará su propio. Para cambiar eso, en VS, vaya a Extensiones -> ReSharper -> Opciones -> IntelliSense -> General, luego elija Visual Studio y no ReSharper.
fuente
Antes de reiniciar y / o reinstalar VS, primero intente abrir cualquier otro de sus proyectos para ver si Intellisence funciona, si es así, el problema probablemente recaiga en su proyecto actual. Primero, la víctima más probable sería los paquetes NUGET con actualizaciones pendientes. Para arreglar esto,
fuente
Intenté todo esto, pero terminé descubriendo que necesitaba hacer clic derecho en la solución en el Explorador de soluciones y agregar elementos existentes y encontrar el archivo de ensamblaje C # en el Explorador de Windows. Parece que hay un billón de problemas diferentes que le dan este error, esta es probablemente la solución más simple. Si hace doble clic en su script desde la unidad, no parece arrastrar el ensamblaje.
fuente
uno de los métodos anteriores me funcionó y acabo de encontrar una solución a este problema:
1. Primero, vaya al directorio del proyecto y elimine el
.sln
archivo2. Segundo, vaya a la unidad y haga doble clic en su script. Entonces Visual Studio se abrirá con un error,
.csproj
archivo. Simplemente haga doble clic y abra esto desde su editor de Visual Studio y abra la carpeta de scripts dentro de la carpeta de activos y abra los scripts y el autocompletado funcionará perfectamente bien.fuente
Actualización 2020 con Visual Studio Community 2019 y Unity 2019.3:
1) Abra el instalador de Visual Studio como administrador, seleccione modificar su instalación actual y agregue "Desarrollo de juegos para Unity"
2) Si agrega un nuevo script de C # en Unity ahora y lo abre (automáticamente) con Visual Studio, no se describe como "Varios" en la parte superior de la ventana, sino con "Assembly-CSharp", y el autocompletado funciona.
fuente
Otra posible solución:
Por alguna razón, este trabajo.
fuente
Probar con combinación: Ctrl + Alt + Space
fuente