Nie można wyłączyć skalowania DPI dla Visual Studio 2012

11

Chciałbym włączyć wysokie DPI dla większości aplikacji, których używam na moim 14-calowym laptopie 1920 x 1080, z wyjątkiem kilku takich jak Visual Studio, które korzystają z dodatkowej przestrzeni. Jednak ustawienie „wyłącz wysokie DPI” w zgodności nic nie robi. Jestem za pomocą Windows 8.

Aleksandr Dubinsky
źródło
Synetech zredagował to pytanie. Nie mogę znaleźć sposobu, aby skomentować jego poprawkę lub wysłać mu wiadomość, więc zamieszczę tutaj uzasadnienie: pytanie dotyczy konkretnej wersji VS 2012 (i być może innych aplikacji wykorzystujących określone frameworki, np. WPF), w których zgodna jest normalna DPI ustawienie nie działa. Ponadto prawie na pewno nie jest specyficzny dla systemu Windows 8, chociaż nie testowałem go na 7 / Vista.
Aleksandr Dubinsky
Usunąłem Windowstag, ponieważ powinien być używany tylko wtedy, gdy wpływa na WSZYSTKIE wersje, Windowsponieważ używanie Windows 8tylko tego tagu dotyczy Ciebie.
Ramhound,

Odpowiedzi:

2

zapytałem Chrisa Jacksona, faceta Microsoft AppCompat ; nie ma na to sposobu.

Nie mamy takiej zdolności, tryb skalowany jest tym, co musimy poradzić sobie w takich sytuacjach. Tak, wyraźnie są pewne rzeczy, które nie są optymistyczne w tym, jak to robimy (ja też nie znoszę fuzzów), ale trudno jest uzyskać drugą poprawkę zatwierdzoną, która technicznie rozwiązuje to samo, ponieważ oznacza to, że inżynier nie robi nic innego, aby stworzyć świat lepszym miejscem.

Poprosiłam też prawie to samo tutaj .

Ian Boyd
źródło
2
Dziękuję za odpowiedź. Słysząc to i słysząc inne komentarze dotyczące programowania w języku C #, można odnieść wrażenie, że Microsoft nie ma pieniędzy i ledwo pracuje dla niego kilkanaście osób. Brak dbałości o szczegóły. Małe rzeczy nigdy nie zostaną naprawione. Wszystko w imię „nie mamy zasobów”. Jak nieefektywne jest stwardnienie rozsiane? W każdym razie jest to wielka sprawa, ponieważ zapłaciłem za dolara najwyższą cenę, która przynosi korzyści tylko kilku aplikacjom wymagającym dużego ekranu. Wyłączyłem całkowicie DPI, ale dlaczego wszystkie inne aplikacje powinny być małe? Czy DPI dla aplikacji jest takie trudne? Chris sugeruje, że poprawka jest łatwa, ale „zabroniona”.
Aleksandr Dubinsky
@AleksandrDubinsky - Jeśli masz takie wrażenie, to nie wiem, co słyszysz, ale wszystko, co robi Microsoft. Wprowadzono setki ulepszeń między .NET 4.0 a .NET 4.5.
Ramhound,
@Rahmound Eric Lippert odpowiedział na pytanie SO, dlaczego C # nie może wnioskować o typach ogólnych dla konstruktorów z czymś takim, jak: „nie ma prawdziwego problemu, byłoby to podobne do wnioskowania o metody. Ale mamy ograniczony budżet [--yeah prawda]. A przy okazji spójność języka ma niski priorytet. ” Innymi przykładami w języku C # są ogólne ograniczenia typów dla wyliczeń i delegatów, które są również bardzo proste do wdrożenia. Lub np. Word / Excel 2010 nadal ma dziwne zachowanie Alt + Tab, ponieważ nikt nie zadał sobie trudu, aby przepisać hacki wokół starego MDI. Lub wszystkie Win8, które nie są Metro. Lista jest długa, a także ta odpowiedź
Aleksandr Dubinsky
Filozofia @Rahmound MS jest po prostu taka: dodawanie nowych funkcji jest świetne. Poprawianie już napisanych rzeczy jest „marnotrawstwem naszych cennych, maleńkich zasobów”, nawet jeśli nie ma już więcej funkcji do dodania. Jest to niezgodne z ilością pieniędzy posiadanych przez stwardnienie rozsiane i naprawdę zbiera żniwo, gdy okres czasu jest dziesięcioleci. Połowa okien dialogowych Word / Excel poprzedza Office 95! Plus szaleństwo wielu okien. Visual Studio jest trudny w użyciu po odkryciu Netbeans. GUI VS został CAŁKOWICIE przepisany w WPF na 2010 rok, a NIC NIE BYŁO ULEPSZONE. Zastój. Cudowny, pocieszający zastój.
Aleksandr Dubinsky
MS jest dużym ciałem. Co oznacza, że ​​w Ameryce mają dużą bazę pracowników, ale bardzo niewiele osób faktycznie pracuje. Każdy chce pracować dla M $, ale nikt nie robi tego z zamiłowania do kodowania lub bardzo niewielu.
Motes,
17

