# VS Code Can Do That Workshop

## Prerequisites

These are important. You need to have these items installed to complete this workshop:

* [Git](https://git-scm.com/downloads)
* [Node(LTS)](https://nodejs.org/en/)
* [Docker Community Edition](https://docs.docker.com/install/)
* [VS Code Can Do That extension pack](https://marketplace.visualstudio.com/items?itemName=burkeholland.vs-code-can-do-that)

## Exercises

Clone the Github repo...

```
git clone https://github.com/burkeholland/workshop-vs-code-can-do-that
```

In the cloned repo there is a folder for each section of the workshop. To begin an exercise, open it in VS Code.

```
cd exercise-1-customizing-the-editor
code .
```

{% hint style="info" %}
Note that the "code" command from your command prompt or terminal only works if VS Code is added to your path. You will be prompted to do this when VS Code is installed. If you need to do it later, you can open the Command Palette (**Cmd/Ctrl + Shift + P**) and select "Shell Command: Install 'code' command in path".

If you are on Windows, you may need to reboot after this.
{% endhint %}

Some of the exercises contain multiple workspaces. This allows you to load multiple projects at the same time into VS Code. If this is the case, VS Code will prompt you. Select "Yes" to open the workspace file.

![](https://1151923643-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LlvtEHKkq5bvzPq1pJ4%2F-LlvtJMfPaOZK9HU1qdu%2F-LlwLPxqv_zs-Wy_G4-M%2Fimage.png?alt=media\&token=4e87360e-d400-40a4-b51d-3d2fea80bee4)

There will be a "start" project and a "solution" project in the workspace. Work in the "start" project and refer to the "solution" project for the finished exercise should you get stuck.

![](https://1151923643-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LlvtEHKkq5bvzPq1pJ4%2F-Lm7V-InompVUXnuEqJZ%2F-Lm7V0kuPK_EmrkryxuE%2Fimage.png?alt=media\&token=b59761a3-3d75-48fb-9ebb-54003d140bbc)

All projects can be run and viewed in the browser by executing the `npm start` command. Open a terminal instance in VS Code with **Cmd/Ctrl + \`**. Make sure that you are in the right project ("start" or "solution") and run `npm start`

![](https://1151923643-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LlvtEHKkq5bvzPq1pJ4%2F-LlvtJMfPaOZK9HU1qdu%2F-LlwNcgdQrFJjsRyi-lm%2Fimage.png?alt=media\&token=03734f03-da01-4654-878b-3455f2350c43)

This should start a server on port 3000 and open a browser tab. Any changes you make will automatically be reflected in the browser.&#x20;

{% hint style="info" %}
If the server starts on a different port, such as 3001 or 3002, this is because another process is currently running on port 3000. This is ok, but you may get confused during the exercises. It's a better idea to find the running process and kill it.

* Mac/Linux:&#x20;
  * `lsof -i tcp:3000`
  * Find the ID of the process
  * `kill <process id>`
* Windows
  * `netstat -ano | findstr :3000`
  * Find the ID of the process
  * `taskkill /PID typeyourPIDhere /F`

Note that for Windows, you must be running the Command Prompt as an Administrator.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://burkeholland.gitbook.io/vs-code-can-do-that/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
