SlideShare a Scribd company logo
Does the world end if you stop using Visual Studio?Hint: No.
Who Am I?Garry StewartI do tehsoftwarezContact me	garry.stewart@gmail.com@garry_stewarthttp://www.garry-stewart.com/
IDE AddicitionGeneral text editingSyntax highlightingIntellisenseWYSIWYG EditorsVisualisation toolsCode generationBuild management & compilationCode navigationFile managementSource controlIntegrated debuggingEtc…
This used to be Less Complicated, Right?
So let’s All Develop In Notepad!
What’s the Alternative?+==
Before We Start..Current directory is king%PATH% mattersCommand line tools are your friend
There are these things called modes…Lots of different modesInsertVisualNormalAnd More!You will spend most of your time in Normal mode.You cannot enter text in this mode
Alt Dot Net Usergroup: Does the world end if you stop using Visual Studio?
Basic Editing:help operator:help scrollingEverything has a count5dw == delete the next 5 wordsRinse and repeat. Repeats the last command
Stuff to Get Into if We Have Time:help buffersSyntax highlightingCreating functions and macrosRefactoringSpell checking
Ultimate PowerFully scriptableOn the fly via commandsPlugin architectureBuilt in Regex engineReassign key commandsInteract with the command lineMacrosNo COM required to create extensions!
Navigating Code:help various-motionsCurrently “broken” for C# if you have a namespaceIt’s all just regex, so we can extend this to work with
Interacting With The Command Line:! <command> == execute a command (opens a new window):r ! <command> == read the output of the console operation into the current bufferHave a custom function in my _vimrc to print output in a new window
QuickFixQuickFix == list of search results with file navigation:copen or :cw " Open the quickfix window:ccl   " Close it:cn    " Go to the next error in the window:cnf   " Go to the first error in the next file:colder " Look at older results:cnewer" Look at newer resultsGlobal to all windows
QuickFix Example: Find In Files:vimgrep (or :grep if you have the actual program)Fills the QuickFix list:vimgrep /[pattern]/[g][j] {file}E.g. :vimgrep /public/j ./**/*.cs[g] == Include ALL results as separate lines[j] == Don’t jump to first resultCan also use :lvimgrep (or :lgrepif you have the actual program)Fills “location list” which is local to current windowUse :lw or :lopen to see this:lolder and :lnewer to navigate search result history
Building a Project:makeUses makeprg to tell what to executeMSBuild in my caseUses errorformat to parse build output for errorsRedirects errors to QuickFix windowEquivalent of Visual Studio’s build error list
Source Control IntegrationDidn’t we already cover this with command line integration????I’m using gitRunShellCommand to the rescue again!
MarkersBasically bookmarksSome set by Vim functionsCan be set by you:help mark-motions
TagsBuild them using Exuberant Tags (ctags.exe):tag <tagName>Jumps to a tag:tagsGives a list of all tagsCTRL-g == navigateg] == listSets a mark upon navigationAllows you to return to the same spot
Code CompletionSort of worksCan’t get it working like Intellisense with C#Works fine in C/C++/Java/Pretty much anything elseSeveral types of completionOmni CompletionIn File completionMany more..
ExtensionsHuge plugin communitySome samples:NERDTreeBasically Solution Explorer:TlistToggleClass view using Tags
Folding CodeYes, you can do itNo, I haven’t looked at itThink of this as an equivalent to #regionRegions are evilUseful when building pluginsNERDTree and TagList both use it
Next StepsGet “intellisense” working properlyOr just learn the BCL…Generate tags from BCL source codeTry to get command line debugging working via Shell calls and the Quickfix listStart creating refactoring and code generation functionsE.g. extract method, create controllerTake a look at http://vim.wikia.com/wiki/Vim_as_a_refactoring_tool_and_some_examples_in_C_sharp
Closing Thoughts

More Related Content

PPTX
Unity - NullReferenceException = ♥ / Aleksandr Kugushev (EPAM)
PPTX
Dot all 2019 | Testing with Craft | Giel Tettelar
PDF
ODP
Successful Joomla migrations that don't hurt Search Engine Rankings
PDF
BDD: Behind the Scenes
PDF
Golang #5: To Go or not to Go
PDF
Headless approach and acquia - case study | Codesushi
PDF
Intro to React
Unity - NullReferenceException = ♥ / Aleksandr Kugushev (EPAM)
Dot all 2019 | Testing with Craft | Giel Tettelar
Successful Joomla migrations that don't hurt Search Engine Rankings
BDD: Behind the Scenes
Golang #5: To Go or not to Go
Headless approach and acquia - case study | Codesushi
Intro to React

