Commit Graph

294 Commits

Author SHA1 Message Date
Matt Bierner
98b069c041 Work towards getting isolated built-in extension compiles
For #271167

This makes it so our built-in extensions can mostly be built using `tsc` on the command line. Previously the extensions were picking up a lot of typing info from the root `node_modules` that meant they weren't truly independent
2025-10-13 11:03:20 -07:00
Matt Bierner
ed71020bfc Convert extension webpack scripts to modules 2025-08-07 17:20:22 -07:00
Ladislau Szomoru
4d7c56ee82 Engineering - Add GitHub action for pull requests (#254056)
* Test - handle running tests as part of a GitHub action

* Add GitHub action files
2025-07-04 08:21:56 +00:00
Christof Marti
969d35e8a5 Refer to MCP schema for "mcp" (microsoft/vscode-remote-release#11049) 2025-06-30 15:28:34 +02:00
Johannes Rieken
2e59a77991 Add support for tool sets (#249448)
* observale map/set

* adds tool sets, let mcp contribute tool set, update commands

* add `languageModelToolSets` contribution point that allows extensions to define set of tools

* only homogenous tool sets hide the tools they contain (that is set and all its tools are from the same source)

* make sure checking/unchecking buckets works

* make it more clear that the action is about tool configuration (not selecting/attaching)

* simplify `IToolSet#tools`

* support `*.toolset.json` files

* one bucket for all MCP servers

* use mcp icon

* use `.toolsets.json` suffix

* [tools config-pick] keep parents, peek sort order

* * add "Configure Tool Sets" actions
* make it `toolsets.jsonc` and register schema etc pp
* fix some tools picker issues

* add tool sets validation

* * tools completions
* Add ToolDataSource.Internal constant

* add missing return

* make tool set a class

* allow a tool set to contain other tool sets

* use dynamic schema for `toolsets.jsonc` language features

* fix tests
2025-05-21 06:54:14 -07:00
Robo
12326f9906 chore: update to Electron 35 (#245423)
* chore: bump electron@35.0.1

* chore: update types/node@22.x

* chore: update web types for node v22.x

* chore: bump electron@35.1.2

* chore: update node.js build

* chore: update app.dock usage

Refs 71f3ff6bf2

* chore: bump electron@35.1.4

* chore: bump electron@35.1.5

* ci: bump sysroot to glibc 2.28 and gcc 10.5.0

* ci: enable timeout for smoketests

* chore: bump min glibcxx to 3.4.26 for server

* Revert "ci: enable timeout for smoketests"

This reverts commit afb637e85d.

* chore: update debian dependencies

* fix: workaround npm.ps1 argument parsing with powershell

* chore: update rpm dependencies

* test: partially revert changes from 242535

* test: remove redudant keybinding dispatch for selectTab

* test: fix test failure from running configured tasks

* test: focus settings editor for preferences.test.ts

* node - adopt compile cache (#246835)

* node - adopt compile cache

* adopt for utility process

* tweaks

* log state of compilation cache

* Revert "log state of compilation cache"

This reverts commit f3840387a583013834762e2c44f6e8424929297f.

* Revert "node - adopt compile cache (#246835)"

This reverts commit 673a00cab66c9bac87f3cd27b80efa41c80150f1.

* chore: update builds

* chore: bump electron@35.2.0

* chore: bump electron@35.2.1

* chore: bump electron@35.2.2

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2025-05-09 19:03:36 +09:00
Rob Lourens
920fbe590b Add fileDirnameBasename variable to launch.json completions (#245752)
Fix #245626
2025-04-05 07:10:43 +02:00
Connor Peet
81775e7ade mcp: make discovery good
- There's an mcpDiscoveryRegistry that allows components to register in
  how they discover MCP servers.
- Config discovery is one of these. Figured out all the bits for a
  standalone file config shebang. Duplication there that could be
  cleaned up but it works.
- The others are remote and local filesystem discovery. I ended up
  making another message channel for the main process/remote server to
  get a couple environment variables we need since I didn't see anything
  generic for this already(?)

![](https://memes.peet.io/img/25-03-29927218-daa9-4206-8cef-29992850d9ba.mp4)
2025-03-10 23:06:29 -07:00
Megan Rogge
73b48e98f5 provide activeEditorState setting completion (#242216)
fixes #241880
2025-02-27 19:27:36 +01:00
João Moreno
61be0fdc47 bump deps (#241066) 2025-02-18 11:04:16 +01:00
Ladislau Szomoru
8e1f20cbea Workspace trust - remove unused code (#235676) 2024-12-09 21:54:30 +01:00
Robo
9494a89080 chore: add npmrc to extensions folder (#230214) 2024-10-01 12:43:01 +02:00
hj
88d7b97c93 chore: rm unreached ignore items when build extensions. (#227906)
chore: rm unreached ignore items when compiling extensions.
2024-09-09 10:32:51 +00:00
Robo
b5a6aa14a8 feat: switch to npm as default package manager (#226927)
* feat: move from yarn to npm

* chore: skip yarn.lock files

* fix: playwright download

* chore: fix compile and hygiene

* chore: bump vsce@2.17.0

Refs 8b49e9dfdf

* test: update results for bat and sh colorizer tests

* fix: add missing lock files for windows

* fix: switch to legacy-peer-deps

* chore: update markdown-it@14.1.0

Refs 737c95a129

esbuild step in extensions-ci-pr was previously using markdown-it
from root which had userland punycode and was able to compile successfully.

* ci: increase pr timeout for windows integration tests

* chore: fix product build

* build: ignore extension dev dependency for rcedit

* build: fix working directory inside container

* build: fix dependency generation

* npm: update dependencies

* ci: use global npmrc

* ci: update cache

* ci: setup global npmrc for private npm auth

* build: fix extension bundling

* chore: sync npm dependencies

* ci: debug env variables for container

* ci: fix win32 cli pipeline

* build: fix npmrc config usage for build/ and remote/ dirs

* fix: windows build

* fix: container builds

* fix: markdown-language-features tests and bundling

```
[03:58:22] Error: Command failed: /Users/demohan/.nvm/versions/node/v20.15.1/bin/node /Users/demohan/github/vscode/extensions/markdown-language-features/esbuild-notebook.js --outputRoot /Users/demohan/github/vscode/.build/extensions/markdown-language-features
✘ [ERROR] Could not resolve "punycode"

    extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
      14 │ var punycode     = require('punycode');
         ╵                            ~~~~~~~~~~

  The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```

Adds userland package based on beed9aee2c

* fix: container builds for distro

* chore: update yarn occurrences

* fixup! chore: bump vsce@2.17.0

Uses the closest version to `main` branch that does not
include d3cc84cdec
while still having the fix 8b49e9dfdf

* chore: sync npm dependencies

* chore: sync npm dependencies

* chore: sync npm dependencies

* chore: throw error when yarn is used for installation

* chore: add review feedback

* chore: switch exec => run where needed

* chore: npm sync dependencies

* fix: markdown-language-features bundling

```
✘ [ERROR] Could not resolve "punycode"

    extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
      14 │ var punycode     = require('punycode');
         ╵                            ~~~~~~~~~~

  The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```

Adds missing userland package based on markdown-it/markdown-it@beed9ae,
can be removed once we update markdown-it >= 14.1.0

* ci: rename no-yarn-lock-changes.yml

* chore: sync npm dependencies

* ci: restore no-yarn-lock-changes.yml

We can disable it in a separate PR to keep the required
checks happy and also need workflow edit perms.

* chore: sync npm dependencies

* ci: rebuild cache

* ci: fix no-package-lock-changes.yml

* chore: bump distro

* chore: rm yarn.lock files

* chore: rm yarn.lock files without dependencies

* chore: add vscode-selfhost-import-aid to postinstall dirs

* chore: bump distro
2024-09-06 22:18:02 +09:00
Caleb Brose
d4d2ee31db Add customizations.codespaces.disableAutomaticConfiguration to the devcontainer schema (#223083) 2024-07-23 17:02:53 +02:00
Rob Lourens
d40dff9ef9 Activate configuration-editing extension when jsonc files are opened (#214659)
Fix #182700
2024-06-08 02:13:08 +02:00
Robo
5216c04428 chore: update to electron 29 (#209818)
* chore: update electron@29.1.0

* chore: update typings to 20.x

* chore: bump electron@29.1.5

* ci: fix crash in compiling extensions-ci

* chore: disable .d.ts check for build/

$ ../node_modules/.bin/tsc -p tsconfig.build.json
node_modules/@types/chokidar/index.d.ts:21:14 - error TS2420: Class 'import("/Users/demohan/github/vscode/build/node_modules/@types/chokidar/index").FSWatcher' incorrectly implements interface 'import("fs").FSWatcher'.
  Type 'FSWatcher' is missing the following properties from type 'FSWatcher': ref, unref

21 export class FSWatcher extends EventEmitter implements fs.FSWatcher {
                ~~~~~~~~~

node_modules/chokidar/types/index.d.ts:8:14 - error TS2420: Class 'import("/Users/demohan/github/vscode/build/node_modules/chokidar/types/index").FSWatcher' incorrectly implements interface 'import("fs").FSWatcher'.
  Type 'FSWatcher' is missing the following properties from type 'FSWatcher': ref, unref

8 export class FSWatcher extends EventEmitter implements fs.FSWatcher {
               ~~~~~~~~~

Found 2 errors in 2 files.

Errors  Files
     1  node_modules/@types/chokidar/index.d.ts:21
     1  node_modules/chokidar/types/index.d.ts:8

Refs a0f9e09f64

* chore: update core types

* temp: fix layer validation

* chore: update nodejs checksums

* ci: use latest v20 LTS for missing node-gyp

Refs eacec5f490

* ci: define LIBCPP_HARDENING_MODE

* ci: fix crash in vscode-web-min-ci

* chore: update rpm deps-list

* chore: bump tree-sitter-typescript@0.20.5

* chore: bump electron@29.3.0

* chore: bump electron@29.3.1

* chore: update rpm deps-list for x86_64

* ci: disable io_uring UV backend on linux

* ci: disable io_uring backend for oss as well

* chore: update typings to 20.x

* ci: add TODO for io_uring workaround

* chore: bump distro

* chore: update preinstall node version checks

* chore: update @types/gulp

Refs https://github.com/microsoft/vscode/issues/212442

* ci: disable io_uring in more test suites
2024-05-11 01:20:28 +09:00
Benjamin Christopher Simmonds
0657184073 Custom Labels Enhancement (#208029)
* Custom Lables

* polish

* dirname(nth)

* fix test?

* cleanup and perf

* 💄

* 💄

* 💄

* expression is parsed when initialized

* readonly

* 💄

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2024-03-20 14:33:58 +01:00
Ladislau Szomoru
b05778eb90 Workbench - ability to contribute window title variables (#204538)
---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2024-02-07 12:41:17 -08:00
Charly
09f3bd5c0b Fix typo in configurationEditingMain.ts (#203970)
Removed the extra `an` in `The path where an an extension is installed`.
2024-02-01 16:24:18 +00:00
Alex Ross
86504b9c9c Add ${/} as a shorter alias for ${pathSeparator} predefined variable (#200750)
Fixes #180827
2023-12-13 17:04:54 +01:00
Megan Rogge
16b50a9be2 Merge branch 'main' into feat/fileWorkspaceFolderBasename 2023-11-10 11:42:22 -08:00
Christof Marti
0bad0f615a Option to opt-out of extensions (microsoft/vscode-remote-release#9177) 2023-11-10 11:17:34 +01:00
Martin Aeschlimann
07fcfc80c3 update to latest jsonc-parser (#192872) 2023-09-12 14:58:01 +02:00
floge07
d0b14e8569 fix: allow underscore as a valid char in tunnel remote address (#190904)
adjust the regexes used to validate tunnel remote addresses, add underscore as a valid char.
2023-08-21 19:18:44 +00:00
Robo
ea490e5545 chore: update to Electron 25 (#188268)
* chore: update electron@25.3.0

* ci: update NodeTool version

* chore: update @types/node

* add more common types to layers checker

* chore: update debian dependencies

* chore: update rpm dependencies

* fix: use legacy dns result order of Node.js

* ci: remove deprecated always-auth npm config

Refs npm/cli@72a7eeb

* chore: update deb and rpm dependencies

* chore: update armhf rpm dependencies

* chore: update x64 debian dependencies

* chore: update x64 rpm dependencies

* chore: update electron@25.3.1

* chore: update electron@25.4.0

* chore: bump distro

* chore: bump distro

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2023-08-07 21:46:27 +09:00
Alex Ross
5f9fc780c2 Add snippets as a language (#185017)
* Add snippets as a language

* Snippets -> Code Snippets

* Add tests

* json.snippets -> json.comments.snippets
2023-07-28 09:21:56 -07:00
Andrew Hlynskyi
868757048d feat: Add resolving of "fileWorkspaceFolderBasename" variable 2023-03-31 23:25:34 +03:00
yiliang114
4065a16a41 fix: typos 2023-03-10 20:02:01 +08:00
Joyce Er
affa0691f9 Remove redundant activation events (#172062) 2023-02-06 09:38:15 -08:00
Sandeep Somavarapu
5b02e68e42 fix profile import/export in web (#171753)
- move it to configuration-editing extension
2023-01-19 15:13:23 -08:00
Christof Marti
5efa6f4e4f Allow @prerelease 2023-01-17 10:28:05 +01:00
Christof Marti
b7f4d34134 Reference original schema (devcontainers/spec#93) 2023-01-12 14:34:43 +01:00
Martin Aeschlimann
f76815d952 dev container schema: use unevaluatedProperties 2023-01-12 11:27:40 +01:00
Matt Bierner
57dd298b47 Add typings for test runner scripts (#169196) 2022-12-15 02:19:24 +01:00
N1kO23
9d1c2920c0 Added ${rootNameShort} formatting (#165744)
* Added ${rootNameShort} formatting

* Add unit tests for label that use rootNameShort

* move `Verbose` interface to a better location

* more support

* 💄

* fix tests

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2022-12-07 14:51:38 +01:00
Josh Abernathy
c53f2bdb3d Add properties for parallel lifecycle scripts to devcontainer schema (#166973) 2022-11-28 19:03:20 +01:00
Christof Marti
9dba5385c7 Add GPU host requirement properties (devcontainers/spec#82) 2022-11-28 15:25:24 +00:00
Robert Jin
fbaacfb921 Add explorer.autorevealExclude setting (#136905)
* Add explorer.autorevealExclude setting

* Update setting name, only check sibling once

* linting

* Correct boolean order and add catch for force reveal

* Check for force instead of converting

* Do not make revealexcludes inherit from file.excludes

* Linting
2022-11-14 15:50:55 -05:00
Rob Lourens
6aa5ca4c28 Add launch/task variable completions to workspace file (#165842)
Fix #164728
2022-11-08 10:05:55 -08:00
Matt Bierner
2d8202551e Adopt l10n for configuration-editing (#165521)
For #164438
2022-11-04 10:46:09 -07:00
Christof Marti
85bf7f1d9b Update schema with new properties (microsoft/vscode-remote-release#7278) 2022-10-03 11:52:07 +02:00
Martin Aeschlimann
4e7be94149 IntelliSense in JSON keyboard shortcut editor doesn't work for non-default profiles 2022-09-30 09:24:35 +02:00
Josh Abernathy
d3e330e4da Update devcontainer schema for customizations.codespaces.openFiles (#161637) 2022-09-29 00:02:29 -07:00
Tyler James Leonhardt
29e985eca0 rev vscode-nls to version that doesn't ask for vscode-nls-web-data (#161819)
ref #161297
2022-09-26 11:10:54 -07:00
Tyler James Leonhardt
d8453c0440 Rev built-in versions of vscode-nls to 5.1.0 (#157530)
* rev version of vscode-nls to 5.1.0

* and yarn lock
2022-08-08 18:43:45 +02:00
Martin Aeschlimann
857412ab10 devcontainer schema: handle deprecated properties (#156425) 2022-07-27 20:27:47 +02:00
Martin Aeschlimann
361215a168 seperate out devContainer schemas for vscode & codespaces (#156170)
* seperateout devContainer schemas for vscode & codespaces

* fix for vscode schema
2022-07-25 18:17:23 +02:00
Martin Aeschlimann
28be5d9906 Configurations ${WorkSpace} autocomplete broken after update (#155713)
Configurations ${WorkSpace} autocomplete broken after update. Fixes #155638
2022-07-20 08:01:52 -04:00
Sandeep Somavarapu
c8ee8a25c5 adopt snippets with profile change (#153079)
* adopt snippets with profile change

* feedback
2022-06-24 10:10:22 +02:00