|
1 | | -# A VS Code Extension Template |
| 1 | +# VSC-ET |
2 | 2 |
|
3 | | -This extension does nothing interesting. It is a template for creating VS Code extensions. |
| 3 | +A VS Code Extension Template. Or an automated [VS Code](https://code.visualstudio.com) **extension development** workflow, with support for [coding](#coding), [building](#building), [testing](#testing), [end-to-end testing](#end-to-end-testing), and [publishing the extension](#publishing-the-extension) to the [VS Code Marketplace](https://marketplace.visualstudio.com/vscode) and the [Open VSX Registry](https://open-vsx.org/). |
4 | 4 |
|
5 | | -Details and usage instructions TBD... |
| 5 | + |
| 6 | +The workflow is powered by [Interactive Programming](https://en.wikipedia.org/wiki/Interactive_programming). You can use the extension while you are hacking on it, without reloading the extension host. The feedback is instantaneous. As it should be to keep coding productive and maximum fun. |
| 7 | + |
| 8 | +## Who is this for? |
| 9 | + |
| 10 | +It is probably for you. 😄 Especially if you would like to build an extension for VS Code. Also if: |
| 11 | + |
| 12 | +- You want to explore what it takes to publish an extension to the VS Code Marketplace in an automated manner. |
| 13 | +- Like to have the plumbing for testing, including end-to-end testing, in place from the get-go, ready for you to fill in as you build your extension |
| 14 | +- You would like to learn Clojure/ClojureScript in a fun way |
| 15 | +- Interactive Programming is your thing |
| 16 | +- You think that Interactive Programming might be your thing |
| 17 | + |
| 18 | +## What are the prerequisites? |
| 19 | + |
| 20 | +The tools you need to get started are: |
| 21 | + |
| 22 | +- [VS Code](https://code.visualstudio.com/) |
| 23 | + - The [Calva](https://calva.io) extension |
| 24 | + - The [Joyride](https://github.com/BetterThanTomorrow/joyride) extension |
| 25 | +- [Node.js](https://nodejs.org/) |
| 26 | +- [Java](https://jdk.java.net/23/) |
| 27 | +- [Clojure CLI](https://clojure.org/guides/install_clojure) |
| 28 | +- [Babashka](https://github.com/babashka/babashka#installation) |
| 29 | + |
| 30 | +Add your curiosity and you should be good to go. To just try the template/workflow out, you do not need to know any ClojureScript (or even programming). When you start to try make the extension do something interesting, you will need to know _some_ Clojure/ClojureScript. Learning Clojure will be a fun endeavor, I promise. |
| 31 | + |
| 32 | +## How do I get started? |
| 33 | + |
| 34 | +TBD... |
| 35 | + |
| 36 | +## Who built this? |
| 37 | + |
| 38 | +My name is Peter Strömberg, a.k.a. [PEZ](https://github.com/PEZ). I love Clojure and VS Code, and I love to build things. I created Calva, an extension for working with Clojure in VS Code. I also co-created Joyride, a scripting environment for VS Code that lets you extend the editor in user space (i.e. without creating an extension). I've also created Paste Replace, and a whole bunch of Joyride scripts, big and small (mostly small). |
| 39 | + |
| 40 | +I created this template because I want to share what I have figured out about building and maintaining extensions for VS Code. To me it is the most fun and rewarding way to spend my time, and I want you to have as much fun as I get. 😄 Calva is mostly built with TypeScript, and I'd like to contribute to you building your extensions in a more civilized programming language. |
| 41 | + |
| 42 | +That said, the workflow and automation used in the template are used for Calva, as well as with my pure ClojureScript extensions, so if you find the rest of the automation in this template useful, you can most definitely use it with a TypeScript tool chain. |
6 | 43 |
|
7 | 44 | ## License |
8 | 45 |
|
|
0 commit comments