What's hot (19)

PPTX
A Piece of Cake - NDC Oslo 2016
PPTX
A Piece of Cake - DDD11 - Reading
PPTX
A Piece of Cake - DDD North
PPTX
PPTX
Having your cake, and eating it too!
PPTX
Having your cake, and eating it too! - DDDScotland
PDF
Introduction to saucelabs
PPTX
Typescript - a JS superset
PDF
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
PDF
Scripting Recipes for Testers
PDF
Building End-to-End Apps Using Typescript
PDF
Go Programming Language by Google
PDF
Daniel Steigerwald - Este.js - konec velkého Schizma
PDF
Fast end-to-end-tests
PDF
Testing and symfony2
PDF
NativeScript: mobile app. no webview.
PPT
Log4cpp - Updated - to verify modify updates
PPTX
Leveraging Continuous Integration For Fun And Profit!
PPSX
The new way to extend VSTS Build and Release
A Piece of Cake - NDC Oslo 2016
A Piece of Cake - DDD11 - Reading
A Piece of Cake - DDD North
Having your cake, and eating it too!
Having your cake, and eating it too! - DDDScotland
Introduction to saucelabs
Typescript - a JS superset
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
Scripting Recipes for Testers
Building End-to-End Apps Using Typescript
Go Programming Language by Google
Daniel Steigerwald - Este.js - konec velkého Schizma
Fast end-to-end-tests
Testing and symfony2
NativeScript: mobile app. no webview.
Log4cpp - Updated - to verify modify updates
Leveraging Continuous Integration For Fun And Profit!
The new way to extend VSTS Build and Release
Ad

Viewers also liked (10)

PPTX
Managing agricultural landscapes for ecosystem services, resilience and human...
PPS
Best Beauty tips from Audrey Hepburn
PPTX
Microsoft Integration Roadshow: Integration in Action
PPTX
2010 share point saturday deck enterprise office applications
PPT
Mdia3002 week 08 tute prep
PPTX
20111030 Perth SharePoint User Group - Building an Enterprise Mash-Up Platform
PPTX
Perth SharePoint Saturday 2011: The Many Faces of Workflow
PDF
The State of Content Management
PPTX
Alt dot net user group stop coding
PPT
ренессанс уткина и муратова
Managing agricultural landscapes for ecosystem services, resilience and human...
Best Beauty tips from Audrey Hepburn
Microsoft Integration Roadshow: Integration in Action
2010 share point saturday deck enterprise office applications
Mdia3002 week 08 tute prep
20111030 Perth SharePoint User Group - Building an Enterprise Mash-Up Platform
Perth SharePoint Saturday 2011: The Many Faces of Workflow
The State of Content Management
Alt dot net user group stop coding
ренессанс уткина и муратова
Ad

Similar to Alt Dot Net Usergroup: Does the world end if you stop using Visual Studio? (20)

PDF
Why Gradle?
PDF
You don't need plugin, Long live plugins
PDF
ZendCon 2015 - DevOps for Small Teams
PPT
Introduction to Software Development
PPTX
TypeScript - Silver Bullet for the Full-stack Developers
PDF
Madison PHP 2015 - DevOps For Small Teams
ODP
Novice Programmers Workshop
PDF
Midwest PHP 2017 DevOps For Small team
PDF
Tips and Tricks for Using Visual Studio.Net Effectively
PDF
How to create a joomla component from scratch
PDF
Why your build matters
PPTX
Autotools, Design Patterns and more
PDF
Professional JavaScript: AntiPatterns
PPTX
Debugging NET Applications With WinDBG
PDF
Writing native Linux desktop apps with JavaScript
PPTX
Joomla! Day Chicago 2011 Presentation - Steven Pignataro
PDF
Beginning development in go
ODP
Introducing Yeoman 1.0 beta
PDF
Grails beginners workshop
Why Gradle?
You don't need plugin, Long live plugins
ZendCon 2015 - DevOps for Small Teams
Introduction to Software Development
TypeScript - Silver Bullet for the Full-stack Developers
Madison PHP 2015 - DevOps For Small Teams
Novice Programmers Workshop
Midwest PHP 2017 DevOps For Small team
Tips and Tricks for Using Visual Studio.Net Effectively
How to create a joomla component from scratch
Why your build matters
Autotools, Design Patterns and more
Professional JavaScript: AntiPatterns
Debugging NET Applications With WinDBG
Writing native Linux desktop apps with JavaScript
Joomla! Day Chicago 2011 Presentation - Steven Pignataro
Beginning development in go
Introducing Yeoman 1.0 beta
Grails beginners workshop

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
Teaching material agriculture food technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
Reach Out and Touch Someone: Haptics and Empathic Computing
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
sap open course for s4hana steps from ECC to s4
The Rise and Fall of 3GPP – Time for a Sabbatical?
Chapter 3 Spatial Domain Image Processing.pdf
Understanding_Digital_Forensics_Presentation.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Teaching material agriculture food technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Big Data Technologies - Introduction.pptx
Spectral efficient network and resource selection model in 5G networks
Spectroscopy.pptx food analysis technology
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Digital-Transformation-Roadmap-for-Companies.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Unlocking AI with Model Context Protocol (MCP)

