Intro to JavaScript Tooling in Visual Studio Code

30
Intro to JavaScript Tooling in Visual Studio Code @scott_addie

Transcript of Intro to JavaScript Tooling in Visual Studio Code

Page 1: Intro to JavaScript Tooling in Visual Studio Code

Intro to JavaScript Tooling in Visual Studio Code

@scott_addie

Page 2: Intro to JavaScript Tooling in Visual Studio Code

2

About VS Code

Launched on April 29, 2015 at //Build/ conference Current = v1.2.1 Free product Lightweight Microsoft’s 1st cross-platform code editor

Page 3: Intro to JavaScript Tooling in Visual Studio Code

3

Based on GitHub’s Electron shell Designed by engineers who created:

Eclipse @ IBM Monaco @ Microsoft

Built w/ web technologies

About VS Code (cont.)

IDEText Editor

Page 4: Intro to JavaScript Tooling in Visual Studio Code

4

Instead of making them [Linux and Mac developers] go to Windows, we want to meet them where they are.

S. “Soma” Somasegar – Microsoft - Corporate VP of Developer Division

Quote retrieved from http://tcrn.ch/1PwSw1r

Page 5: Intro to JavaScript Tooling in Visual Studio Code

5

Git Repo Branch

Command Palette

Git Tools

Debugger

File Search

File Explorer

Output Window

Page 6: Intro to JavaScript Tooling in Visual Studio Code

6

Extensibilitymarketplace.visualstudio.com/vscode

Page 7: Intro to JavaScript Tooling in Visual Studio Code

7

Page 8: Intro to JavaScript Tooling in Visual Studio Code

8

4 Notable JSON Configuration Files

File Name Location Common Usesjsconfig.json Project root or subfolder Enable ECMAScript version

supportlaunch.json .vscode/ Debugger configurationsettings.json .vscode/ - or - %APPDATA%\Code\

User\Override editor settings

tasks.json .vscode/ Define custom tasks to run w/ built-in task runner

Page 9: Intro to JavaScript Tooling in Visual Studio Code

9

1. jsconfig.json

Page 10: Intro to JavaScript Tooling in Visual Studio Code

10

2. launch.json

Page 11: Intro to JavaScript Tooling in Visual Studio Code

11

3. settings.json

Page 12: Intro to JavaScript Tooling in Visual Studio Code

12

4. tasks.json

Page 14: Intro to JavaScript Tooling in Visual Studio Code

14

package.json Schema Support

Page 15: Intro to JavaScript Tooling in Visual Studio Code

15

Library / Framework IntelliSense

Reliance on type definitions Deprecated: TSD Shiny: Typings

> npm install –g typings

*.d.ts files provide metadata to editor Angular, Gulp, React, etc.

Page 16: Intro to JavaScript Tooling in Visual Studio Code

16

Enable IntelliSense via tsd

Page 17: Intro to JavaScript Tooling in Visual Studio Code

17

Enable IntelliSense via typings

Page 18: Intro to JavaScript Tooling in Visual Studio Code

18

IntelliSense in Action

Page 19: Intro to JavaScript Tooling in Visual Studio Code

19

let demo = + ;DemoAdding Node.js & Webpack Type Definitions

Page 20: Intro to JavaScript Tooling in Visual Studio Code

20

JS Task Runners

Command Palette Discoverable Launchable

1st class support for: Grunt Gulp Jake

Terminate running tasks: >Tasks: Terminate Running Task

>Tasks: Run Task

Page 21: Intro to JavaScript Tooling in Visual Studio Code

21

Task Output

Page 22: Intro to JavaScript Tooling in Visual Studio Code

22

let demo = + ;DemoDiscovering, Launching, & Debugging Gulp Tasks

Page 23: Intro to JavaScript Tooling in Visual Studio Code

23

Native Task Runner

VS Code has its own task runner

Integrate w/ 3rd party tools: Babel Webpack etc.

isBuildCommand property ties to Shift + Ctrl + B gesture isTestCommand property ties to Shift + Ctrl + T gesture

Page 24: Intro to JavaScript Tooling in Visual Studio Code

24

Babel Transpilation Tasktasks.json

Page 25: Intro to JavaScript Tooling in Visual Studio Code

25

let demo = + ;DemoRunning Custom Webpack Build Task

Page 26: Intro to JavaScript Tooling in Visual Studio Code

26

Node.js Debugginglaunch.json

Default launch configuration provided:

Page 27: Intro to JavaScript Tooling in Visual Studio Code

27

Node.js Debugging (cont.)

3 easy steps:1. Configure launch.json for Node.js debugging2. Launch Node.js program:

node --debug-brk program.js

3. Attach VS Code debugger to running program

--debug and --debug-brk supported --debug-brk stops on 1st line of program

Page 28: Intro to JavaScript Tooling in Visual Studio Code

28

let demo = + ;DemoDebugging Mocha Unit Tests: Attach to Node Process

Page 29: Intro to JavaScript Tooling in Visual Studio Code

29

Resources

Best of VS Code: Tips and Tricks Build 2016 session

VS Code Docs

VS Code Source on GitHub

Visual Studio Code John Papa, Pluralsight course

VS Code ES6 Sample Project