Why I Use Visual Studio
& ReSharper for C++
Richard Thomson
Utah C++ Programmers
Story Time
In the Beginning Was TECO
• TECO, the Text Editor and COrrector
• Line-oriented editor for DEC (Digital Equipment Corp.) machines
• Commands were single characters -- sometimes control characters!
• TECO was Turing complete with advanced macro capabilities
• Great for interactive computing on printing terminals
• "Not officially supported by DEC", but everyone had it
• I used it on the PDP-11/70 running RSTS/E
Story Time
TECO Use Cases
• Using RUNOFF to create pretty-printed reports for English class
• Modifying my BASIC-PLUS programs
• Editing text files
• Great for performing algorithmic changes to text
• Macros, while cryptic, were powerful
• You use TECO to edit TECO macros in source files
• My editor of choice 1979-1982
Story Time
Unix: ed, ex and vi
• ed, the standard line-oriented editor for AT&T Unix, 6th edition
• ex/vi, the standard screen-oriented editor for BSD Unix
• Even if you had AT&T Unix, you found a way to get ex/vi on your system
• vi is screen oriented and terminal agnostic
• vim is the modern incarnation available today
• My editor of choice 1982-1988
• C, FORTRAN programs
• ctags for primitive symbol navigation
Story Time
Emacs and M-x compile
• Emacs originated as a set of editor macros for... you guessed it:
TECO
• Rewritten as a native program with a LISP dialect for extension
• "Major" and "Minor" modes for editing source files
• "CASE" (Computer Aided Software Engineering) programs appear,
but they feel slow & bloated with dubious features compared to Emacs
• My editor of choice 1988-1998
• C, 1988-1993
• C++, 1993-1998
• etags for primitive symbol navigation
Story Time
Microsoft Visual C++ 6
• "Integrated Development Environment" for C & C++ development
• Windows only
• Transition period with Emacs for editing and VC6 for building
• GUI for project and compiler settings
• GUI for code/symbol navigation
• "Wizards" for generating boiler-plate code
• My editor of choice 1999-2002
Story Time
Microsoft Visual Studio
• Microsoft unified all language specific IDEs into a single IDE
• Extensions provide additional functionality
• Commercial, freeware and open-source
• My editor of choice 2003 to the present
Story Time
Microsoft Visual Studio Extensions
• Extensions can help with little things:
• managing a TODO list
• managing copyright notice boilerplates
• Extensions can provide big chunks of functionality:
• editor syntax highlighting for new languages
• static code analysis
• distributed/parallel build systems
• refactoring
• Extensions for C/C++ refactoring begin to appear (2007-present)
• Refactoring Test Suite created because C/C++ refactoring is hard (2010)
Story Time
ReSharper and ReSharper for C++
• ReSharper add-on for C# provides many productivity enhancements
for the .NET developer (2004-present)
• Great refactoring support for C# code
• ReSharper for C++ (R++) provides many of the same features for C+
+ developers (2015)
• R++ is my extension of choice (2015-present)
Demo
• Enough yakking already, show me the code!

Why I Use Visual Studio & ReSharper for C++

  • 1.
    Why I UseVisual Studio & ReSharper for C++ Richard Thomson Utah C++ Programmers
  • 2.
    Story Time In theBeginning Was TECO • TECO, the Text Editor and COrrector • Line-oriented editor for DEC (Digital Equipment Corp.) machines • Commands were single characters -- sometimes control characters! • TECO was Turing complete with advanced macro capabilities • Great for interactive computing on printing terminals • "Not officially supported by DEC", but everyone had it • I used it on the PDP-11/70 running RSTS/E
  • 3.
    Story Time TECO UseCases • Using RUNOFF to create pretty-printed reports for English class • Modifying my BASIC-PLUS programs • Editing text files • Great for performing algorithmic changes to text • Macros, while cryptic, were powerful • You use TECO to edit TECO macros in source files • My editor of choice 1979-1982
  • 4.
    Story Time Unix: ed,ex and vi • ed, the standard line-oriented editor for AT&T Unix, 6th edition • ex/vi, the standard screen-oriented editor for BSD Unix • Even if you had AT&T Unix, you found a way to get ex/vi on your system • vi is screen oriented and terminal agnostic • vim is the modern incarnation available today • My editor of choice 1982-1988 • C, FORTRAN programs • ctags for primitive symbol navigation
  • 5.
    Story Time Emacs andM-x compile • Emacs originated as a set of editor macros for... you guessed it: TECO • Rewritten as a native program with a LISP dialect for extension • "Major" and "Minor" modes for editing source files • "CASE" (Computer Aided Software Engineering) programs appear, but they feel slow & bloated with dubious features compared to Emacs • My editor of choice 1988-1998 • C, 1988-1993 • C++, 1993-1998 • etags for primitive symbol navigation
  • 6.
    Story Time Microsoft VisualC++ 6 • "Integrated Development Environment" for C & C++ development • Windows only • Transition period with Emacs for editing and VC6 for building • GUI for project and compiler settings • GUI for code/symbol navigation • "Wizards" for generating boiler-plate code • My editor of choice 1999-2002
  • 7.
    Story Time Microsoft VisualStudio • Microsoft unified all language specific IDEs into a single IDE • Extensions provide additional functionality • Commercial, freeware and open-source • My editor of choice 2003 to the present
  • 8.
    Story Time Microsoft VisualStudio Extensions • Extensions can help with little things: • managing a TODO list • managing copyright notice boilerplates • Extensions can provide big chunks of functionality: • editor syntax highlighting for new languages • static code analysis • distributed/parallel build systems • refactoring • Extensions for C/C++ refactoring begin to appear (2007-present) • Refactoring Test Suite created because C/C++ refactoring is hard (2010)
  • 9.
    Story Time ReSharper andReSharper for C++ • ReSharper add-on for C# provides many productivity enhancements for the .NET developer (2004-present) • Great refactoring support for C# code • ReSharper for C++ (R++) provides many of the same features for C+ + developers (2015) • R++ is my extension of choice (2015-present)
  • 10.
    Demo • Enough yakkingalready, show me the code!