Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save janwilmans/c9a5170dedac72e6c19d6ce0cf55cd58 to your computer and use it in GitHub Desktop.

Select an option

Save janwilmans/c9a5170dedac72e6c19d6ce0cf55cd58 to your computer and use it in GitHub Desktop.

This blog is about how I use windows as a professional software engineer. What windows settings I customize and what tools I use to make my daily work as pleasing and productive as possible.

Performance and usability enhancements

Some of these settings are particularly well suited for virtual machines, use common sense to judge whether is it safe (enough) to turn off these features on real machines. In embedded development and hardware integration work that I do, I often find myself in situations where the network is already restricted enough by firewalls and anti-virus measures that having these options on only gets in the way.

Developer mode - Handle With Care:

  • turn off UAC (see reg file below)
  • turn off Windows Defender (see reg file below)
  • turn off Firewall: Win-S, Firewall, Turn Windows defined firewall on or off, private -> off, public -> off

After the firewall is turned off, you will get regular reminders about it, I have not found out how to turn these off yet.

Paranoid software engineers

As a software engineer, my job is to be paranoid, if something changed on my system, I have to assume I have to re-test ALL my assumptions. This means that if an update is installed during my debug session I can basically start over. This is not acceptable for me, so to prevent this I turn off updates during debug sessions.

Windows 10 annoyances

The following settings are my personal defaults, all packed into one registry patch

Responsiveness improvements / low latency HMI

  • turn off UAC
  • turn off Windows Defender
  • lower cl.exe priority to keep machine responsive
  • allow all powershell scripts
  • turn of sliding, animation and transparency
  • show all tray icons

Pleasing to work with:

  • keep shadows under windows
  • keep font optimizations

Productivity:

  • show all file extensions
  • write minidumps to c:\crashdumps when any program crashes
  • disable phone home to microsoft when any program crashes
Windows Registry Editor Version 5.00

; -- sacrifice some safety for responsiveness / automation, use with care! --

; set to '1' to disable Windows Defender's Realtime Protection
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender]
"DisableAntiSpyware"=dword:00000001

; Disable UAC (User Account Control)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:0

; allow unsigned powershell certificates, original value: "State"=dword:00023c00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing]
"State"=dword:00023e00

; enable powershell script execution
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell]
"ExecutionPolicy"="Bypass"

; -- developer productivity tweaks --

; Show file extentions
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"HideFileExt"=dword:0

; https://docs.microsoft.com/en-gb/windows/desktop/wer/collecting-user-mode-dumps
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps]
"DumpFolder"="C:\\CrashDumps"
"DumpType"=dword:1

; Disable WER (Windows Error Reporting)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting]
"Disabled"=dword:1

; Set cl.exe to below-normal priority so machine stays responsive
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\cl.exe\PerfOptions]
"CpuPriorityClass"=dword:00000005

; -- pleasing to work with --

; Show all tray icons
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"EnableAutoTray"=dword:0


; -- visual styles --

; set appearance options to "custom"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]
"VisualFXSetting"=dword:3

; This set the following 8 settings:
;
; Animate controls and elements inside windows OFF
; Fade or slide menus into view OFF
; Fade or slide ToolTips into view OFF
; Fade out menu items after clicking OFF
; Show shadows under mouse pointer OFF
; Slide open combo boxes OFF
; Smooth-scroll list boxes OFF
;
; Show shadows under windows ON
[HKEY_CURRENT_USER\Control Panel\Desktop]
"UserPreferencesMask"=hex:90,12,07,80,10,00,00,00

;Animate windows when minimizing and maximizing
[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]
"MinAnimate"="0"

;Animations in the taskbar
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"TaskbarAnimations"=dword:0

;Enable Peek
[HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM]
"EnableAeroPeek"=dword:0

;Save taskbar thumbnail previews
[HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM]
"AlwaysHibernateThumbnails"=dword:0

;Show thumbnails instead of icons
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"IconsOnly"=dword:1

;Show translucent selection rectangle
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"ListviewAlphaSelect"=dword:0

;Show window contents while dragging
[HKEY_CURRENT_USER\Control Panel\Desktop]
"DragFullWindows"="0"

;Smooth edges of screen fonts
[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"

;Use drop shadows for icon labels on the desktop
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"ListviewShadow"=dword:0

Aside from windows settings there are tools

Aside from windows settings there are tools that can make you developer life easier. Lets start with installation of tools, I regularly reinstall my whole system, every few months or so. Installing all tools again can be a hassle. Fortunately, chocolatey.org can install lots of things completely unattended.

The content of packages.bat is just an example, customize it to your wishes and safe it for next time.

https://www.howtogeek.com/356642/how-to-fix-all-windows-10%E2%80%99s-annoyances/

More Optimizations for Software Developers

  • turn off all animations / sliding
  • keep shadows under windows
  • keep font optimizations

Tooling, roughly in order of awesome

More tooling, that are bread and butter

  • Notepad++ (Settings -> disable sessions)
  • Ultraedit (paid)
  • git
  • tortoisegit (Settings -> Icon Overlays -> Status cache -> None)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment