DevCycle VSCode Extension
August 17, 2023 · View on GitHub
TLDR (Quick Start)
- Run
yarnto install packages - Install webpack matcher for VSCode
- Press
F5(Run > Start Debugging) to run the extension in the new window - Follow the login steps from the side bar (EXPLORER > DEVCYCLE) in the extension window
- After the login steps, you should see your feature flags info on the side bar
- You can check the
commandsinpackage.jsonand run from the command palette by pressing (Ctrl+Shift+PorCmd+Shift+Pon Mac) and type the commands withDevCycleprefix
What's in the folder
- This folder contains all of the files necessary for your extension.
package.json- this is the manifest file in which you declare your extension and command.- The sample plugin registers a command and defines its title and command name. With this information VS Code can show the command in the command palette. It doesn’t yet need to load the plugin.
src/extension.ts- this is the main file where you will provide the implementation of your command.- The file exports one function,
activate, which is called the very first time your extension is activated (in this case by executing the command). Inside theactivatefunction we callregisterCommand. - We pass the function containing the implementation of the command as the second parameter to
registerCommand.
- The file exports one function,
Get up and running straight away
- To get the development environment to build locally properly, you must install a problem matcher for webpack, e.g. this one.
- Press
F5to open a new window with your extension loaded. - Run your command from the command palette by pressing (
Ctrl+Shift+PorCmd+Shift+Pon Mac) and typingHello World. - Set breakpoints in your code inside
src/extension.tsto debug your extension. - Find output from your extension in the debug console.
Make changes
- You can relaunch the extension from the debug toolbar after changing code in
src/extension.ts. - You can also reload (
Ctrl+RorCmd+Ron Mac) the VS Code window with your extension to load your changes.
Explore the API
- You can open the full set of our API when you open the file
node_modules/@types/vscode/index.d.ts.
Run tests
- Open the debug viewlet (
Ctrl+Shift+DorCmd+Shift+Don Mac) and from the launch configuration dropdown pickExtension Tests. - Press
F5to run the tests in a new window with your extension loaded. - See the output of the test result in the debug console.
- Make changes to
src/test/suite/extension.test.tsor create new test files inside thetest/suitefolder.- The provided test runner will only consider files matching the name pattern
**.test.ts. - You can create folders inside the
testfolder to structure your tests any way you want.
- The provided test runner will only consider files matching the name pattern
Go further
- Reduce the extension size and improve the startup time by bundling your extension.
- Publish your extension on the VSCode extension marketplace.
- Automate builds by setting up Continuous Integration.
[Internal] RudderStack setup
- In order to track events during development, you will need to get an authorization token from RudderStack.
- Go to RudderStack and login with the credentials stored in 1Password
- Go to
Sourcesand select theVS Code Extensionsource - On the
Setuptab, copy theWrite Key - Go to a Basic Authentication Header Generator to generate a token.
- Use the
Write Keyas the username and leave the password blank - Copy the generated token and paste it in
src/analytics.ts(if this file does not exist, run the extension and it should be automatically generated for you) as the value of theRUDDERSTACK_KEYvariable
CLI Version
- If a change is made that requires updating the minimum required devcycle CLI version, be sure to update the
CLI_VERSIONvariable in theconstants.tsfile.