Alt Dot Net Usergroup: Does the world end if you stop using Visual Studio?

  • 1. Does the world end if you stop using Visual Studio?Hint: No.
  • 2. Who Am I?Garry StewartI do tehsoftwarezContact me garry.stewart@gmail.com@garry_stewarthttp://www.garry-stewart.com/
  • 3. IDE AddicitionGeneral text editingSyntax highlightingIntellisenseWYSIWYG EditorsVisualisation toolsCode generationBuild management & compilationCode navigationFile managementSource controlIntegrated debuggingEtc…
  • 4. This used to be Less Complicated, Right?
  • 5. So let’s All Develop In Notepad!
  • 7. Before We Start..Current directory is king%PATH% mattersCommand line tools are your friend
  • 8. There are these things called modes…Lots of different modesInsertVisualNormalAnd More!You will spend most of your time in Normal mode.You cannot enter text in this mode
  • 10. Basic Editing:help operator:help scrollingEverything has a count5dw == delete the next 5 wordsRinse and repeat. Repeats the last command
  • 11. Stuff to Get Into if We Have Time:help buffersSyntax highlightingCreating functions and macrosRefactoringSpell checking
  • 12. Ultimate PowerFully scriptableOn the fly via commandsPlugin architectureBuilt in Regex engineReassign key commandsInteract with the command lineMacrosNo COM required to create extensions!
  • 13. Navigating Code:help various-motionsCurrently “broken” for C# if you have a namespaceIt’s all just regex, so we can extend this to work with
  • 14. Interacting With The Command Line:! <command> == execute a command (opens a new window):r ! <command> == read the output of the console operation into the current bufferHave a custom function in my _vimrc to print output in a new window
  • 15. QuickFixQuickFix == list of search results with file navigation:copen or :cw " Open the quickfix window:ccl " Close it:cn " Go to the next error in the window:cnf " Go to the first error in the next file:colder " Look at older results:cnewer" Look at newer resultsGlobal to all windows
  • 16. QuickFix Example: Find In Files:vimgrep (or :grep if you have the actual program)Fills the QuickFix list:vimgrep /[pattern]/[g][j] {file}E.g. :vimgrep /public/j ./**/*.cs[g] == Include ALL results as separate lines[j] == Don’t jump to first resultCan also use :lvimgrep (or :lgrepif you have the actual program)Fills “location list” which is local to current windowUse :lw or :lopen to see this:lolder and :lnewer to navigate search result history
  • 17. Building a Project:makeUses makeprg to tell what to executeMSBuild in my caseUses errorformat to parse build output for errorsRedirects errors to QuickFix windowEquivalent of Visual Studio’s build error list
  • 18. Source Control IntegrationDidn’t we already cover this with command line integration????I’m using gitRunShellCommand to the rescue again!
  • 19. MarkersBasically bookmarksSome set by Vim functionsCan be set by you:help mark-motions
  • 20. TagsBuild them using Exuberant Tags (ctags.exe):tag <tagName>Jumps to a tag:tagsGives a list of all tagsCTRL-g == navigateg] == listSets a mark upon navigationAllows you to return to the same spot
  • 21. Code CompletionSort of worksCan’t get it working like Intellisense with C#Works fine in C/C++/Java/Pretty much anything elseSeveral types of completionOmni CompletionIn File completionMany more..
  • 22. ExtensionsHuge plugin communitySome samples:NERDTreeBasically Solution Explorer:TlistToggleClass view using Tags
  • 23. Folding CodeYes, you can do itNo, I haven’t looked at itThink of this as an equivalent to #regionRegions are evilUseful when building pluginsNERDTree and TagList both use it
  • 24. Next StepsGet “intellisense” working properlyOr just learn the BCL…Generate tags from BCL source codeTry to get command line debugging working via Shell calls and the Quickfix listStart creating refactoring and code generation functionsE.g. extract method, create controllerTake a look at http://vim.wikia.com/wiki/Vim_as_a_refactoring_tool_and_some_examples_in_C_sharp