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
Add a new optional `Root File` setting to control the FASTBuild root `fbuild.bff` file. The root file normally does not need to be specified in the settings because it is detected automatically when it is in a parent directory. But it is necessary to set when invoking FASTBuild with the `-config <path>` command line option, which overrides the root file.
For example, if you have the following files and run FASTBuild with `fbuild -config <workspace_root>/Projects/fbuild.bff`:
```
<workspace_root>/Projects/fbuild.bff
<workspace_root>/Projects/HelloWorld/HelloWorld.bff
<workspace_root>/External/MSVC/MSVC.bff
```
In this example, `MSVC.bff` by default cannot find the root `fbuild.bff`. So it is necessary to use the `Root File` setting to manually specify the root.
This new setting is the first that the user can set to an invalid value (an invalid path). Handle that by adding settings validation and output of settings-error diagnostics.
This is also the first time that changing a setting can invalidate already-evaluated data. So clear the cached results when the settings change.
Now that getting the root file relies on settings, which arrives async, various other functions need to also become async.
Fixes#82.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+14Lines changed: 14 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,17 @@
1
+
# v0.16.0
2
+
3
+
## New Features
4
+
5
+
* ([#82](https://github.com/harrisont/fastbuild-vscode/issues/82)) Add a new optional `Root File` setting to control the FASTBuild root `fbuild.bff` file. The root file normally does not need to be specified in the settings because it is detected automatically when it is in a parent directory. But it is necessary to set when invoking FASTBuild with the `-config <path>` command line option, which overrides the root file.
6
+
7
+
For example, if you have the following files and run FASTBuild with `fbuild -config <workspace_root>/Projects/fbuild.bff`:
In this example, `MSVC.bff` by default cannot find the root `fbuild.bff`. So it is necessary to use the `Root File` setting to manually specify the root.
Copy file name to clipboardExpand all lines: package.json
+18-8Lines changed: 18 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
"name": "fastbuild-support",
3
3
"displayName": "FASTBuild Support",
4
4
"description": "FASTBuild language support. Includes go-to definition, find references, variable evaluation, syntax errors, etc.",
5
-
"version": "0.15.0",
5
+
"version": "0.16.0",
6
6
"preview": true,
7
7
"publisher": "HarrisonT",
8
8
"author": {
@@ -52,7 +52,23 @@
52
52
"type": "object",
53
53
"title": "FASTBuild",
54
54
"properties": {
55
+
"fastbuild.inputDebounceDelay": {
56
+
"order": 0,
57
+
"scope": "window",
58
+
"type": "number",
59
+
"minimum": 0,
60
+
"default": 500,
61
+
"description": "Delay, in milliseconds, after changing a document before re-evaluating it. A lower value can result in faster feedback, but too low of a value will result in high resource usage when typing quickly."
62
+
},
63
+
"fastbuild.rootFile": {
64
+
"order": 1,
65
+
"scope": "window",
66
+
"type": "string",
67
+
"default": "",
68
+
"markdownDescription": "Optional absolute path to the root `fbuild.bff` file. Set when running FASTBuild with the `-config <path>` command line option. The root is automatically found when it is in a parent directory, so it is not necessary to specify in that case."
69
+
},
55
70
"fastbuild.trace.server": {
71
+
"order": 2,
56
72
"scope": "window",
57
73
"type": "string",
58
74
"enum": [
@@ -69,17 +85,11 @@
69
85
"description": "[Extension debugging] Traces the communication between the extension and the language server."
"description": "Delay, in milliseconds, after changing a document before re-evaluating it. A lower value can result in faster feedback, but too low of a value will result in high resource usage when typing quickly."
0 commit comments