You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Initial Commit
* clean up readme
* Add Description for README.md
* Run Kani with command palette on a single file
* Basic Flow for running Kani commands on rust source file
* Refactor main flow outside the activation function (#1)
* Clean up default comments
* Refactor functionality outside the activate function
* Add temp and out files to gitignore
* Create v0.0.1
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+44Lines changed: 44 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,6 +52,50 @@ If you think you have discovered a security issue please write to us at kani-ver
52
52
Sensitive information can be encrypted using our [PGP key](https://github.com/model-checking/kani/blob/main/kani-verifier-security.public.key).
53
53
See our [security disclosure instructions](.github/SECURITY.md) for more details.
54
54
55
+
# Contributing to the Extension
56
+
57
+
## What's in the folder
58
+
59
+
* This folder contains all of the files necessary for your extension.
60
+
*`package.json` - this is the manifest file in which you declare your extension and command.
61
+
* 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.
62
+
*`src/extension.ts` - this is the main file where you will provide the implementation of your command.
63
+
* 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 the `activate` function we call `registerCommand`.
64
+
* We pass the function containing the implementation of the command as the second parameter to `registerCommand`.
65
+
66
+
## Get up and running straight away
67
+
68
+
* Press `F5` to open a new window with your extension loaded.
69
+
* Run your command from the command palette by pressing (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) and typing `Hello World`.
70
+
* Set breakpoints in your code inside `src/extension.ts` to debug your extension.
71
+
* Find output from your extension in the debug console.
72
+
73
+
## Make changes
74
+
75
+
* You can relaunch the extension from the debug toolbar after changing code in `src/extension.ts`.
76
+
* You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes.
77
+
78
+
## Explore the API
79
+
80
+
* You can open the full set of our API when you open the file `node_modules/@types/vscode/index.d.ts`.
81
+
82
+
## Run tests
83
+
84
+
* Open the debug viewlet (`Ctrl+Shift+D` or `Cmd+Shift+D` on Mac) and from the launch configuration dropdown pick `Extension Tests`.
85
+
* Press `F5` to run the tests in a new window with your extension loaded.
86
+
* See the output of the test result in the debug console.
87
+
* Make changes to `src/test/suite/extension.test.ts` or create new test files inside the `test/suite` folder.
88
+
* The provided test runner will only consider files matching the name pattern `**.test.ts`.
89
+
* You can create folders inside the `test` folder to structure your tests any way you want.
90
+
91
+
## Go further
92
+
93
+
*[Follow UX guidelines](https://code.visualstudio.com/api/ux-guidelines/overview) to create extensions that seamlessly integrate with VS Code's native interface and patterns.
94
+
* Reduce the extension size and improve the startup time by [bundling your extension](https://code.visualstudio.com/api/working-with-extensions/bundling-extension).
95
+
*[Publish your extension](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) on the VS Code extension marketplace.
96
+
* Automate builds by setting up [Continuous Integration](https://code.visualstudio.com/api/working-with-extensions/continuous-integration).
97
+
98
+
55
99
## Licensing
56
100
57
101
This project is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
0 commit comments