TO JEST MOŻLIWE

Próbowałem tego na moim systemie Windows 8 i działa idealnie:

  1. Przejdź do programu Visual Studio Shortcut / app launcher
  2. Kliknij prawym przyciskiem myszy i rozwiąż problemy ze zgodnością
  3. Kontynuuj program rozwiązywania problemów
  4. Rozwiązywanie problemów z programem
  5. Zaznacz: Program otwiera się, ale nie wyświetla się poprawnie
  6. Program testowy ..
  7. Tak, zapisz zmiany

Wszystko gotowe!

yonasstephen
źródło
Działa w Visual Studio 2012 Update 5 na Windows 8
rtc11
1
Działa z VS 2015 w systemie Windows 10, z tym wyjątkiem, że musisz znaleźć program uruchamiający aplikację za pomocą menu Start i otworzyć lokalizację pliku skrótu, ponieważ element menu rozwiązywania problemów ze zgodnością jest dostępny tylko po kliknięciu prawym przyciskiem myszy skrótu w Eksploratorze Windows.
Tjaart,
Działa na VS 2015 na Windows 8.1.
Zoomzoom,
Martwi mnie to od dłuższego czasu. To działało idealnie, dzięki!
RyanOC
Działa na VS 2017 na Windows 10
Nick Tsai
16

Jest to absolutnie możliwe. Użyłem do tego ustawień „zgodności” w plikach wykonywalnych, ale z jakiegoś powodu nie jest to dostępne dla VS. Jednak równoważny klucz rejestru działa dobrze. Kluczem jest HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersi musisz tylko dodać wartość ciągu „~ HIGHDPIAWARE” (tak samo jak zaznaczenie tego pola na karcie zgodności właściwości pliku wykonywalnego). Lub możesz po prostu uruchomić to:

reg dodaj „HKCU \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers” / v „pełna ścieżka do pliku wykonywalnego” / t REG_SZ / d „~ HIGHDPIAWARE”

futuresandwich
źródło
1
Witamy w SU! Odpowiedzi tylko dla linków są uważane za nie-nie z powodu możliwej zgnilizny linków w przyszłości. Edytuj swoją odpowiedź i dołącz bezpośrednio odpowiednie informacje, a także link jako źródło odniesienia.
Ƭᴇcʜιᴇ007
Będzie to działać specjalnie dla VS? Nie rozumiem, co identyfikuje exe
Aleksandr Dubinsky
Tak, przepraszam, znaczniki Aleksandra SU usunęły symbol zastępczy. Sprawdź odpowiedź jeszcze raz.
futuresandwich
Działa to również w Visual Studio 2013 btw.
Brad Bamford,
W przypadku programu Visual Studio 2013 w podanej ścieżce rejestru mam następujący klucz ciągu: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exez wartością ~ RUNASADMIN HIGHDPIAWAREdo uruchomienia jako administrator i bez skalowania
Ivan Akcheurov