El menú desplegable Razor Autocomplete/Intellisense VS 2015 se oculta inmediatamente después del menú desplegable
visual-studio-2015 (8)
Cada vez que me pasa algo molesto, pongo un punto extra y luego funciona. Tengo que poner el punto extra cada vez. Por ejemplo, si escribo esto y la intellisence parpadea y desaparece:
@Html.TextBoxFor(m => m.
entonces solo hago esto:
@Html.TextBoxFor(m => m..
Y intellisense ahora se mostrará después del primer punto. Lo he convertido en un hábito hasta que MS tenga una solución.
En VS 2015, solo cuando está en archivos Razor (.cshtml), aproximadamente la mitad de las veces la lista de autocompletar / sugerencias / intellisense no funciona correctamente (lo siento, no estoy seguro del término real ... cuando escribe un objeto y pulsa .
y la lista de propiedades y métodos muestra para seleccionar desde)
El comportamiento es eso cuando golpeo .
, la lista aparece por una fracción de segundo y luego se cierra. Sucede tan rápido que trato de hacer un Backspace
rápido Backspace
, Backspace
ciclo algunas veces para al menos ver el nombre que necesito, pero generalmente no puedo obtenerlo y terminar teniendo que encontrar el nombre exacto en otra parte del código. Extremadamente irritante ...
Sucede esporádicamente sin un patrón real que pueda encontrar. Aquí hay patrones que he descartado:
- El archivo que está abierto no parece importar.
- Si no cierro / vuelvo a abrir el archivo no parece importar
- Ya sea que navegue a otro archivo y vuelva no parece importar
- Funcionará / no funcionará varias veces dentro y fuera del mismo archivo
- No parece ser relevante para ningún objeto / propiedad / método en particular
He comprobado todas mis opciones (no parece haber opciones de edición de texto para Razor?), He intentado borrar cachés, la solución / proyectos de recarga, reiniciar VS, y todos parecen no proporcionar ningún patrón.
¿Alguien se ha encontrado con esto y tiene alguna idea de dónde más puedo buscar para solucionarlo?
Ejemplo Aquí hay un ejemplo extremadamente simple ... nuevo proyecto, muy pocos códigos / archivos, vista muy simple. Donde el Model.
se detiene, debería tener los métodos básicos habituales y una colección de ''Artículos''. Aparece por una fracción de segundo y luego desaparece ... no incluye el análisis lambdas / complejo de vistas (esto también es reproducible):
Actualización: Patrones
Cosas que he notado:
- Si estoy ingresando a
@model ns.ns.ns.type
, raramente ocurre hacia el final "base" de los espacios de nombres. Es a medida que avanzo hacia el tipo que sucede. Este es intermitente. - En algunos casos, funciona perfectamente bien, cada vez. Por ejemplo, a menudo uso herramientas DevExpress, y nunca he visto el comportamiento en ninguna de sus extensiones (por lo tanto,
@Html.DevExpress().
(Y otros modelos similares, no necesariamente DevEx) nunca causarán un problema) - Sucede casi todo el tiempo cuando estoy accediendo a mi
@Model
(que es donde más lo quiero). He encontrado algunos casos donde esto es reproducible todo el tiempo (ver el ejemplo anterior), pero es alrededor del 90% + - Ocasionalmente, mientras trabajo en el árbol de objetos, uno fallará mientras los próximos trabajos (por ejemplo:
@models ProjName.Web.App.Subscriptions.Models.AccountCreateVM
... podría fallar en lasSubscriptions
pero funcionar bien en losModels
) - Ocasionalmente, al comenzar a escribir el nombre dentro de autocompletar, se vuelve a poner en marcha y comienza a funcionar nuevamente. En el ejemplo anterior, comenzar a escribir
Acc
paraAccountCreateVM
hace que comience a funcionar nuevamente.
En lugar de...
@Html.Partial("ManageGrid", Model.)
Utilizar...
@Html.Partial("ManageGrid", Model.
En mi caso específico, pude resolver el problema instalando la última versión de Microsoft ASP.NET y herramientas web.
https://marketplace.visualstudio.com/items?itemName=JacquesEloff.MicrosoftASPNETandWebTools-9689
Una vez que lo instalé, el problema desapareció. Es probable que esta actualización haya arreglado algo que podría solucionarse con una versión anterior, pero de cualquier manera estoy contento.
(Encontré esto en Visual Studio en Herramientas-> Extensiones y Actualizaciones ...-> Actualizaciones-> Galería de Visual Studio)
Esto sucede para mí a lo largo de VS2015 durante las declaraciones de lambda.
Sucede cuando edito el código "mid-document", como en, si hay algo además de a) o} siguiendo donde estoy escribiendo. VS parece estar luchando para decir dónde termina la declaración actual y comienza la siguiente declaración.
El siguiente código no activará Intellisense sistemáticamente en el período, incluso cuando se invoca explícitamente.
var subset = initialSet.Where(x => x.
var result = new Whatever();
En Razor, es muy común editar código entre texto existente y usar declaraciones lambda:
<strong>@Html.DisplayFor(m => m.</strong>
Esta es probablemente la razón por la que solo experimentas esto en Razor.
La forma en que trabajo alrededor de este error es escribir el) para cerrar el método.
var subset = initialSet.Where(x => x.)
var result = new Whatever();
<strong>@Html.DisplayFor(m => m.)</strong>
Intellisense puede activarse en el período.
Si está utilizando un método que requiere un mínimo de más que solo el lambda (como RadioButtonFor), también deberá ingresar una coma para cada uno de los parámetros adicionales.
<strong>@Html.RadioButtonFor(m => m.,)</strong>
Si Intellisense está apareciendo, pero inmediatamente vuelve a desaparecer, la mejor solución que he encontrado hasta ahora es simplemente escribir algunas letras de cualquier miembro conocido, luego usar Ctrl-Izquierda para saltar al período, y activar de nuevo Intellisense (Ctrl- Espacio o retroceso-re-escritura). Esto generalmente hace que aparezca y se quede. Tendrás que eliminar los caracteres que escribiste después, lo que puede ser frustrante.
No he encontrado la causa raíz, pero en todos los casos, CTRL+SPACE
funciona. Esto no es lo mejor, pero años luz mejor que nada en absoluto.
(Este atajo no es uno que he usado en el pasado, por lo que es probable que sea un comportamiento estándar, pero ...) Si estás en el Model.
puntos Model.
y la lista de autocompletar desaparece, CTRL + SPACE la vuelve a generar constantemente y, cuando vuelve, ¡permanece! Si solo hay un posible miembro de autocompletar, se autocompletará el miembro en CTRL + SPACE.
Solo asegúrese de que no toque el texto que está editando, y la ventana emergente permanecerá activa.
En lugar de...
@Html.Partial("ManageGrid", Model.)
Utilizar...
@Html.Partial("ManageGrid", Model. )
El intellisense parece confundirse tocando paréntesis cercanos. No es ideal, pero esta fue la única forma en que pude lograr que funcionara de manera consistente.
Tuve el mismo error y lo solucioné al eliminar todos los archivos del caché del modelo de componente.
Este es el camino:
Users / YourName / AppData / Local / Microsoft / VisualStudio / 14.0 / ComponentModelCache
Espero que ayude
Uso ctrl + j como solución temporal cuando conozco el contenido.
O sigue escribiendo sin paréntesis derecho puede usar la finalización:
@ Html.LabelFor (m => m.Name