Не удается отключить масштабирование DPI для Visual Studio 2012

11

Мне бы хотелось, чтобы высокий DPI был включен для большинства приложений, которые я использую на своем 14 "ноутбуке 1920x1080, за исключением некоторых, таких как Visual Studio, которые выигрывают от дополнительного пространства. Однако настройка" отключить высокий DPI "в совместимости ничего не делает. используя Windows 8.

Александр Дубинский
источник
Synetech отредактировал этот вопрос. Я не могу найти способ прокомментировать его ревизию или отправить ему сообщение, поэтому я опубликую обоснование здесь: Вопрос относится к VS 2012 (и, возможно, к другим приложениям, использующим определенные платформы, например, WPF), где обычная совместимость DPI настройка не работает. Кроме того, это почти наверняка не относится к Windows 8, хотя я не тестировал его на 7 / Vista.
Александр Дубинский
Я удалил Windowsтег, поскольку он должен использоваться только в том случае, если он влияет на ВСЕ версии, Windowsпоскольку использование вами Windows 8только этого тега относится к вам.
Ramhound

Ответы:

2

я спросил Криса Джексона, парня из Microsoft AppCompat ; нет способа сделать это.

У нас нет такой способности, масштабированный режим - это то, что мы должны решать в таких ситуациях. Да, есть некоторые вещи, которые неоптимальны в том, как мы это делаем (я тоже ненавижу пушистики), но трудно утвердить второе исправление, которое технически решает ту же проблему, поскольку это означает, что инженер не делает что-то еще для сделать мир лучше.

Я также спросил почти то же самое здесь .

Ян Бойд
источник
2
Спасибо за ваш ответ. Услышав это и услышав другие комментарии по поводу разработки на C #, создается впечатление, что у Microsoft нет денег и на нее работает всего дюжина человек. Там нет внимания к деталям. Мелочи никогда не исправляются. Все во имя «у нас нет ресурсов». Насколько неэффективен РС? В любом случае, это немного сложное дело, так как я заплатил максимальный доллар за дисплей, который приносит пользу только нескольким приложениям, требующим экрана. Я полностью отключил High DPI, но почему все остальные приложения должны быть крошечными? DPI для каждого приложения так сложно? Крис подразумевает, что исправить это легко, но «запрещено».
Александр Дубинский
@AleksandrDubinsky - Если у вас такое впечатление, я не знаю, что вы слышите, но что-то делает Microsoft. Между .NET 4.0 и .NET 4.5 произошли сотни улучшений.
Ramhound
@Rahmound Эрик Липперт ответил на вопрос о том, почему C # не может выводить универсальные типы для конструкторов с чем-то вроде: «Нет реальной проблемы, это было бы очень похоже на вывод их для методов. Но у нас ограниченные бюджеты [--yeah правильно]. И, между прочим, последовательность языка является низким приоритетом ". Другими примерами в C # являются ограничения общего типа для Enums и делегатов, которые также очень просты в реализации. Или, например, Word / Excel 2010 по-прежнему имеет странное поведение Alt + Tab, потому что никто не удосужился переписать хаки вокруг старого MDI. Или все Win8, которые не Metro. Список можно продолжить, плюс этот ответ
Александр Дубинский
Философия @Rahmound MS заключается в следующем: добавление новых функций - это здорово. Улучшение того, что уже написано, является «пустой тратой наших драгоценных, крошечных ресурсов», даже когда больше нет функций, которые можно добавить. Это несовместимо с тем, сколько денег имеет MS, и действительно берет свое, когда сроки составляют десятилетия. Половина диалогов Word / Excel предшествует Office 95! Плюс многооконный безумие. Visual Studio - это боль в использовании, обнаружив Netbeans. GUI VS был ПОЛНОСТЬЮ переписан в WPF в 2010 году, и НИЧЕГО СТАРОГО НЕ УЛУЧШЕНО. Застой. Прекрасный, успокаивающий стазис.
Александр Дубинский
МС большая корпорация. Это означает, что в Америке у них большая база сотрудников, но очень мало людей, которые на самом деле работают. Все хотят работать за M $, но никто не делает это из-за любви к кодированию, или очень немногие делают это больше.
Моты
17

ЭТО ВОЗМОЖНО

Я попробовал это на моей Windows 8, и она отлично работает:

  1. Перейдите в ярлык Visual Studio / приложение запуска
  2. Щелкните правой кнопкой мыши и устраните неполадки совместимости
  3. Продолжить программу устранения неполадок
  4. Программа устранения неполадок
  5. Галочка: программа открывается, но не отображается правильно
  6. Тестовая программа ..
  7. Да, Сохранить изменения

У вас все настроено!

yonasstephen
источник
Работает над Visual Studio 2012 Update 5 в Windows 8
rtc11
1
Работает с VS 2015 в Windows 10, за исключением того, что вам нужно найти панель запуска приложений в меню «Пуск» и открыть местоположение файла ярлыка, поскольку пункт меню «Устранение неполадок совместимости» доступен только при щелчке правой кнопкой мыши по ярлыку в проводнике Windows.
Tjaart
Работает на VS 2015 на windows 8.1.
Zoomzoom
Это беспокоило меня некоторое время. Это сработало отлично, спасибо!
RyanOC,
Работает на VS 2017 на windows 10
Ник Цай
16

Это абсолютно возможно. Я использовал настройки «совместимости» для исполняемых файлов, но по какой-то причине это не доступно для VS. Однако эквивалентный ключ реестра работает просто отлично. Ключ в том, HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersи вам просто нужно добавить строковое значение «~ HIGHDPIAWARE» (то же самое, что отметить этот флажок на вкладке совместимости свойств исполняемого файла). Или вы можете просто запустить это:

reg добавьте "HKCU \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers" / v "полный путь к исполняемому файлу" / t REG_SZ / d "~ HIGHDPIAWARE"

futuresandwich
источник
1
Добро пожаловать в СУ! Ответы только на ссылки считаются нет-нет из-за возможного будущего гниения ссылок. Пожалуйста, отредактируйте свой ответ и включите соответствующую информацию напрямую, и включите ссылку в качестве ссылки на источник.
Ƭᴇcʜιᴇ007
Это будет работать специально для VS? Я не вижу, что идентифицирует exe
Александр Дубинский
Да, извините, разметка Александра SU убрала заполнитель. Проверьте ответ еще раз.
фьючерсандвич
Это также работает в Visual Studio 2013, кстати.
Брэд Бэмфорд
Для Visual Studio 2013 в указанном пути реестра у меня есть следующий строковый ключ: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exeсо значением « ~ RUNASADMIN HIGHDPIAWAREЗапуск от имени администратора» и без масштабирования
Иван Акчеуров