Impossible de désactiver la mise à l'échelle DPI pour Visual Studio 2012

11

J'aimerais que le DPI élevé soit activé pour la plupart des applications que j'utilise sur mon ordinateur portable 14 "1920x1080, à l'exception de quelques-unes comme Visual Studio qui bénéficie de l'espace supplémentaire. sous Windows 8.

Aleksandr Dubinsky
la source
Synetech a modifié cette question. Je ne peux pas trouver un moyen de commenter sa révision ou de lui envoyer un message, donc je posterai le raisonnement ici: La question est spécifique à VS 2012 (et peut-être à d'autres applications utilisant des cadres particuliers, par exemple WPF) où la compatibilité DPI régulière le réglage ne fonctionne pas. De plus, il n'est presque certainement pas spécifique à Windows 8, même si je ne l'ai pas testé sur 7 / Vista.
Aleksandr Dubinsky
J'ai supprimé la Windowsbalise, car elle ne doit être utilisée que si elle affecte TOUTES les versions Windowscar votre utilisation de Windows 8cette balise s'applique uniquement à vous.
Ramhound

Réponses:

2

j'ai demandé à Chris Jackson, le gars de Microsoft AppCompat ; il n'y a aucun moyen de le faire.

Nous n'avons pas une telle capacité, le mode à l'échelle est ce que nous devons gérer ces situations. Oui, il y a clairement certaines choses qui sont sous-optimales sur la façon dont nous faisons cela (je déteste les flous aussi), mais il est difficile d'obtenir un deuxième correctif approuvé qui résout techniquement la même chose car cela signifie que l'ingénieur ne fait rien d'autre pour Faire du monde un meilleur endroit.

j'ai aussi demandé à peu près la même chose ici .

Ian Boyd
la source
2
Merci pour votre réponse. En entendant cela, et en entendant d'autres commentaires sur le développement C #, on a l'impression que Microsoft n'a pas d'argent et à peine une douzaine de personnes y travaillent. Il n'y a aucune attention aux détails. Les petites choses ne sont jamais réparées. Tout cela au nom de "nous n'avons pas les ressources". À quel point la SP est-elle inefficace? Quoi qu'il en soit, c'est un peu grave puisque j'ai payé le prix fort pour l'affichage qui ne profite qu'à quelques applications gourmandes en écran. J'ai complètement désactivé High DPI, mais pourquoi toutes les autres applications devraient-elles être minuscules? Le DPI par application est-il si difficile? Chris laisse entendre que la correction est facile, mais "interdite".
Aleksandr Dubinsky
@AleksandrDubinsky - Si vous avez cette impression, je ne sais pas ce que vous entendez, mais c'est tout ce que Microsoft fait. Il y a eu des centaines d'améliorations entre .NET 4.0 et .NET 4.5.
Ramhound
@Rahmound Eric Lippert a répondu à une question SO de pourquoi C # ne peut pas déduire des types génériques pour les constructeurs avec quelque chose comme, "il n'y a pas de vrai problème, ce serait un peu comme les déduire pour les méthodes. Mais nous avons des budgets limités [--yeah à droite]. Et, btw, la cohérence de la langue est une faible priorité. " D'autres exemples en C # sont les contraintes de type générique pour les énumérations et les délégués, qui sont également très simples à implémenter. Ou, par exemple, Word / Excel 2010 a toujours un comportement Alt + Tab bizarre car personne n'a pris la peine de réécrire les hacks autour des anciens MDI. Ou tout Win8 qui n'est pas Metro. La liste continue, plus cette réponse
Aleksandr Dubinsky
La philosophie de @Rahmound MS est tout simplement la suivante: l'ajout de nouvelles fonctionnalités est formidable. Améliorer les choses qui sont déjà écrites est «un gaspillage de nos précieuses ressources minuscules» même quand il n'y a plus de fonctionnalités à ajouter. Cela est incongru avec le montant d'argent dont dispose MS, et prend vraiment son péage lorsque l'échelle de temps est de plusieurs décennies. La moitié des boîtes de dialogue de Word / Excel sont antérieures à Office 95! Plus la folie multi-fenêtres. Visual Studio est pénible à utiliser après avoir découvert Netbeans. L'interface graphique de VS a été entièrement réécrite dans WPF pour 2010, et RIEN N'A ÉTÉ AMÉLIORÉ. Stase. Stase merveilleuse et réconfortante.
Aleksandr Dubinsky
MS est un grand corp. Ce qui signifie qu'en Amérique, ils ont une grande base d'employés mais très peu de personnes qui travaillent réellement. Tout le monde veut travailler pour M $, mais personne ne le fait par amour du codage, ou très peu le font, plus.
Motes
17

C'EST POSSIBLE

J'ai essayé cela sur mon Windows 8 et cela fonctionne parfaitement:

  1. Accédez à votre raccourci Visual Studio / lanceur d'application
  2. Clic droit et dépannage de la compatibilité
  3. Continuer le programme de dépannage
  4. Dépanner le programme
  5. Cochez: Le programme s'ouvre mais ne s'affiche pas correctement
  6. Programme de test ..
  7. Oui, enregistrer les modifications

Vous êtes prêt!

yonasstephen
la source
Fonctionne sur Visual Studio 2012 Update 5 sur Windows 8
rtc11
1
Fonctionne avec VS 2015 sur Windows 10, sauf que vous devez trouver le lanceur d'application dans votre menu Démarrer et ouvrir l'emplacement du fichier du raccourci, car l'élément de menu de résolution des problèmes de compatibilité n'est disponible que lorsque vous cliquez avec le bouton droit sur le raccourci dans l'explorateur Windows.
Tjaart
Fonctionne sur VS 2015 sur Windows 8.1.
Zoomzoom
Cela me dérange depuis un moment maintenant. Cela a parfaitement fonctionné, merci!
RyanOC
Fonctionne sur VS 2017 sur Windows 10
Nick Tsai
16

C'est absolument possible. J'utilisais les paramètres de "compatibilité" sur les exécutables pour le faire, mais pour une raison quelconque, ce n'est pas disponible pour VS. Cependant, la clé de registre équivalente fonctionne très bien. La clé est HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layerset il vous suffit d'ajouter une valeur de chaîne "~ HIGHDPIAWARE" (identique à la case à cocher dans l'onglet de compatibilité des propriétés de l'exécutable). Ou vous pouvez simplement exécuter ceci:

reg ajouter "HKCU \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers" / v "chemin complet vers l'exécutable" / t REG_SZ / d "~ HIGHDPIAWARE"

futuresandwich
la source
1
Bienvenue chez SU! Les réponses de lien uniquement sont considérées comme un non-non en raison d'une possible pourriture de lien future. Veuillez modifier votre réponse et inclure directement les informations pertinentes, et inclure le lien comme référence source.
Ƭᴇcʜιᴇ007
Cela fonctionnera spécifiquement pour VS? Je ne vois pas ce qui identifie l'exe
Aleksandr Dubinsky
Oui désolé, le balisage d'Aleksandr SU a supprimé l'espace réservé. Vérifiez à nouveau la réponse.
futuresandwich
Cela fonctionne également dans Visual Studio 2013 btw.
Brad Bamford
Pour Visual Studio 2013, dans le chemin de registre spécifié, j'ai la clé de chaîne suivante: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exeavec la valeur ~ RUNASADMIN HIGHDPIAWAREExécuter en tant qu'administrateur et sans mise à l'échelle
Ivan Akcheurov