Skip to content

Commit 111e9e1

Browse files
committed
Merge branch 'remove-simulator-from-code-editors' into sr2022
2 parents 7b28f6c + 296dcc4 commit 111e9e1

File tree

1 file changed

+4
-175
lines changed

1 file changed

+4
-175
lines changed

programming/editors/vscode.md

Lines changed: 4 additions & 175 deletions
Original file line numberDiff line numberDiff line change
@@ -27,182 +27,11 @@ here.
2727

2828
## Code Completions
2929

30-
In order for VSCode to pick up the `sr.robot` library and offer [completions][code-completion]
31-
you'll need to tell it where to find the library files:
30+
In order for VSCode to pick up the `sr.robot3` library and offer [completions][code-completion]
31+
you'll need to make the library available within the Python environment that you're using.
3232

3333
1. Open the workspace containing your code.
34-
2. Open your [workspace settings][workspace-settings] file:
35-
* On Windows/Linux - **File** > **Preferences** > **Settings**.
36-
* On macOS - **Code** > **Preferences** > **Settings**.
37-
38-
3. Select **Workspace** (rather then **User**).
39-
4. Search for `python.autoComplete.extraPaths`.
40-
5. Click "Edit in settings.json".
41-
6. Add the path to the directory which contains the `sr` directory, within
42-
double quotes. The path can be either relative to your project or absolute.
43-
44-
For example if developing code for the simulator and you have extracted the
45-
simulator directory next to your code:
46-
47-
```
48-
.
49-
├── competition-simulator-<version>
50-
│ ├── ...
51-
│ ├─ modules
52-
│ │ └── sr
53-
│ │ └── robot
54-
│ │ └── ...
55-
│ └─ worlds
56-
│ └── Arena.wbt
57-
└── robot.py
58-
```
59-
60-
then the path you should add is `"competition-simulator-<version>/modules/"`.
34+
2. Open a terminal via **Terminal** > **New Terminal**.
35+
3. Run `pip install sr.robot3`.
6136

6237
[code-completion]: https://en.wikipedia.org/wiki/Autocomplete#In_source_code_editors
63-
[workspace-settings]: https://code.visualstudio.com/docs/getstarted/settings#_creating-user-and-workspace-settings
64-
65-
## Interactive Debugging
66-
67-
<div class="info">
68-
This section refers to a feature which is only available within the simulator.
69-
<!--
70-
Pedantic note: yes, you can actually make this work on the kits too (very easily
71-
it turns out), however the steps to set this up on the kits are a bit different
72-
so for now we just document the simulator version.
73-
-->
74-
</div>
75-
76-
Interactive debugging is a great way to inspect what your code is doing whilst
77-
the simulator is actually running. It will allow you to inspect the values of
78-
variables throughout the code and even re-run sections to understand how they
79-
interact.
80-
81-
There are two initial setup steps (installing `debugpy` and configuring VSCode)
82-
and then two steps each time you want to debug your code.
83-
84-
### Install `debugpy`
85-
86-
In order for VSCode to be able to debug your code as it runs in the simulator
87-
you will need to install the [`debugpy`][debugpy] Python package. You will use
88-
this package in your Python code to signal that it is ready for VSCode to attach
89-
to it, so it needs to be installed into the same Python environment that Webots
90-
is configured to use.
91-
92-
``` shell
93-
python -m pip install debugpy
94-
```
95-
96-
You may need to use the full path to your `python`, or on some platforms it may
97-
be called `python3`.
98-
99-
On Windows, if specifying a full path to `python.exe`, you should use the basic
100-
Command Prompt (and not the terminal within VSCode or PowerShell).
101-
102-
### Configure VSCode
103-
104-
Next, we are going to create a [debug configuration][debug-config] so that
105-
VSCode knows what you want it to debug.
106-
107-
<!--
108-
If the user hasn't activated their Python extension in the current editor
109-
session then it won't yet have registered itself. Additionally if the currently
110-
focused file is not a Python file then they will be asked for the environment
111-
they want to debug. Avoid both of these by instructing the user to open their
112-
`robot.py` before attempting to configure debugging.
113-
-->
114-
115-
1. Open the workspace containing your code.
116-
2. Open your `robot.py` file.
117-
3. Select the Run view in the sidebar (or press
118-
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>D</kbd> /
119-
<kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>D</kbd> on macOS)
120-
4. Click "create a launch.json file".
121-
5. In the menu which appears, if you are asked to select an environment select **Python**.
122-
6. When asked for a Debug Configuration, select **Remote Attach**.
123-
7. Leave the subsequent values at their defaults (press <kbd>Enter</kbd> twice).
124-
125-
This will create a new file in your project which contains the configuration.
126-
127-
Depending on the location of your robot code is within your project, you may
128-
need to adjust the configuration further.
129-
130-
If your code is in the root of your workspace:
131-
132-
```
133-
.
134-
└── robot.py
135-
```
136-
137-
then no further changes are needed.
138-
139-
If your code is within a folder, perhaps because your workspace includes the
140-
simulator folder and your code is in `zone-0` or `zone-1`:
141-
142-
```
143-
.
144-
├── competition-simulator-<version>
145-
│ ├── ...
146-
│ └─ worlds
147-
│ └── Arena.wbt
148-
└── zone-1
149-
└── robot.py
150-
```
151-
152-
then you will need to modify the `pathMappings` key within the configuration.
153-
The change you'll need to make is to alter the `localRoot` key such that it
154-
accounts for the sub-directory containing the robot code.
155-
156-
In the above example, the change would be to update the line:
157-
158-
``` json
159-
"localRoot": "${workspaceFolder}",
160-
```
161-
162-
to instead be:
163-
164-
``` json
165-
"localRoot": "${workspaceFolder}/zone-1",
166-
```
167-
168-
[debugpy]: https://pypi.org/project/debugpy/
169-
[debug-config]: https://code.visualstudio.com/docs/python/debugging
170-
171-
### Configure your code
172-
173-
To debug a given part of your code, you will need to insert into your code a
174-
statement which will launch the debugger.
175-
176-
At the place in your code that you would like the debugger to start, insert the
177-
following snippet:
178-
179-
``` python
180-
import debugpy
181-
debugpy.listen(5678)
182-
debugpy.wait_for_client()
183-
breakpoint()
184-
```
185-
186-
This code (specifically the `wait_for_client` call) will block until the
187-
debugger is attached.
188-
189-
### Run and debug
190-
191-
You can now launch your code in the simulator exactly as you would normally.
192-
When your code stops running (the simulation will also stop processing) change
193-
to VSCode and select **Run** > **Start Debugging** or press <kbd>F5</kbd>.
194-
195-
VSCode will attach to your code, paused at the `breakpoint()` line.
196-
197-
A full tutorial of [debugging in VSCode][vscode-debugging] is beyond the scope
198-
of this article, though the most common commands (all available from the **Run**
199-
menu) are:
200-
201-
* Step Over (<kbd>F10</kbd>)
202-
* Step Into (<kbd>F11</kbd>)
203-
* Step Out (<kbd>Shift</kbd> + <kbd>F11</kbd>)
204-
* Continue (<kbd>F5</kbd>)
205-
206-
You can also inspect the values of variables in your code by hovering over them.
207-
208-
[vscode-debugging]: https://code.visualstudio.com/docs/editor/debugging

0 commit comments

Comments
 (0)