WindowsDevEnv
This page contains notes about how I like to configure a Windows development environment, notably at my work place.
Software
The main piece of software, obviously, is Microsoft's IDE: Visual Studio. There is a separate wiki page that contains configuration and usage notes.
I also find the following software packages useful:
- Firefox
- Notepad++
- 7-zip
- WinMerge
- Dependency Walker
- Sysinternals Suite
- Cygwin
- ILSpy: Open Source tool to inspect .NET assemblies.
- PEStudio: Inspect the properties of .dll and .exe files, notably the manifest.
- Sumatra PDF: A non-bloat PDF Reader
- Total Commander (requires a license): Two use cases:
- Reliable file search. File search in Windows Explorer is non-intuitive and most of the time produces the wrong search results. In Windows 10 the search is "fuzzy", which means that when you search for "foo.txt" you also get "foobar.txt".
- Comparing and synchronizing folders.
System configuration
Control panel
Keyboard
- Layout = Deutsch (Schweiz)
- Repeat = Maximum
Region und Sprache
- Formate = Deutsch (Schweiz)
- In Windows 8.1: Manuell das Dezimaltrennzeichen = "." und das Tausender-Trennzeichen = "'" einstellen.
- Tastaturen und Sprachen > Tastaturen ändern... > Alle Tastaturen ausser "Deutsch (Schweiz)" löschen
- Verwaltung > Einstellungen kopieren > Aktuelle Einstellungen für folgende Konten kopieren > Auswählen von "Willkommensseite und Systemkonten" und "Neue Benutzerkonten"
- Verwaltung > Gebietsschema ändern > Aktuelles Gebietsschema = Deutsch (Schweiz)
Taskbar
- Kleine Symbole verwenden = true
- Schaltflächen der Taskleiste = Gruppieren, wenn die Taskleiste voll ist
- Shortcut Toolbar
Windows Explorer
Windows Explorer > Extras > Ordneroptionen > Ansicht
- Erweiterungen bei bekannten Dateitypen ausblenden = false
- Ausgeblendete Dateien, Ordner und Laufwerke anzeigen = true
- Vorherige Ordnerfenster bei der Anmeldung wiederherstellen
PowerShell
Allow execution of PowerShell scripts (see LearningPowerShell)
- Launch a new PowerShell instance as administrator
- Run this command:
Set-ExecutionPolicy unrestricted
UAC
Systemsteuerung > Benutzerkontensteuerung (UAC)
- Neuer Wert = Immer benachrichtigen (oberste Einstellung)
Beim UAC Prompt kein Wechsel auf den Secure Desktop (weniger Bildschirm-Flackern, wichtig insbesondere in der langsamen VMware Umgebung)
- Start > Run > secpol.msc > Lokale Richtlinien > Sicherheitsoptionen
- Deaktivieren der Option "Benutzerkontensteuerung: Bei Benutzeraufforderung nach erhöhten Rechten zum sicheren Desktop wechseln"
- Auf einem englischen System heisst die Option "User Account Control: Switch to the secure desktop when prompting for elevation"
- Für Admins: Neuer Wert für Option "Benutzerkontensteuerung: Verhalten der Eingabeaufforderung für erhöhte Rechte für Administratoren im Administratorbestätigungsmodus" = Eingabeaufforderung zur Zustimmung
- Auf einem englischen System heisst die Option "User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode"
- Auch möglich (und evt. sicherer, zumindest aber ähnlich wie sudo, oder das Verhalten von Mac OS X ) = Eingabeaufforderung zu Anmeldeinformationen
- Für normale Benutzer: Neuer Wert für Option "Benutzerkontensteuerung: Verhalten der Eingabeaufforderung für erhöhte Rechte für Standardbenutzer" = Eingabeaufforderung zu Anmeldeinformationen
- Auf einem englischen System heisst die Option "User Account Control: Behavior of the elevation prompt for standard users"
Windows Updates
Hinweis: Die folgende Anleitung ist sicher gültig für Windows 7. Für neuere Windows-Versionen funktioniert die Konfiguration von Windows Updates teilweise anders.
- Systemsteuerung > Windows Update > Einstellungen > Updates herunterladen, aber Installation manuell durchführen
- Die Standard-Einstellung kann dazu führen, dass das System in einem unbeobachteten Moment (10 Minuten) herunterfährt
- Auf dem Host-System kann die obigen Einstellung nicht verändert werden, da vom IT zwingend vorgegeben wird, Updates automatisch zu installieren
- Das führt dazu, dass ein Dialog angezeigt wird, dass der Computer in 15 Minuten automatisch heruntergefahren wird, um die Update-Installation durchzuführen. Reagiert man nicht innerhalb von 15 Minuten wird tatsächlich ein Neustart durchgeführt.
- Das ist extrem ärgerlich, wenn man den Dialog nicht sieht, weil man z.B. gerade am Arbeiten in einer VM ist, oder weil man nicht am Arbeitsplatz ist.
- Der 15-Minuten Zähler kann deaktiviert werden, so dass man nur noch die Meldung erhält, dass Windows Updates anstehen und man das System neu starten soll
- Start > Run > gpedit.msc > Computer Configuration > Administrative Templates > Windows Components > Windows Update
- Aktivieren der Option "Keinen automatischen Neustart für geplante Installationen automatischer Updates durchführen, wenn Benutzer angemeldet sind"
- "Updates installieren und herunterfahren" als separater Eintrag im Shutdown-Menü von Windows (damit man beim Herunterfahren nicht mit der Installation von Updates beginnt (was sehr langwierig sein kann))
- Start > Run > gpedit.msc > Computer Configuration > Administrative Templates > Windows Components > Windows Update
- Aktivieren der Option "Die Standardoption "Updates installieren und herunterfahren" im Dialogfeld "Windows herunterfahren" nicht anpassen"
- Auf einem englischen System heisst die Option "Do not adjust default option to "Install Updates And Shut Down" in Shut Down Windows dialog box"
Web Browsers
Firefox
- Set as the system's default browser
- Log in to Firefox Sync to get bookmarks and main browser config
- Some browser config options need to be set manually (e.g. search engine)
Internet Explorer
Install Search Engine "Duck Duck Go" (via dropdown menu in the search field)
Chrome
- TODO
Cygwin
General installation notes:
- Installation to the default folder (e.g.
c:\cygwin64
) - After installation is complete, move the downloaded
setup.exe
to the installation folder - Add the project "Cygwin Ports" as a distribution mirror
- Instructions how to do this: http://sourceware.org/cygwinports/
- Command to launch
setup.exe
cygstart -- /cygdrive/c/cygwin64/setup.exe -K http://cygwinports.org/ports.gpg
Packages to install:
- binutils (devel)
- mintty (shells)
- python, python-crypto, python-doc (python)
- file (utils)
- vim (editors)
- inetutils (net)
- curl (net)
- netcat (net)
- openssh (net)
- openssl (net)
- ping (net)
- wget (web)
- graphviz (graphics; is available only after the Cygwin Ports project has been added as a mirror)
Configuration mintty
- Window size = 200x80
Create a new ~/.bashrc
file with this content:
alias l="ls -la"
Notepad++
Configuration:
- Register file extensions
- Run Notepad++ as administrator
- Settings -> Preferences -> File Association
- Add all desired extensions using the "Right arrow" button
- Tab settings
- Settings > Preferences > Language Menu/Tab Settings > "[Default]" (select this entry from the list of tab settings)
- Tab size = 2
- Replace by space = true
- Settings > Preferences > Language Menu/Tab Settings > "[Default]" (select this entry from the list of tab settings)
Useful plugins, installation via "Plugins > Plugin Manager":
- XML Tools
- NppAutoIndent
Useful plugins, manual installation:
- HEX-Editor
- Download the newest version (Unicode Version) from here: http://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/
- Extract .zip archive and copy the resulting .dll into this folder:
C:\Program Files (x86)\Notepad++\plugins
- Restart Notepad++
Plugins konfigurieren
- NppAutoIndent
- Plugins > NppAutoIndent > Ignore language = true
- Plugins > NppAutoIndent > Previous Line = true
WinMerge
- Edit > Options
- Compare > Whitespace = Ignore change
- System > External Editor = C:\Program Files\Notepad++\notepad++.exe (default = C:\Windows\NOTEPAD.EXE)
- Backup Files > Create backup files in > File compare = false
Total Commander
Configuration > Options
- Display > Show hidden/system files = true
- Display > Show square brackets around directories = false
- Display > Tabstops > Show file extensions = directly after filename
- Display > Folder Tabs > Show tab header also when there is only one tab = true
- Operation > Mouse selection mode = Left mouse button
- Operation > Edit/View > Editor for F4 = C:\Program Files\Notepad++\notepad++.exe
Dependency Walker
- Als Administrator starten
- Options > Configure Handled File Extensions
- Folgende Dateiendungen eintragen: DLL, EXE, OCX