git clone git@github.com:ethanppl/devtime-vscode.git
cd devtime-vscode
yarn install
code .
Then press F5, vscode should open a new vscode window with the extension loaded. Click the calendar at the sidebar to see the data.
After making some changes in the extension folder, reload the vscode window to see the changes.
After making some changes in the app folder, close and reopen the webview to see the changes. No need to reload the whole window.
Structure
app
A react application for display. Webpack with config in webpack-app.config.js will compile the application as dist/app/bundle.js. The app interacts with the extension by posting messages with the vscode API.
extension
All the extension services are in the extension folder, e.g. authentication, subscriptions to triggers, sidebar provider and GraphQL client. The sidebar provider creates a sidebar and import the UI from dist/app/bundle.js.
common
Files shared between app and extension, likely utility classes and type definitions.