73
< PHP /-º Visual Studio Code ×Ð 2016/08/27 ōŝ他 Shengyou Fan Community Open Camp

[Community Open Camp] 給 PHP 開發者的 VS Code 指南

Embed Size (px)

Citation preview

Page 1: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code

2016/08/27

他(Shengyou(Fan

Community(Open(Camp

Page 2: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

范聖佑@shengyou http://shengyoufan.com https://www.facebook.com/shengyoufan

得寬科技 研究員 Laravel 台灣 傳教士 Laravel 道場 作者

Page 3: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Laravel http://www.laravelCdojo.com/

Page 4: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Laravel 中 ⽣生

2016.03

多2016.01

在2015.07

下2014.12

2015.05

多2015.12

多2016.02

Page 5: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Laravel 中 ⽣生

2016.07

快 ⼤大

2016.08

和分多

Page 6: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

以能 道

Page 7: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

以能 道

Page 8: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

Page 9: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

(′ ‵ )

Page 10: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

以能 過

����

( ⼀一 )

Page 11: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

以能 …

點 點⽤用 點

Page 12: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

⼀一 以能• PHP

- (Syntax Highlight)

- ⼀一 (Code Block/Snippets)

-

- 不- 會 你

- 以-

Page 13: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Editor IDE

Page 14: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

• Microsoft 以能• Electron • 點 你• ⽤用 點 點• 微 個 要

也 v1.4

https://code.visualstudio.com/

Visual Studio Code

Page 15: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

• 2016/05 開- Visual Studio Code

- wagon + VS Code 時 Windows PHP/Laravel 就

- wagon + VS Code

Page 16: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

• 國• 新• wagon 可•

Page 17: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

2 國• 吧 Ctrl + P

• 有 Ctrl + Shift + P

Page 18: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

吧吧 國

Ctrl + P

Page 19: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

有國

Ctrl + Shift + P

Page 20: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Page 21: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

國• 國

- https://code.visualstudio.com/docs/customization/keybindings

Page 22: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

新 VS Code• 個

- VS Code 對•

- ⽤用 新•

- 沒 新- .vscode 來 這

Page 23: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

以能 吧

Page 24: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

了吧• 吧 了吧 Ctrl + S

{(((((//(Controls(auto(save(of(dirty(files.(Accepted(values:(("off",("afterDelay",("onFocusChange".(If(set(to("afterDelay"(you(can(configure(the(delay(in("files.autoSaveDelay".((((("files.autoSave":("off",(

((((//(Controls(the(delay(in(ms(after(which(a(dirty(file(is(saved(automatically.(Only(applies(when("files.autoSave"(is(set(to("afterDelay"((((("files.autoSaveDelay":(1000(}

onFocusChange

Page 25: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

以能 成• 出 麼 以能 ⼈人

{(((((//(Zoom(the(font(of(the(editor(when(using(mouse(wheel(and(holding(Ctrl((((("editor.mouseWheelZoom":(false,(} true

VS Code 成 Ctrl + + Ctrl + -

Page 26: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

⼀一 成• 事

{(((((//(Controls(whether(the(editor(should(render(indent(guides((((("editor.renderIndentGuides":(false,(} true

Page 27: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

VS Code

http://hz.edushi.com/bang/info/4-109-n3038834.html

VS Code wagon

Page 28: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

git.exe php.exe

Page 29: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

git.exe php.exe

Page 30: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

• Laravel 中 ⽣生 只• Cmder點UwAmp點git點Composer

你• 就 點port • 點 點 ⾃自成 事• 就 事

也 v1.3.0

http://www.laravel-dojo.com/opensource/wagon

wagon

Page 31: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

就 PATH

Page 32: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

• VS Code $SHELL %COMSPEC% Console Git Bash

新 Cmd

{(//(Integrated(Terminal(

((((//(The(path(of(the(shell(that(the(terminal(uses(on(Windows.(((("terminal.integrated.shell.windows":("C:\\Windo...\cmd.exe"(}

wagon\\git\\bin\\bash.exe

Page 33: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Terminal

Ctrl + `

Page 34: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

⼀一

Page 35: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

https://marketplace.visualstudio.com/VSCode

Page 36: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

VS Code PHP 你

Page 37: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

VS Code PHP 微• VS Code

• ⼀一•

Page 38: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

微 PHP ⼀一

Page 39: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

⼀一

微 code block (snippets) ⼀一

Page 40: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

PHP 的

Page 41: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Page 42: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

• 不• 不 了吧

PHP 不

{(//(PHP(

((((//(Whether(php(validation(is(enabled(or(not.((((("php.validate.enable":(true,(

((((//(Points(to(the(php(executable.((((("php.validate.executablePath":(null,(

((((//(Whether(the(linter(is(run(on(save(or(on(type.((((("php.validate.run":("onSave"(} onType

Page 43: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Problem

⽤用吧

Page 44: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

PHP • 以能

- EditorConfig

- Composer

- PHP Symbols

- Crane

- Search Docsets

Page 45: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

EditorConfig for VS Code;(.editorconfig(

root(=(true(

[*](charset(=(utfC8(indent_size(=(4(indent_style(=(space(end_of_line(=(lf(insert_final_newline(=(true(trim_trailing_whitespace(=(true(

[package.json](indent_size(=(2(trim_trailing_whitespace(=(true(

[*.md](trim_trailing_whitespace(=(false

Page 46: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Composer• PATH PHP interpreter

• Composer 是{(//(Composer(Dependency(Manager(for(PHP(Configuration(

((((//(Is(composer(enabled.((((("composer.enabled":(true,(

((((//(Path(to(the(composer(executable.((((("composer.executablePath":(null(}

"wagon\\composer\\composer.bat"

Page 47: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Composer

Page 48: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Crane

Page 49: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

PHP Symbols

Page 50: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Search Docsets

Shift + F1

Zeal https://zealdocs.org/

Page 51: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Laravel ⼀一• Laravel ⼀一 都

- Laravel 5 Snippets

- Laravel Blade Snippets

說 Winnie Lin 事

Page 52: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Laravel 5 Snippets

Page 53: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Laravel Blade Snippets

Page 54: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

PHP • 上情 發

- echo (!) + exit

- print_r() + exit

- var_dump() + exit

• Laravel 會

- dd() ( Symfony VarDumper)

Page 55: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

recca0120/laravelCtracy

• Laravel Recca 讓 Debug

• Nette Framework Tracy

• Laravel

- Exception 好- 的 會- 以能 URL Handler

- artisan (Laravel 的) https://github.com/recca0120/laravel-tracy

Page 56: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Package• Composer

• 以能 composer.json

$(composer(require(recca0120/laravelCtracy(

{((((("require":({((((((((("recca0120/laravelCtracy":("^1.7"(((((}(}

$(composer(update

Page 57: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

//(index.php(<?php(

require(__DIR__(.('/vendor/autoload.php';(

use(Recca0120\LaravelTracy\Tracy;(

Tracy::instance();

Page 58: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Laravel• Service Provider

• 也 config

//(config/app.php('providers'(=>([(((((//(...(((((Recca0120\LaravelTracy\ServiceProvider::class,(((((//(...(];

$([php](artisan(vendor:publish(\((CCprovider="Recca0120\LaravelTracy\ServiceProvider"

Page 59: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Laravel

Page 60: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

editor

//(config/tracy.php(<?php(

return([((((('enabled'(=>(true,((((('showBar'(=>(true,((((('accepts'(=>([((((((((('text/html',(((((],((((('editor'(=>('vscode://open?url=file://%file&line=%line',((((('panels'(=>([((((((((('{name}'(=>({boolean},(((((],(];

Page 61: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

VS Code URL Handlerhttps://github.com/shengyou/vscodeChandler

Page 62: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

點 吧 國 事

Page 63: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

breakpoint 道 debug道

- 還 Oomusouhttp://oomusou.io/(

Page 64: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

PHP 到 道• 不 Debug PHP

• PHP Debug VS Code 微 到 會

Page 65: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

XDebug • UwAmp XDebug Remote Auto Start

Page 66: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

XDebug • UwAmp XDebug Remote Enable

Page 67: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

launch.json{((((("version":("0.2.0",((((("configurations":([((((((((({((((((((((((("name":("Listen(for(XDebug",((((((((((((("type":("php",((((((((((((("request":("launch",((((((((((((("port":(9000(((((((((},((((((((({((((((((((((("name":("Launch(currently(open(script",((((((((((((("type":("php",((((((((((((("request":("launch",((((((((((((("program":("${file}",((((((((((((("cwd":("${fileDirname}",((((((((((((("port":(9000(((((((((}(((((](}

Page 68: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Page 69: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

道http://goo.gl/9Y7yR2

Page 70: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

PHP Visual Studio Code Microsoft Community Open Camp

Visual Studio Code Settings Sync

• gist 吧了

Page 71: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

https://github.com/shengyou/vscodeChandler

vscode-handler 道 事

Page 72: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

https://github.com/laravelCdojo/wagon

wagon 道 事

Page 73: [Community Open Camp] 給 PHP 開發者的 VS Code 指南

Q & A