July 21 2024

July 21 2024

Meeting Minutes

  • Packaging a VSCode plugin:

    • VSCode introduced new parameters in package.json file.

    • Package bundler would reduce the time to compile.

    • vsce package  command was used to create the package.

    • vsix (extension) file is the final output.

    • Install from vsix for local installation.

  • Adding new buttons to the explorer:

    • Create a new views → Explorer → new view with an ID in the package.json.

    • Define the commands and the title (icon).

    • Possible to hide buttons when minimized and not the current view.

    • activate  is like an entry point for the extension. UI is controlled by the view in the package.json.

    • Upon trying to create a new package from the code, there is an error because of the default README.md file.

    • Option to overwrite the README.md is introduced in newer vsce.

    • A repository field in package.json and LICENSE is missing – warnings.

  • For the debugger:

    • Mock debugger in VSCode.

    • Run the debugger and simulate the debugging screen.

    • DAP is a debugger protocol for debugging.

    • DAP protocol has interfaces to implement that we shall run.

    • There are commands, events that we can run.

    • Download the mock debugger extension.

    • tasks.json file.

  • Side panel menu:

    • view under the activityBar in package.json

    • views and viewContainer.

    • viewContainer has png image of the view.

    • In the code extension.ts, provide the classes.

    • WebviewViewProvider, register to the activate to the vscode.window.

    • resolveWebviewView method for override.

TODO

  • Use Golang debugger DAP/Java debugger DAP.

  • Call a method before the go debugging screen loads (or is ready).

    • Print "hello".

    • Connect the chaincode to the running Fabric network.

    • If Fabric network is not running, then bring up one using fabric-samples or other means.

    • Example: ./network.sh up  before the debugger loads.

  • Pass arguments when debug session starts.

    • Task: Passing arguments for any arbitrary code.

    • Example: Chaincode invoke calls.

    • Understanding how to pass arguments to the chaincode is crucial because chaincode does not run without an argument.

Attendees

Varsha Pichandi

Claudia Emmanuel

Kent Lau

Chinmayi D S

Arun S M