Skip to content

Commit fadf28d

Browse files
committed
feat: add biome extension support (disabled by default)
1 parent 1724350 commit fadf28d

4 files changed

Lines changed: 45 additions & 22 deletions

File tree

docs/src/content/docs/reference/Settings.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ List of extensions that should not be configured automatically.
8585
- `signageos.signageos-vscode-sops`
8686
- `joselitofilho.ginkgotestexplorer`
8787
- `bufbuild.vscode-buf`
88+
- `biomejs.biome`
8889

8990
---
9091

@@ -118,6 +119,7 @@ List of extensions that should be configured automatically. If both include and
118119
- `signageos.signageos-vscode-sops`
119120
- `joselitofilho.ginkgotestexplorer`
120121
- `bufbuild.vscode-buf`
122+
- `biomejs.biome`
121123

122124
---
123125

docs/src/content/docs/reference/Supported-extensions.md

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,26 @@ If you want to configure it manually, search for
1818
`.vscode` directory with a symlink to the tools installed by `mise`.
1919
- If you want to disable the automatic configuration of extensions, see the [set-up guide](/mise-vscode/tutorials/settinguptheextension/).
2020

21-
| Extension | Settings | Comment |
22-
|--------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|
23-
| [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) | `python.defaultInterpreterPath` | You will still need to select the interpreter. See [this discussion](https://github.com/hverlin/mise-vscode/discussions/71) |
24-
| [Go](https://marketplace.visualstudio.com/items?itemName=golang.Go) | `go.goroot`, `go.alternateTools` | |
25-
| [Java](https://marketplace.visualstudio.com/items?itemName=oracle.oracle-java) | `jdk.jdkhome` | |
26-
| [Shellcheck](https://marketplace.visualstudio.com/items?itemName=timonwong.shellcheck) | `shellcheck.executablePath` | |
27-
| [NodeJS](https://marketplace.visualstudio.com/items?itemName=ms-vscode.js-debug) | `debug.javascript.defaultRuntimeExecutable.pwa-node` | |
28-
| [Deno](https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno) | `deno.path` | |
29-
| [Bun](https://marketplace.visualstudio.com/items?itemName=oven.bun-vscode) | `bun.runtime` | |
30-
| [Ruff](https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff) | `ruff.path` | |
31-
| [php](https://marketplace.visualstudio.com/items?itemName=xdebug.php-debug), php built-in | `php.validate.executablePath`, `php.debug.executablePath` | Does not work with symlinks |
32-
| [julia](https://marketplace.visualstudio.com/items?itemName=julialang.language-julia) | `julia.executablePath` | Does not work with shims |
33-
| [erlang](https://marketplace.visualstudio.com/items?itemName=pgourlain.erlang) | `erlang.erlangPath` | Does not work with shims |
34-
| [dart](https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code) | `dart.sdkPath` | Does not work with shims or symlinks |
35-
| [flutter](https://marketplace.visualstudio.com/items?itemName=dart-code.flutter) | `dart.flutterSdkPath` | Does not work with shims or symlinks |
36-
| [zig](https://marketplace.visualstudio.com/items?itemName=ziglang.vscode-zig) | `zig.path`, `zig.zls.path` (install [zls](https://mise.jdx.dev/lang/zig.html#zig-language-server) with `mise`) | Does not work with shims or symlinks |
37-
| [sops](https://marketplace.visualstudio.com/items?itemName=signageos.signageos-vscode-sops) | `sops.binPath` | |
38-
| [ginkgo test explorer](https://marketplace.visualstudio.com/items?itemName=joselitofilho.ginkgotestexplorer) | `ginkgotestexplorer.ginkgoPath` | |
39-
| [buf](https://marketplace.visualstudio.com/items?itemName=bufbuild.vscode-buf) | `buf.commandLine.path` | |
21+
| Extension | Settings | Comment |
22+
|--------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
23+
| [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) | `python.defaultInterpreterPath` | You will still need to select the interpreter. See [this discussion](https://github.com/hverlin/mise-vscode/discussions/71) |
24+
| [Go](https://marketplace.visualstudio.com/items?itemName=golang.Go) | `go.goroot`, `go.alternateTools` | |
25+
| [Java](https://marketplace.visualstudio.com/items?itemName=oracle.oracle-java) | `jdk.jdkhome` | |
26+
| [Shellcheck](https://marketplace.visualstudio.com/items?itemName=timonwong.shellcheck) | `shellcheck.executablePath` | |
27+
| [NodeJS](https://marketplace.visualstudio.com/items?itemName=ms-vscode.js-debug) | `debug.javascript.defaultRuntimeExecutable.pwa-node` | |
28+
| [Deno](https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno) | `deno.path` | |
29+
| [Bun](https://marketplace.visualstudio.com/items?itemName=oven.bun-vscode) | `bun.runtime` | |
30+
| [Ruff](https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff) | `ruff.path` | |
31+
| [php](https://marketplace.visualstudio.com/items?itemName=xdebug.php-debug), php built-in | `php.validate.executablePath`, `php.debug.executablePath` | Does not work with symlinks |
32+
| [julia](https://marketplace.visualstudio.com/items?itemName=julialang.language-julia) | `julia.executablePath` | Does not work with shims |
33+
| [erlang](https://marketplace.visualstudio.com/items?itemName=pgourlain.erlang) | `erlang.erlangPath` | Does not work with shims |
34+
| [dart](https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code) | `dart.sdkPath` | Does not work with shims or symlinks |
35+
| [flutter](https://marketplace.visualstudio.com/items?itemName=dart-code.flutter) | `dart.flutterSdkPath` | Does not work with shims or symlinks |
36+
| [zig](https://marketplace.visualstudio.com/items?itemName=ziglang.vscode-zig) | `zig.path`, `zig.zls.path` (install [zls](https://mise.jdx.dev/lang/zig.html#zig-language-server) with `mise`) | Does not work with shims or symlinks |
37+
| [sops](https://marketplace.visualstudio.com/items?itemName=signageos.signageos-vscode-sops) | `sops.binPath` | |
38+
| [ginkgo test explorer](https://marketplace.visualstudio.com/items?itemName=joselitofilho.ginkgotestexplorer) | `ginkgotestexplorer.ginkgoPath` | |
39+
| [buf](https://marketplace.visualstudio.com/items?itemName=bufbuild.vscode-buf) | `buf.commandLine.path` | |
40+
| [biome](https://marketplace.visualstudio.com/items?itemName=biomejs.biome-vscode) | `biome.lsp.bin` | Not enabled by default. Update `"mise.configureExtensionsAutomaticallyIgnoreList"` to `[]` to enable it. Use it only if you don't install biome with npm. |
4041

4142
Extensions which have built-in support for `mise`:
4243

package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@
145145
"mise.configureExtensionsAutomaticallyIgnoreList": {
146146
"order": 5,
147147
"type": "array",
148-
"default": [],
148+
"default": ["biomejs.biome"],
149149
"items": {
150150
"type": "string",
151151
"enum": [
@@ -169,7 +169,8 @@
169169
"ziglang.vscode-zig",
170170
"signageos.signageos-vscode-sops",
171171
"joselitofilho.ginkgotestexplorer",
172-
"bufbuild.vscode-buf"
172+
"bufbuild.vscode-buf",
173+
"biomejs.biome"
173174
]
174175
},
175176
"markdownDescription": "List of extensions that should not be configured automatically."
@@ -204,7 +205,8 @@
204205
"ziglang.vscode-zig",
205206
"signageos.signageos-vscode-sops",
206207
"joselitofilho.ginkgotestexplorer",
207-
"bufbuild.vscode-buf"
208+
"bufbuild.vscode-buf",
209+
"biomejs.biome"
208210
]
209211
},
210212
"markdownDescription": "List of extensions that should be configured automatically. If both include and ignore lists are set, the ignore list takes precedence. If the include list includes 'all' (default), all supported extensions are considered except those in the ignore list."

src/utils/supportedExtensions.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,24 @@ export const SUPPORTED_EXTENSIONS: Array<ConfigurableExtension> = [
433433
});
434434
},
435435
},
436+
{
437+
toolNames: ["biome", "aqua:biomejs/biome"],
438+
extensionId: "biomejs.biome",
439+
generateConfiguration: async ({
440+
miseService,
441+
tool,
442+
miseConfig,
443+
useShims,
444+
}) => {
445+
return configureSimpleExtension(miseService, {
446+
configKey: "biome.lsp.bin",
447+
useShims,
448+
useSymLinks: false, // https://github.com/biomejs/biome-vscode/issues/721
449+
tool,
450+
miseConfig,
451+
});
452+
},
453+
},
436454
];
437455

438456
export const CONFIGURABLE_EXTENSIONS_BY_TOOL_NAME = new Map<

0 commit comments

Comments
 (0)