Die DPI-Skalierung für Visual Studio 2012 kann nicht deaktiviert werden

11

Ich möchte, dass hohe DPI für die meisten Anwendungen aktiviert werden, die ich auf meinem 14 "1920x1080-Laptop verwende, mit Ausnahme einiger weniger wie Visual Studio, die von dem zusätzlichen Speicherplatz profitieren. Die Einstellung" hohe DPI deaktivieren "in der Kompatibilität bewirkt jedoch nichts unter Windows 8.

Aleksandr Dubinsky
quelle
Synetech hat diese Frage bearbeitet. Ich kann keine Möglichkeit finden, seine Revision zu kommentieren oder ihm eine Nachricht zu senden. Daher werde ich die Argumentation hier veröffentlichen: Die Frage ist spezifisch für VS 2012 (und möglicherweise andere Anwendungen, die bestimmte Frameworks verwenden, z. B. WPF), bei denen eine regelmäßige DPI-Kompatibilität besteht Einstellung funktioniert nicht. Außerdem ist es mit ziemlicher Sicherheit nicht spezifisch für Windows 8, obwohl ich es nicht unter 7 / Vista getestet habe.
Aleksandr Dubinsky
Ich habe das WindowsTag entfernt, da es nur verwendet werden sollte, wenn es ALLE Versionen von betrifft, Windowsda Sie Windows 8nur dieses Tag verwenden.
Ramhound

Antworten:

2

Ich fragte Chris Jackson, den Microsoft AppCompat-Typen . Es gibt keine Möglichkeit, dies zu tun.

Wir haben keine solche Fähigkeit, der skalierte Modus ist das, was wir brauchen, um mit diesen Situationen umzugehen. Ja, es gibt eindeutig einige Dinge, die nicht optimal sind, wie wir das machen (ich hasse auch die Fuzzies), aber es ist schwierig, einen zweiten Fix zu genehmigen, der technisch das Gleiche löst, da dies bedeutet, dass der Ingenieur nichts anderes tut die Welt zu einem besseren Ort machen.

Ich fragte auch fast die gleiche Sache hier .

Ian Boyd
quelle
2
Danke für Ihre Antwort. Wenn man dies hört und andere Kommentare zur C # -Entwicklung hört, hat man den Eindruck, dass Microsoft kein Geld hat und kaum ein Dutzend Leute dafür arbeiten. Es gibt keine Liebe zum Detail. Kleinigkeiten werden nie repariert. Alles im Namen von "Wir haben nicht die Ressourcen." Wie ineffizient ist MS? Wie auch immer, das ist eine große Sache, da ich für das Display, von dem nur wenige bildschirmhungrige Apps profitieren, den höchsten Preis bezahlt habe. Ich habe High DPI vollständig deaktiviert, aber warum sollten alle anderen Apps winzig sein? Ist DPI pro App so schwer? Chris impliziert, dass die Lösung einfach, aber "verboten" ist.
Aleksandr Dubinsky
@AleksandrDubinsky - Wenn Sie diesen Eindruck bekommen, weiß ich nicht, was Sie hören, aber es ist alles, was Microsoft tut. Zwischen .NET 4.0 und .NET 4.5 wurden Hunderte von Verbesserungen vorgenommen.
Ramhound
@Rahmound Eric Lippert beantwortete eine SO-Frage, warum C # keine generischen Typen für Konstruktoren ableiten kann, mit: "Es gibt kein wirkliches Problem, es wäre sehr ähnlich, sie für Methoden abzuleiten. Aber wir haben begrenzte Budgets [--yeah richtig]. Und übrigens hat die Konsistenz der Sprache eine niedrige Priorität. " Andere Beispiele in C # sind generische Typeinschränkungen für Aufzählungen und Delegaten, die ebenfalls kinderleicht zu implementieren sind. Oder Word / Excel 2010 hat immer noch ein bizarres Alt + Tab-Verhalten, weil sich niemand die Mühe gemacht hat, die Hacks um altes MDI herum neu zu schreiben. Oder ganz Win8, das nicht Metro ist. Die Liste geht weiter, plus diese Antwort
Aleksandr Dubinsky
Die Philosophie von @Rahmound MS lautet einfach: Das Hinzufügen neuer Funktionen ist großartig. Das Verbessern der bereits geschriebenen Dinge ist "eine Verschwendung unserer wertvollen, winzigen Ressourcen", selbst wenn keine weiteren Funktionen hinzugefügt werden müssen. Das stimmt nicht mit dem Geld überein, das MS hat, und fordert seinen Tribut, wenn die Zeitspanne Jahrzehnte beträgt. Die Hälfte der Word / Excel-Dialoge stammt aus der Zeit vor Office 95! Plus der Multi-Fenster-Wahnsinn. Visual Studio ist ein Problem, wenn Sie Netbeans entdeckt haben. Die GUI von VS wurde 2010 in WPF VOLLSTÄNDIG neu geschrieben, und NICHTS ALTES WURDE VERBESSERT. Stase. Wunderbare, beruhigende Stase.
Aleksandr Dubinsky
MS ist ein großes Unternehmen. Das bedeutet, dass sie in Amerika einen großen Mitarbeiterstamm haben, aber nur sehr wenige Menschen, die tatsächlich arbeiten. Jeder möchte für M $ arbeiten, aber niemand tut es aus Liebe zum Codieren oder nur noch sehr wenige.
Motes
17

