No se puede deshabilitar la escala de DPI para Visual Studio 2012

11

Me gustaría tener un DPI alto habilitado para la mayoría de las aplicaciones que uso en mi computadora portátil de 1920x1080 de 14 ", excepto algunas como Visual Studio que se benefician del espacio extra. Sin embargo, configurar" deshabilitar DPI alto "en compatibilidad no hace nada. usando Windows 8.

Aleksandr Dubinsky
fuente
Synetech editó esta pregunta. No puedo encontrar una manera de comentar sobre su revisión o enviarle un mensaje, así que publicaré el razonamiento aquí: la pregunta es específica para VS 2012 (y tal vez otras aplicaciones que usan marcos particulares, por ejemplo, WPF) donde la compatibilidad regular de DPI El ajuste no funciona. Además, es casi seguro que no es específico de Windows 8, aunque no lo he probado en 7 / Vista.
Aleksandr Dubinsky
Eliminé la Windowsetiqueta, ya que solo debería usarse si afecta a TODAS las versiones, Windowsya que el uso de Windows 8esa etiqueta solo se aplica a usted.
Ramhound

Respuestas:

2

le pregunté a Chris Jackson, el chico de Microsoft AppCompat ; No hay forma de hacer esto.

No tenemos esa habilidad, el modo escalado es lo que tenemos para manejar esas situaciones. Sí, claramente hay algunas cosas que son subóptimas acerca de cómo lo hacemos (también odio a los difusos), pero es difícil lograr que se apruebe una segunda solución que técnicamente resuelve lo mismo, ya que eso significa que el ingeniero no está haciendo otra cosa para Haz del mundo un lugar mejor.

También pregunté casi lo mismo aquí .

Ian Boyd
fuente
2
Gracias por su respuesta. Al escuchar esto y escuchar otros comentarios sobre el desarrollo de C #, uno tiene la impresión de que Microsoft no tiene dinero y apenas tiene una docena de personas trabajando para él. No hay atención al detalle. Las pequeñas cosas nunca se arreglan. Todo en nombre de "no tenemos los recursos". ¿Qué tan ineficiente es la EM? De todos modos, esto es un gran problema ya que pagué el mejor precio por la pantalla que solo beneficia a unas pocas aplicaciones con mucha pantalla. Desactivé High DPI por completo, pero ¿por qué todas las demás aplicaciones deberían ser pequeñas? ¿Es tan difícil el DPI por aplicación? Chris implica que la solución es fácil, pero "prohibida".
Aleksandr Dubinsky
@AleksandrDubinsky: si tienes esa impresión, no sé qué escuchas, pero es algo que Microsoft está haciendo. Ha habido cientos de mejoras entre .NET 4.0 y .NET 4.5.
Ramhound
@Rahmound Eric Lippert respondió una pregunta SO de por qué C # no puede inferir tipos genéricos para constructores con algo como "no hay un problema real, sería muy parecido a inferirlos para métodos. Pero tenemos presupuestos limitados [- sí derecha]. Y, por cierto, la coherencia del lenguaje es de baja prioridad ". Otros ejemplos en C # son restricciones de tipo genérico para Enums y delegados, que también son fáciles de implementar. O, por ejemplo, Word / Excel 2010 todavía tiene un comportamiento extraño de Alt + Tab porque nadie se molestó en reescribir los hacks en torno al MDI antiguo. O todo Win8 que no es Metro. La lista continúa, más esta respuesta
Aleksandr Dubinsky, el
La filosofía de @Rahmound MS es simplemente esto: agregar nuevas funciones es excelente. Mejorar las cosas que ya están escritas es "un desperdicio de nuestros preciosos y minúsculos recursos" incluso cuando no hay más funciones para agregar. Eso es incongruente con la cantidad de dinero que tiene MS, y realmente pasa factura cuando la escala de tiempo es de décadas. ¡La mitad de los diálogos de Word / Excel son anteriores a Office 95! Además de la locura de las ventanas múltiples. Visual Studio es difícil de usar al haber descubierto Netbeans. La GUI de VS se volvió a escribir EN WPF para 2010, y NADA ANTES MEJORÓ. Estasis. Maravillosa y reconfortante estasis.
Aleksandr Dubinsky
MS es un gran cuerpo. Lo que significa que, en Estados Unidos, tienen una gran base de empleados pero muy pocas personas que realmente trabajan. Todos quieren trabajar por M $, pero nadie lo hace por amor a la codificación, o muy pocos lo hacen.
Motes
17

ESTO ES POSIBLE

Probé esto en mi Windows 8 y funciona perfectamente:

  1. Vaya a su acceso directo de Visual Studio / iniciador de aplicaciones
  2. Haga clic derecho y solucione problemas de compatibilidad
  3. Continuar programa de solución de problemas
  4. Programa de solución de problemas
  5. Marque: el programa se abre pero no se muestra correctamente
  6. Programa de prueba..
  7. Sí, guardar cambios

¡Estas listo!

yonasstephen
fuente
Funciona en Visual Studio 2012 Update 5 en Windows 8
rtc11
1
Funciona con VS 2015 en Windows 10, excepto que necesita encontrar el iniciador de aplicaciones a través de su menú de inicio y abrir la ubicación del archivo del acceso directo, porque el elemento del menú de compatibilidad de solución de problemas solo está disponible cuando hace clic derecho desde el acceso directo en el explorador de Windows.
Tjaart
Funciona en VS 2015 en Windows 8.1.
Zoomzoom
Esto me ha estado molestando por un tiempo ahora. Esto funcionó perfectamente, gracias!
RyanOC
Funciona en VS 2017 en Windows 10
Nick Tsai
16

Esto es absolutamente posible. Estaba usando la configuración de "compatibilidad" en los ejecutables para hacerlo, pero por alguna razón eso no está disponible para VS. Sin embargo, la clave de registro equivalente funciona bien. La clave es HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersy solo tiene que agregar un valor de cadena "~ HIGHDPIAWARE" (igual que marcar esa casilla en la pestaña de compatibilidad de las propiedades del ejecutable). O simplemente puedes ejecutar esto:

reg agrega "HKCU \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers" / v "ruta completa al ejecutable" / t REG_SZ / d "~ HIGHDPIAWARE"

futuresandwich
fuente
1
¡Bienvenido a SU! Las respuestas de solo enlace se consideran un no-no debido a la posible descomposición futura de enlaces. Edite su respuesta e incluya información pertinente directamente, e incluya el enlace como referencia de origen.
Ƭᴇcʜιᴇ007
Esto funcionará específicamente para VS? No veo qué identifica al exe
Aleksandr Dubinsky
Sí, lo siento, el marcado de Aleksandr SU había eliminado el marcador de posición. Verifica la respuesta nuevamente.
futuresandwich
Esto también funciona en Visual Studio 2013 por cierto.
Brad Bamford
Para Visual Studio 2013, en la ruta de registro especificada, tengo la siguiente clave de cadena: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.execon valor ~ RUNASADMIN HIGHDPIAWAREpara Ejecutar como administrador y sin escala
Ivan Akcheurov