WindowsDevEnv

From HerzbubeWiki
Jump to navigation Jump to search

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
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


Useful plugins, installation via "Plugins > Plugin Manager": - XML Tools - NppAutoIndent


Useful plugins, manual installation:


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