DAS IST MÖGLICH

Ich habe dies unter Windows 8 versucht und es funktioniert perfekt:

  1. Wechseln Sie zu Ihrem Visual Studio Shortcut / App Launcher
  2. Klicken Sie mit der rechten Maustaste und beheben Sie die Kompatibilität
  3. Fahren Sie mit dem Programm zur Fehlerbehebung fort
  4. Fehlerbehebung beim Programm
  5. Häkchen: Programm wird geöffnet, aber nicht richtig angezeigt
  6. Testprogramm..
  7. Ja, Änderungen speichern

Sie sind fertig!

yonasstephen
quelle
Funktioniert unter Visual Studio 2012 Update 5 unter Windows 8
RTC11
1
Funktioniert mit VS 2015 unter Windows 10, außer dass Sie den App-Starter über Ihr Startmenü finden und den Dateispeicherort der Verknüpfung öffnen müssen, da der Menüpunkt zur Fehlerbehebung nur verfügbar ist, wenn Sie mit der rechten Maustaste auf die Verknüpfung im Windows Explorer klicken.
Tjaart
Funktioniert unter VS 2015 unter Windows 8.1.
Zoomzoom
Das nervt mich jetzt schon eine Weile. Das hat perfekt funktioniert, danke!
RyanOC
Funktioniert auf VS 2017 unter Windows 10
Nick Tsai
16

Das ist absolut möglich. Ich habe die "Kompatibilitäts" -Einstellungen für ausführbare Dateien verwendet, aber aus irgendeinem Grund ist dies für VS nicht verfügbar. Der entsprechende Registrierungsschlüssel funktioniert jedoch einwandfrei. Der Schlüssel ist HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersund Sie müssen nur einen Zeichenfolgenwert "~ HIGHDPIAWARE" hinzufügen (genau wie das Aktivieren dieses Kontrollkästchens auf der Registerkarte "Kompatibilität" der Eigenschaften der ausführbaren Datei). Oder Sie können einfach Folgendes ausführen:

reg füge "HKCU \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers" / v "vollständiger Pfad zur ausführbaren Datei" hinzu / t REG_SZ / d "~ HIGHDPIAWARE"

Futuresandwich
quelle
1
Willkommen in SU! Nur-Link-Antworten werden aufgrund möglicher zukünftiger Link-Rot als Nein-Nein betrachtet. Bitte bearbeiten Sie Ihre Antwort und geben Sie relevante Informationen direkt an. Fügen Sie den Link als Quellenreferenz hinzu.
Ƭᴇcʜιᴇ007
Dies wird speziell für VS funktionieren? Ich sehe nicht, was die Exe identifiziert
Aleksandr Dubinsky
Ja, tut mir leid, das Markup von Aleksandr SU hatte den Platzhalter entfernt. Überprüfen Sie die Antwort erneut.
Futuresandwich
Dies funktioniert übrigens auch in Visual Studio 2013.
Brad Bamford
Für Visual Studio 2013 habe ich im angegebenen Registrierungspfad den folgenden Zeichenfolgenschlüssel: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exemit dem Wert " ~ RUNASADMIN HIGHDPIAWAREAls
Administrator ausführen"