SlideShare une entreprise Scribd logo
1  sur  19
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
Everything is
Awesome
…when you’re using
Visual Studio Code
Mike Branstein
@mikebranstein
https://brosteins.com
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
• https://brosteins.com
• https://github.com/mikebranstein
• @mikebranstein
• @brosteins
• @kizantech
2
Where to Find Me
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
3
Father of the Year?
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
Everything is
Awesome
…when you’re using
Visual Studio Code
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
5
Why is Visual Studio Awesome?
Powerful IDE Integrated Debugging Team CollaborationExtensibility
Multiple Languages
IntelliSense
Code Lens
F5 Debug
Remote Debugging
IntelliTrace
TFS / VSTS
TFVC
Git
Add-ins
Extensions
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
• Next Generation Editor with smarts – it’s NOT an IDE
• When you need something fast – loads in a second
• Cross-platform (Windows, OS X, Linux)
• Simple, yet Powerful
• Editor, with Multi-Language Support
• Debugger
• Integrated Source Control Management
• Integrated Task Runner
• Freedom from a 1 GB+ download and 2 hour install - VS Code is 28MB
6
What is Visual Studio Code?
Why Another Editor?
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
• Electron Framework
• Open-source framework developed by GitHub
• Build Desktop/GUI apps with Node.js
• Write in JavaScript, HTML, CSS
• Notable Editors using Electron
• GitHub’s Atom Editor
• Visual Studio Code
• VS Code is NOT a fork of the Atom Editor (although commonly believed)
7
Cross-Platform…Windows, OS X, & Linux?
How’d They Do That?
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
8
Why Everything IS Awesome
Layout
Command Line
Command Palette
Editing Basics & Tasks
Advanced Editing
VS Code for VS
Lovers
Debugging
Customization
Extensibility
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
9
Master Builders Should Know the UI
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
10
Command Line Interfaces Make me
Happy!
Argument Description
-r open, using last active window
-n open, using new window
-g used with file:line:column, opens file at line and
(optional) column position
file open, if file doesn’t exist, creates the file
file:line:column used with –g, opens file at line and (optional)
column position
folder name of folder to open
Run VS Code from the CLI, using “code”, with
arguments:
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
• Search: Ctrl + P
• Commands: Ctrl + Shift + P
11
Master Builders Use the Command Palette
Command Palette = Chrome Omnibox
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
12
Editing Code
Working Files
Accordion UI
Auto Save
Side-by-Side
Editing
Language-specific
UI
Command Palette
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
13
Follow the Plan by Running Tasks
• Gulp, Make, Ant, MSBuild, Jake, & Rake
Run Tasks from the Command
Palette
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
• Emmet (http://emmet.io)
• Multi Cursor
• Content-aware Selection
14
Advanced Editing
Increase your Efficiency with these shortcuts
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
• IntelliSense
• Snippets
• Goto & Peek
• Group Text Movement
15
For the Visual Studio Fans
The best of VS is in VS Code
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
• Node.js or Mono Debugging
• Launching the Debugger
• Debugging Profiles
• Shortcut Keys
16
Debugging
VS Code has a Built-in Debugger
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
• Change Color Themes (…as long at it’s Black or Dark Grey)
• User Settings
• Workspace Settings
• Custom Key Bindings
17
Customizing the Editor
Make VS Code Look and Feel Just Right
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
18
Extending VS Code
Additional guides on writing VS Code extensions can be found at https://code.visualstudio.com/docs
Step 1
Step 2
Step 3
npm install –g yo generator-code
yo code
cd extension-directory
code . -n
“F5” debug
Command Palette: “Hello World”
Mike Branstein
@mikebranstein
brosteins.com / KiZAN.com
Thank You For Attending!
Twitter @mikebranstein Mail mike@brosteins.com Web brosteins.com & KiZAN.com

Contenu connexe

Plus de Mike Branstein

IoT Workshop - Waukesha
IoT Workshop - WaukeshaIoT Workshop - Waukesha
IoT Workshop - WaukeshaMike Branstein
 
IoT Workshop Indianapolis
IoT Workshop IndianapolisIoT Workshop Indianapolis
IoT Workshop IndianapolisMike Branstein
 
IoT Workshop Cincinnati
IoT Workshop CincinnatiIoT Workshop Cincinnati
IoT Workshop CincinnatiMike Branstein
 
IoT Workshop Nashville
IoT Workshop NashvilleIoT Workshop Nashville
IoT Workshop NashvilleMike Branstein
 
IoT Workshop Louisville
IoT Workshop LouisvilleIoT Workshop Louisville
IoT Workshop LouisvilleMike Branstein
 

Plus de Mike Branstein (7)

IoT Workshop Chicago
IoT Workshop ChicagoIoT Workshop Chicago
IoT Workshop Chicago
 
IoT Workshop - Waukesha
IoT Workshop - WaukeshaIoT Workshop - Waukesha
IoT Workshop - Waukesha
 
IoT Workshop Indianapolis
IoT Workshop IndianapolisIoT Workshop Indianapolis
IoT Workshop Indianapolis
 
IoT Workshop Cincinnati
IoT Workshop CincinnatiIoT Workshop Cincinnati
IoT Workshop Cincinnati
 
IoT Workshop Nashville
IoT Workshop NashvilleIoT Workshop Nashville
IoT Workshop Nashville
 
IoT Workshop Louisville
IoT Workshop LouisvilleIoT Workshop Louisville
IoT Workshop Louisville
 
Iot Workshop Columbus
Iot Workshop ColumbusIot Workshop Columbus
Iot Workshop Columbus
 

Dernier

Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 

Dernier (20)

Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 

Everything is Awesome with VS Code

  • 1. Mike Branstein @mikebranstein brosteins.com / KiZAN.com Everything is Awesome …when you’re using Visual Studio Code Mike Branstein @mikebranstein https://brosteins.com
  • 2. Mike Branstein @mikebranstein brosteins.com / KiZAN.com • https://brosteins.com • https://github.com/mikebranstein • @mikebranstein • @brosteins • @kizantech 2 Where to Find Me
  • 3. Mike Branstein @mikebranstein brosteins.com / KiZAN.com 3 Father of the Year?
  • 4. Mike Branstein @mikebranstein brosteins.com / KiZAN.com Everything is Awesome …when you’re using Visual Studio Code
  • 5. Mike Branstein @mikebranstein brosteins.com / KiZAN.com 5 Why is Visual Studio Awesome? Powerful IDE Integrated Debugging Team CollaborationExtensibility Multiple Languages IntelliSense Code Lens F5 Debug Remote Debugging IntelliTrace TFS / VSTS TFVC Git Add-ins Extensions
  • 6. Mike Branstein @mikebranstein brosteins.com / KiZAN.com • Next Generation Editor with smarts – it’s NOT an IDE • When you need something fast – loads in a second • Cross-platform (Windows, OS X, Linux) • Simple, yet Powerful • Editor, with Multi-Language Support • Debugger • Integrated Source Control Management • Integrated Task Runner • Freedom from a 1 GB+ download and 2 hour install - VS Code is 28MB 6 What is Visual Studio Code? Why Another Editor?
  • 7. Mike Branstein @mikebranstein brosteins.com / KiZAN.com • Electron Framework • Open-source framework developed by GitHub • Build Desktop/GUI apps with Node.js • Write in JavaScript, HTML, CSS • Notable Editors using Electron • GitHub’s Atom Editor • Visual Studio Code • VS Code is NOT a fork of the Atom Editor (although commonly believed) 7 Cross-Platform…Windows, OS X, & Linux? How’d They Do That?
  • 8. Mike Branstein @mikebranstein brosteins.com / KiZAN.com 8 Why Everything IS Awesome Layout Command Line Command Palette Editing Basics & Tasks Advanced Editing VS Code for VS Lovers Debugging Customization Extensibility
  • 9. Mike Branstein @mikebranstein brosteins.com / KiZAN.com 9 Master Builders Should Know the UI
  • 10. Mike Branstein @mikebranstein brosteins.com / KiZAN.com 10 Command Line Interfaces Make me Happy! Argument Description -r open, using last active window -n open, using new window -g used with file:line:column, opens file at line and (optional) column position file open, if file doesn’t exist, creates the file file:line:column used with –g, opens file at line and (optional) column position folder name of folder to open Run VS Code from the CLI, using “code”, with arguments:
  • 11. Mike Branstein @mikebranstein brosteins.com / KiZAN.com • Search: Ctrl + P • Commands: Ctrl + Shift + P 11 Master Builders Use the Command Palette Command Palette = Chrome Omnibox
  • 12. Mike Branstein @mikebranstein brosteins.com / KiZAN.com 12 Editing Code Working Files Accordion UI Auto Save Side-by-Side Editing Language-specific UI Command Palette
  • 13. Mike Branstein @mikebranstein brosteins.com / KiZAN.com 13 Follow the Plan by Running Tasks • Gulp, Make, Ant, MSBuild, Jake, & Rake Run Tasks from the Command Palette
  • 14. Mike Branstein @mikebranstein brosteins.com / KiZAN.com • Emmet (http://emmet.io) • Multi Cursor • Content-aware Selection 14 Advanced Editing Increase your Efficiency with these shortcuts
  • 15. Mike Branstein @mikebranstein brosteins.com / KiZAN.com • IntelliSense • Snippets • Goto & Peek • Group Text Movement 15 For the Visual Studio Fans The best of VS is in VS Code
  • 16. Mike Branstein @mikebranstein brosteins.com / KiZAN.com • Node.js or Mono Debugging • Launching the Debugger • Debugging Profiles • Shortcut Keys 16 Debugging VS Code has a Built-in Debugger
  • 17. Mike Branstein @mikebranstein brosteins.com / KiZAN.com • Change Color Themes (…as long at it’s Black or Dark Grey) • User Settings • Workspace Settings • Custom Key Bindings 17 Customizing the Editor Make VS Code Look and Feel Just Right
  • 18. Mike Branstein @mikebranstein brosteins.com / KiZAN.com 18 Extending VS Code Additional guides on writing VS Code extensions can be found at https://code.visualstudio.com/docs Step 1 Step 2 Step 3 npm install –g yo generator-code yo code cd extension-directory code . -n “F5” debug Command Palette: “Hello World”
  • 19. Mike Branstein @mikebranstein brosteins.com / KiZAN.com Thank You For Attending! Twitter @mikebranstein Mail mike@brosteins.com Web brosteins.com & KiZAN.com

Notes de l'éditeur

  1. Thank you for attending. It’s been one year – to the day. VS Code was unleashed. Truthfully, when I sat at //build last year, I didn’t think VS Code that big of a deal, but over the last year, I’ve come to love VS code. What I want you to get out of this talk is the basics of VS code, and the courage to download and try it for a few days. Then , tell me what you think.
  2. Where to find me… So, I was inspired recently. Now, I got really excited about Lego a few months ago, b/c my oldest son turned 4. For some reason, I thought a 4-yo could assemble a 2800-piece lego movie replica of the Sea Cow – that sweet pirate ship that metal beard flys. Why not, right?
  3. So…this was a seriously bad idea. Here’s some advice – 4 yo’s don’t quite have the dexterity or finger strength to pick up teeny tiny pieces. So, the father of the year award almost immediately became, per my wife, loser husband of the year. Now, to compound things, I wanted this to be a project my son built. Not me. (Although, let’s be real for a minute – this is a pretty sweet toy for dad…) Then, something strange happened. After about a week, all the pieces just fit together – he got better at reading the directions, looking at the pictures, finding the pieces, and putting it together.
  4. …and then everything was awesome again! Back to the inspiration – I like projects like the Sea Cow, because there’s so much to learn, and that’s why I picked up Visual Studio Code about 6 months ago. It’s new, and challenging. It challenges my brain because it’s different. I’m a huge creature of habit. As I get older, I’m really a grumpy old man in his 30’s. But to get better and grow, I know I need to challenge myself. So VS Code was my way of challenging myself. And I’m glad I did.
  5. So let’s start with Visual Studio – why do we love VS as .NET developers?
  6. For all those reasons, we love Visual Studio. But what’s this stuff about Visual Studio Code? I’ve already got VS? Why do I need something else?
  7. So, let’s talk about how the VS Code team pulled this off.
  8. Today, we’re going to be exploring a variety of different reasons why VS Code is awesome. By the end, we’ll have actually written an extension for VS Code. That brings us back full-circle – last year at CodePaLOUsa, //build was also happening, Sataya Nadela talked about today’s Microsoft being a different Microsoft. They’re paying attention to open source and the development community. In fact, this isn’t just a Microsoft thing, but it’s a community thing – organizations in Louisville have figured it out- Treehouse, The Learning House, Code Louisville, and the Software Guild – they’re all dedicating resources to making it cool to be a developer. And that makes me happy. Let’s talk about the Layout/UI of VS Code.
  9. Ending…what’s important to see here – it’s incredibly simplistic, yet elegant. These are the basics – that’s it and that’s all. There’s no VS cruft here – just the basics.
  10. If you’re a modern developer, you’re probably not spending a lot of time in GUIs, and you may be very familiar with the command line. That’s ok, and in fact, I think it’s more efficient. So, I think it’s important to highlight the CLI commands.
  11. One of my favorite aspects of Chrome and other modern browsers is their ability to know exactly what I want – through the use of the Omnibox. I type in something and the system knows what I want.
  12. "You've already how to open files, but there's more. Let’s take a look”
  13. In VS Code, there is deep integration with command-line task runners. Let’s take a look. I’m running gulp in my project. Share Sample project – John Papa HotTowel – an opinionated way of writing Angular projects. It uses Yeoman to scaffold out a sample project, which is what I’m using for this demo.
  14. After our short detour to task runners, let’s come back to editing. The best person to help us here is Emmet, b/c VS Code leverages the Emmet.io project to help increase our efficiency in writing code. So let’s take a look at Emmet.io in action, plus some other cool features.
  15. VS Code offers a rich debugging environment similar to that of Visual Studio, but you can debug Node.js and Mono apps.
  16. There are several things you can do to VS Code to make it your own
  17. Extensions are the final area we’re going to look at tonight – they allow you to create you own functionality in VS Code. There are some pre-reqs.