|
| 1 | +# Contributing to the ObjectScript extension for Visual Studio Code |
| 2 | + |
| 3 | +## Contributing a pull request |
| 4 | + |
| 5 | +### Prerequisites |
| 6 | + |
| 7 | +1. [Node.js](https://nodejs.org/) 12.x |
| 8 | +1. Windows, macOS, or Linux |
| 9 | +1. [Visual Studio Code](https://code.visualstudio.com/) |
| 10 | +1. The following VS Code extensions: |
| 11 | + - [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) |
| 12 | + - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) |
| 13 | + - [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) |
| 14 | + |
| 15 | +### Setup |
| 16 | + |
| 17 | +```shell |
| 18 | +git clone https://github.com/intersystems-community/vscode-objectscript |
| 19 | +cd vscode-objectscript |
| 20 | +npm install |
| 21 | +``` |
| 22 | + |
| 23 | +### Errors and Warnings |
| 24 | + |
| 25 | +TypeScript errors and warnings will be displayed in the `PROBLEMS` panel of Visual Studio Code. |
| 26 | + |
| 27 | +### Run dev build and validate your changes |
| 28 | + |
| 29 | +To test changes, open the `vscode-objectscript` folder in VSCode. |
| 30 | +Then, open the debug panel by clicking the `Run and Debug` icon on the Activity Bar, select the `Launch Extension` |
| 31 | +option from the top menu, and click start. A new window will launch with the title |
| 32 | +`[Extension Development Host]`. Do your testing here. |
| 33 | + |
| 34 | +If you want to disable all other extensions when testing in the Extension Development Host, choose the `Launch Extension Alone` option instead. |
| 35 | + |
| 36 | +### Pull requests |
| 37 | + |
| 38 | +Work should be done on a unique branch -- not the master branch. Pull requests require the approval of two PMC members, as described in the [Governance document](GOVERNANCE.md). PMC review is often high level, so in addition to that, you should request a review by someone familiar with the technical details of your particular pull request. |
| 39 | + |
| 40 | +We do expect CI to be passing for a pull request before we will consider merging it. CI executed by pull requests will produce a `vsix` file, which can be downloaded and installed manually to test proposed functionality. |
| 41 | + |
| 42 | +## Beta versions |
| 43 | + |
| 44 | +Any change to `master` branch will call CI, which will produce [beta release](https://github.com/intersystems-community/vscode-objectscript/releases), which can be manually installed. |
| 45 | + |
| 46 | +## Local Build |
| 47 | + |
| 48 | +Steps to build the extension on your machine once you've cloned the repo: |
| 49 | + |
| 50 | +```bash |
| 51 | +> npm install -g vsce |
| 52 | +# Perform the next steps in the vscode-objectscript folder. |
| 53 | +> npm install |
| 54 | +> npm run package |
| 55 | +``` |
| 56 | + |
| 57 | +Resulting in a `vscode-objectscript-$VERSION.vsix` file in your `vscode-objectscript` folder. |
0 commit comments