Skip to content

Latest commit

 

History

History
67 lines (57 loc) · 4.87 KB

CONTRIBUTING.md

File metadata and controls

67 lines (57 loc) · 4.87 KB

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Contributions are always welcome! We only ask that you open an issue first so we can discuss the problem and solution. We don't want you to waste any time headed in the wrong direction.

Development setup

  • Clone this repo
  • Run npm install in '/vscode-edge-devtools'
  • Download and Extract Edge source files
  • Run npm run build or npm run watch in '/vscode-edge-devtools'
  • Open the directory in VS Code
  • Select Launch Extension debug configuration
  • Press F5 to launch the VS Code extension host environment and debug the extension
  • The extension should appear on the left sidebar. Click the Edge icon on the sidebar to access the extension.

Here are a list of recommended VS Code extensions to use when developing for vscode-edge-devtools:

Building with different Edge versions

  • Navigate to the root extension directory
  • Run node scripts/downloadAndExtractEdge [VERSION_NUMBER] where [VERSION_NUMBER] is a version of Edge
    • The current set of accepted [VERSION_NUMBER] values is 83, 84 and 85. Other numbers will target the currently supported version.
    • To target other versions that this script does not support, see Legacy Source File Setup.
  • This replaces the npm run download-edge script in the setup instructions, follow the rest of the instructions to complete setup.

Legacy Source File Setup

Use this method if the automated methods fail or if the desired version is not supported by the download script.

  • Download a copy of the Microsoft Edge build from https://thirdpartysource.microsoft.com, current extension version builds from version 87.0.668.0.
    • Note: Download the 'Microsoft Edge DevTools' zip if available in the desired version and platform - it will be much faster.
  • Extract the necessary files from the zip
    • On an administrator prompt execute the following commands (assuming your drive is located at C:)
      • Windows: mkdir [PATH_TO_EXTENSION]\vscode-edge-devtools\out\edge\src\out\Release\gen\devtools&&mkdir [PATH_TO_EXTENSION]\out\edge\src\third_party\devtools-frontend\src\front_end
      • Mac/Linux: mkdir -p [PATH_TO_EXTENSION]/vscode-edge-devtools/out/edge/src/out/Release/gen/devtools&&mkdir -p [PATH_TO_EXTENSION]/out/edge/src/third_party/devtools-frontend/src/front_end
    • Open the zip file and (inside the zip file) navigate to:
      • [COMPRESSED_FILE]\src\third_party\devtools-frontend\src\front_end
      • copy the contents of the "front_end" folder and paste them into [PATH_TO_EXTENSION]/vscode-edge-devtools/out/edge/src/third_party/devtools-frontend/src/front_end
    • Open the zip file and (inside the zip file) navigate to:
      • [COMPRESSED_FILE]\src\out\Release\gen\devtools
      • copy the contents of the "devtools" folder and paste them into [PATH_TO_EXTENSION]/vscode-edge-devtools/out/edge/src/out/Release/gen/devtools

Testing

  • There are a set of jest tests which can be run with npm run test.
  • You may also run npm run lint separately to check your code against our tslint rules.
  • Open the directory in VS Code
  • Select Launch Tests debug configuration
  • Press F5 to attach the debugger and start the tests

Issue tags

  • "Bug": Something that should work is broken
  • "Enhancement": AKA feature request - adds new functionality
  • "Task": Something that needs to be done that doesn't really fix anything or add major functionality. Tests, engineering, documentation, etc.