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
"description": "Amazon Q: /dev command now supports the InvalidState event during the GenerateApproach step. The reason for the Approach to reach an Invalid State is printed in /dev's chat response."
8
+
},
9
+
{
10
+
"type": "Feature",
11
+
"description": "CloudFormation and SAM templates now have a CodeLens link to Application Composer"
12
+
},
13
+
{
14
+
"type": "Feature",
15
+
"description": "Amazon Q CodeTransformation: show user build logs for Maven install and copy-deps commands"
"description": "Amazon Q: Static analysis of document symbols used as context in Amazon Q requests must filter tree-sitter \"extra\" CST nodes (comments) in order to avoid crashes which freeze the chat panel"
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,9 @@
1
+
## 2.11.0 2024-02-22
2
+
3
+
-**Feature** Amazon Q: /dev command now supports the InvalidState event during the GenerateApproach step. The reason for the Approach to reach an Invalid State is printed in /dev's chat response.
4
+
-**Feature** CloudFormation and SAM templates now have a CodeLens link to Application Composer
5
+
-**Feature** Amazon Q CodeTransformation: show user build logs for Maven install and copy-deps commands
6
+
1
7
## 2.10.0 2024-02-16
2
8
3
9
-**Bug Fix** CDK Explorer: Refresh button is now visible.
You can find the coverage report at `./coverage/index.html` after running the tests. Tests ran from the workspace launch config won't generate a coverage report automatically because it can break file watching. A few manual steps are needed instead:
Copy file name to clipboardExpand all lines: docs/ARCHITECTURE.md
+10-3Lines changed: 10 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ An overview of the architecture for various components within the Toolkit.
6
6
7
7
This project is currently set up as a typescript monorepo with a single subproject.
8
8
We are currently working on splitting the Toolkit into various subprojects to help with
9
-
sharing code between modules, browser extension development, etc. For now, there is just
9
+
sharing code between modules, Web mode development, etc. For now, there is just
10
10
one monolithic subproject with all the extension functionality: [`packages/toolkit/`](./packages/toolkit/).
11
11
12
12
Unless otherwise stated, the documentation throughout this project is referring to the code and
@@ -337,7 +337,14 @@ Abstractly, a 'wizard' is a collection of discrete, linear steps (subroutines),
337
337
338
338
### Creating a Wizard (Quick Picks)
339
339
340
-
A new wizard can be created by extending off the base `Wizard` class, using the template type to specify the shape of the wizard state. All wizards have an internal 'form' property that is used to assign steps. We can assign UI elements (namely, quick picks) using the `bindPrompter` method on form elements. This method accepts a callback that should return a `Prompter` given the current state. For this example, we will use `createQuickPick` and `createInputBox` for our prompters:
340
+
Create a new wizard by extending the base `Wizard` class, using the template type to specify the
341
+
shape of the wizard state. All wizards have an internal `form` property that is used to assign
342
+
steps. You can assign UI elements (namely, quickpicks) using the `bindPrompter` method on form
343
+
elements. This method accepts a callback that should return a `Prompter` given the current state.
344
+
For this example, we will use `createQuickPick` and `createInputBox` for our prompters:
345
+
346
+
If you need to call async functions to construct your `Wizard` subclass, define your init logic in
347
+
the `init()` method instead of the constructor.
341
348
342
349
```ts
343
350
interfaceExampleState {
@@ -382,7 +389,7 @@ Note that all wizards can potentially return `undefined` if the workflow was can
382
389
Use `createWizardTester` on an instance of a wizard. Tests can then be constructed by asserting both the user-defined and internal state. Using the above `ExampleWizard`:
Copy file name to clipboardExpand all lines: docs/web.md
+25-21Lines changed: 25 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,25 +1,25 @@
1
-
# Browser
1
+
# Web Mode
2
2
3
-
This extension can run in the web browser (eg: [vscode.dev](https://vscode.dev)), but with limited functionality compared to
3
+
This extension can run in a web browser (eg: [vscode.dev](https://vscode.dev)), but with limited functionality compared to
4
4
the desktop version.
5
5
6
-
## Running the Browser implementation
6
+
## Running the Web mode implementation
7
7
8
-
You can run the browser implementation of the extension in the following ways.
8
+
You can run the Web mode implementation of the extension in the following ways.
9
9
10
10
## Pre-requisites
11
11
12
12
[See the CONTRIBUTING document.](../CONTRIBUTING.md#setup)
13
13
14
14
### General Notes
15
15
16
-
- To see logs, using the Command Palette search: `Toggle Developer Tools`. Then go to the `Console` tab. In browser mode VS Code seems to duplicate log messages, idk how to fix this.
17
-
- The difference between browser mode and Node.js/desktop is that browser mode is in an actual browser environment so certain things like Node.js modules will **not** be available.
16
+
- To see logs, using the Command Palette search: `Toggle Developer Tools`. Then go to the `Console` tab. In web mode VS Code seems to duplicate log messages, idk how to fix this.
17
+
- The difference between web mode and Node.js/desktop is that in web mode everything runs in browser environment so certain things like Node.js modules will **not** be available.
18
18
19
19
## Running in an actual Browser
20
20
21
21
The following steps will result in a Chrome window running with VS Code
22
-
and the Browser version of the AWS Toolkit extension installed:
22
+
and the web version of the AWS Toolkit extension installed:
23
23
24
24
1. (Recommended) To have the Chrome window save your VS Code state after closing it, you need to modify the node module which executes the playwright method that opens it. In `node_modules/@vscode/test-web/out/index.js#openBrowser()` make the following change:
25
25
@@ -51,26 +51,30 @@ and the Browser version of the AWS Toolkit extension installed:
assert.strictEqual(myGlobal, 'B') // this fails in Browser (but not Node.js). The value here is actually 'A'.
127
+
assert.strictEqual(myGlobal, 'B') // this fails in Web (but not Node.js). The value here is actually 'A'.
124
128
})
125
129
})
126
130
```
127
131
128
-
ExamplethatDOESworkintheBrowser:
132
+
ExamplethatDOESworkinWebmode:
129
133
130
134
```typescript
131
135
;(globalThis as any).myGlobal = 'A'
@@ -136,17 +140,17 @@ function activate() {
136
140
```
137
141
138
142
```typescript
139
-
// Browser unit test
143
+
// Web unit test
140
144
describe('test', function () {
141
145
it('test', function () {
142
-
assert.strictEqual((globalThis as any).myGlobal, 'B') // this succeeds in Browser and Node.js
146
+
assert.strictEqual((globalThis as any).myGlobal, 'B') // this succeeds in Web and Node.js
143
147
})
144
148
})
145
149
```
146
150
147
151
### WebWorker
148
152
149
-
TheassumptionforthebehaviorisduetohowWebWorkerswork. We (VSCode) usethemtorunourextensionandunittestcodewhenintheBrowser. ThescriptsshareglobalvaluesdifferentlycomparedtoadifferentenvironmentsuchasNode.js.
153
+
TheassumptionforthebehaviorisduetohowWebWorkerswork. We (VSCode) usethemtorunourextensionandunittestcodewheninthebrowser. ThescriptsshareglobalvaluesdifferentlycomparedtoadifferentenvironmentsuchasNode.js.
0 commit comments