Upgrade to Pro — share decks privately, control downloads, hide ads and more …

独自スクリプト言語の VS Code Snippet を作ってみた:CData API Script #vscodejp

独自スクリプト言語の VS Code Snippet を作ってみた:CData API Script #vscodejp

# Session Title

独自スクリプト言語の VS Code Snippet を作ってみた:CData API Script

# Event Info

[VS Code Meetup #1 - 初回基礎編](https://vscode.connpass.com/event/155068/)

2019/12/18(水)

Kazuya Sugimoto

December 18, 2019
Tweet

More Decks by Kazuya Sugimoto

Other Decks in Technology

Transcript

  1. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    独自スクリプト言語の VS Code Snippet を作ってみた
    CData API Script
    2019/12
    CData Software Japan
    Kazuya Sugimoto -Lead Engineer
    VS Code Meetup #1

    View full-size slide

  2. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    本日の資料
    http://bit.ly/cdatasnippet

    View full-size slide

  3. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    Speaker
    杉本 和也:Kazuya Sugimoto
    • 青森県・津軽出身:今日は仙台からやって来ました
    • CData Software Japan, LLC Lead Engineer
    • Microsoft MVP for Business Solution(Dynamics CRM/365)
    Blog:Morning Girl
    http://kageura.hatenadiary.jp/
    Twitter:@sugimomoto Facebook:sugimomoto

    View full-size slide

  4. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    About CData Software
    Bi-directional Access to Live App, Database, & Web API Data Through Standard Drivers
    ・CData Software, Inc. / Started: 1994 (/nsoftware)
    ・Location: Chapel Hill, NC a spin-off of /n software
    ・CData Japan: 2016/6 (JV with Infoteria)
    ・20年以上にわたりデータ関連コンポーネントを提供
    ・200+ 対応データソース
    ・「標準化によりAPI を使いやすく」をミッションに連携ツールを提供

    View full-size slide

  5. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    200+ のデータソースに接続できるライブラリ・コンポーネントを提供
    CRMおよびマーケティング自動化
    会計システム
    コラボレーションおよびERP
    オンプレミスおよびクラウドDB
    ドキュメントおよびファイル形式
    ソーシャルネットワーキング
    ネットワーキングおよび認証
    電子商取引
    その他

    View full-size slide

  6. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    最近仕事で大変なこと

    View full-size slide

  7. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    CDataで提供している製品 REST Driver
    その拡張のためのXMLコーディング
    これで30種類以上のクラウドサービス接続ドライバーをプロトタイプ

    View full-size slide

  8. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    XMLを拡張した、独自スクリプト言語
    CData API Script でカスタマイズ
    変数定義から連想配列、IF文、ループ処理、バリデーション、Try Catch機構から、
    文字列・日付・算術操作用の関数まで充実した機能を提供

    View full-size slide

  9. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    面白いんだけど、独自言語によるつらみが
    構文・関数は全部ヘルプ
    からコピペして手直し
    変数の定義が多いのだけ
    ど、毎回違うファイルか
    らコピペ
    IF文、XMLエレメントの
    ネストが強くて、
    書きづらい

    View full-size slide

  10. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    そんな時見つけた・・・!

    View full-size slide

  11. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    Visual Studio Code 徹底解説!
    結構簡単に Snippet が作れるらしい!
    この本で紹介されてるよ!
    みんな買ってね!

    View full-size slide

  12. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    Snippet って何?
    繰り返し使う条件ステートメントやループ、何度も使う
    コード・一連の処理などを登録しておいて、入力を安
    易にするためのテンプレートセットのことを指す。
    https://code.visualstudio.com/docs/editor/userdefinedsnippets
    Snippets in Visual Studio Code

    View full-size slide

  13. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    こんな感じで、シンプルなJSONで定義可能

    View full-size slide

  14. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    これを使えばめちゃくちゃ効率良く
    開発できるんじゃないか!?

    View full-size slide

  15. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    これだっきゃ わが なんとかしねば まいね!
    (訳:これは私がなんとかしないといけません)

    View full-size slide

  16. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    作り方

    View full-size slide

  17. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    HTMLのヘルプファイルをスクレイピング!
    最終的に Snippet の JSON として出力!
    全部の関数、制御構文が
    掲載されているHTML
    Snippet JSONファイル
    として生成

    View full-size slide

  18. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    200個近く定義がある Snippet ファイルが完成!
    1200行あってエグい

    View full-size slide

  19. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    実際に使っているデモ(GIF)
    https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/sugimototest/snippet.gif

    View full-size slide

  20. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    作った Snippet は Github で公開中!
    (需要があるかはわからない)

    View full-size slide

  21. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    まとめ
    VS Code Snippet は簡単に作れて、簡単に使える!
    Snippet は 既存のプログラミング言語を拡張する以外にも
    使い道があるよ!

    View full-size slide

  22. © 2018 CData Software Japan, LLC | www.cdata.com/jp
    Thanks!
    http://bit.ly/cdatasnippet

    View full-size slide