* First crack tsql notebook (no output rendered yet)
* getting messages back
* intellisense working first cell, no connection errors
* sql notebook cell output functioning
* Latest SQL noteobook changes
* Undo change to launch.json
* Plumbing providers through
* Kernels shown from multiple providers, can switch between them. No mementos yet
* Ensure we have a feature flag for SQL notebooks, ensure existing functionality still works
* Fix tslint duplicate imports issue
* Addressing PR comments
* second round of PR feedback to cleanup notebook service manager code
* merge latest from master
* Refactor JSON and format files to model and fix tabs -> spaces issues
This is in prep for some work to reuse these code files inside the model,
so pushing as its own PR to keep the next piece of work clean.
* Fix#3680 Notebooks: outputs with string arrays rendered incorrectly
- Add support for processing v4 format files loaded from disk
- Prep support for v3 notebooks by adding placeholder code for that
* Fix failing tests and add specific one for this bug
* Remove references to v5
* Handle delayed Notebook provider registration
- Fixes#3197 Notebooks: builtin provider always used on reopen with notebook file visible
- Fixes#3414 Can't refresh kernel after connect to big data cluster
There are 3 parts to this fix:
- If no notebook provider other than the default is installed, we warn users and prompt to install the SQL2019 extension
- We wait on the extension host registration to complete before determining which provider to use
- We know that the extension registration of the provider instance will be after package.json is read, so if we wait after registration for 10 seconds to give this a chance to happen before returning a provider to the front end
* Remove launch.json change that was added accidentally
* Fix timeout not being the expected value
* Removed console log left in during debugging
* Remove unnecessary whitespace
* Fix unit test failure
* Name the registration better, and remove outdated comments
* Notebook saves are broken #3432
* Misc change
* Save notebook uri to This
* Untitled notebook save including review comments #3432
* Cleanup
* Misc changes
- Add edit API that can be used in the extension
- Separated document and editor classes out since this is the point those get big. I can refactor back in if needed to ease code review
- Based this off text editing APIs but tweaked for the fact this is a cell/array based set of edits
initial support for Notebook extensibility. Fixes#3148 , Fixes#3382.
## Design notes
The extensibility patterns are modeled after the VSCode Document and Editor APIs but need to be different since core editor concepts are different - for example Notebooks have cells, and cells have contents rather than editors which have text lines.
Most importantly, a lot of the code is based on the MainThreadDocumentsAndEditors class, with some related classes (the MainThreadDocuments, and MainThreadEditors) brought in too. Given our current limitations I felt moving to add 3 full sets of extension host API classes was overkill so am currently using one. Will see if we need to change this in the future based on what we add in the additional APIs
## Limitations
The current implementation is limited to visible editors, rather than all documents in the workspace. We are not following the `openDocument` -> `showDocument` pattern, but instead just supporting `showDocument` directly.
## Changes in this PR
- Renamed existing APIs to make clear that they were about notebook contents, not about notebook behavior
- Added new APIs for querying notebook documents and editors
- Added new API for opening a notebook
- Moved `New Notebook` command to an extension, and added an `Open Notebook` command too
- Moved notebook feature flag to the extension
## Not covered in this PR
- Need to actually implement support for defining the provider and connection IDs for a notebook. this will be important to support New Notebook from a big data connection in Object Explorer
- Need to add APIs for adding cells, to support
- Need to implement the metadata for getting full notebook contents. I've only implemented to key APIs needed to make this all work.
Full plumb through of Session support. Also fixed some test issues
- Load session and get necessary information in kernels list
- Run Cell button now works as expected
- Added a ToggleAction base class which can be used for anything that switches icons. I'd still prefer to have this be dynamic and as clean as the extension classes
- Fixed account test unhandled promise rejections (caused by incorrect / invalid tests) that made it hard to see all the test run output.
* Support notebook file types contribution
- Extensions can define a provider and what file types it should be used for
- Verified that this works for Jupyter Content & Server Managers.
- Starts Jupyter server as expected
Not in this PR:
- Support for session manager end to end
- Tests
* Initial toolbar work
- This is in-progress and needs additional fixes
* Resolve PR comments
* Added empty kernel and hook up with Kernel dropdown
* Resolve PR comments
Implements provider contribution in the MainThreadNotebook, with matching function calls in the ExtHostNotebook class. This will allow us to proxy through notebook providers (specifically, creation of a notebook manager with required content, server managers) from an extension up through to the main process.
Implemented in this PR:
- Callthroughs for content and server manager APIs
- Very basic unit tests covering provider & manager registration
Not implemented:
- Fuller unit tests on the specific callthrough methods for content & server manager.
- Contribution point needed to test this (so we can actually pass through the extension's existing Notebook implementation)
- Defines a new NotebookService in Azure Data Studio which will be used to interact with notebooks. Since notebooks can require per-file instantiation the provider is just used to create & track managers for a given URI.
- Inject this into notebook.component.ts and pass required parameters that'll be used to properly initialize a manger into the method. Actual initialization not done yet.
- Port over & recompile notebook model code
- Define most required APIs in sqlops.proposed.d.ts. In the future, these will be used by extensions to contribute their own providers.
* Squash merge commits for 1.26 (#1) (#2323)
* Polish tag search as per feedback (#55269)
* Polish tag search as per feedback
* Updated regex
* Allow users to opt-out of features that send online requests in the background (#55097)
* settings sweep #54690
* Minor css tweaks to enable eoverflow elipsis in more places (#55277)
* fix an issue with titlebarheight when not scaling with zoom
* Settings descriptions update #54690
* fixes#55209
* Settings editor - many padding fixes
* More space above level 2 label
* Fixing Cannot debug npm script using Yarn #55103
* Settings editor - show ellipsis when description overflows
* Settings editor - ... fix measuring around links, relayout
* Setting descriptions
* Settings editor - fix ... for some short lines, fix select container width
* Settings editor - overlay trees so scrollable shadow is full width
* Fix#54133 - missing extension settings after reload
* Settings color token description tweak
* Settings editor - disable overflow indicator temporarily, needs to be faster
* Added command to Run the selected npm script
* fixes#54452
* fixes#54929
* fixes#55248
* prefix command with extension name
* Contribute run selected to the context menu
* node-debug@1.26.6
* Allow terminal rendererType to be swapped out at runtime
Part of #53274Fixes#55344
* Settings editor - fix not focusing search when restoring editor
setInput must be actually async. Will be fixed naturally when we aren't using winJS promises...
* Settings editor - TOC should only expand the section with a selected item
* Bump node-debug2
* Settings editor - Tree focus outlines
* Settings editor - don't blink the scrollbar when toc selection changes
And hide TOC correctly when the editor is narrow
* Settings editor - header rows should not be selectable
* fixes#54877
* change debug assignee to isi
* Settings sweep (#54690)
* workaround for #55051
* Settings sweep (#54690)
* settings sweep
#54690
* Don't try closing tags when you type > after another >
* Describe what implementation code lens does
Fixes#55370
* fix javadoc formatter setting description
* fixes#55325
* update to officical TS version
* Settings editor - Even more padding, use semibold instead of bold
* Fix#55357 - fix TOC twistie
* fixes#55288
* explorer: refresh on di change file system provider registration
fixes#53256
* Disable push to Linux repo to test standalone publisher
* New env var to notify log level to extensions #54001
* Disable snippets in extension search (when not in suggest dropdown) (#55281)
* Disable snippits in extension search (when not in suggest dropdown)
* Add monaco input contributions
* Fix bug preventing snippetSuggestions from taking effect in sub-editors
* Latest emmet helper to fix#52366
* Fix comment updates for threads within same file
* Allow extensions to log telemetry to log files #54001
* Pull latest css grammar
* files.exclude control - use same style for "add" vs "edit"
* files.exclude control - focus/keyboard behavior
* don't show menubar too early
* files.exclude - better styling
* Place cursor at end of extensions search box on autofill (#55254)
* Place cursor at end of extensions search box on autofill
* Use position instead of selection
* fix linux build issue (empty if block)
* Settings editor - fix extension category prefixes
* Settings editor - add simple ellipsis for first line that overflows, doesn't cover case when first line does not overflow but there is more text, TODO
* File/Text search provider docs
* Fixes#52655
* Include epoch (#55008)
* Fixes#53385
* Fixes#49480
* VS Code Insiders (Users) not opening Fixes#55353
* Better handling of the case when the extension host fails to start
* Fixes#53966
* Remove confusing Start from wordPartLeft commands ID
* vscode-xterm@3.6.0-beta12
Fixes#55488
* Initial size is set to infinity!! Fixes#55461
* Polish embeddedEditorBackground
* configuration service misses event
* Fix#55224 - fix duplicate results in multiroot workspace from splitting the diskseach query
* Select all not working in issue reporter on mac, fixes#55424
* Disable fuzzy matching for extensions autosuggest (#55498)
* Fix clipping of extensions search border in some third party themes (#55504)
* fixes#55538
* Fix bug causing an aria alert to not be shown the third time
(and odd numbers thereafter)
* Settings editor - work around rendering glitch with webkit-line-clamp
* Settings editor - revert earlier '...' changes
* Settings editor - move enumDescription to its own div, because it disturbs -webkit-line-clamp for some reason
* Settings editor - better overflow indicator
* Don't show existing filters in autocomplete (#55495)
* Dont show existing filters in autocomplete
* Simplify
* Settings Editor: Add aria labels for input elements Fixes: #54836 (#55543)
* fixes#55223
* Update vscode-css-languageservice to 3.0.10-next.1
* Fix#55509 - settings navigation
* Fix#55519
* Fix#55520
* FIx#55524
* Fix#55556 - include wordSeparators in all search queries, so findTextInFiles can respect isWordMatch correctly
* oss updates for endgame
* Fix unit tests
* fixes#55522
* Avoid missing manifest error from bubbling up #54757
* Settings format crawl
* Search provider - Fix FileSearchProvider to return array, not progress
* Fix#55598
* Settings editor - fix NPE rendering settings with no description
* dont render inden guides in search box (#55600)
* fixes#55454
* More settings crawl
* Another change for #55598 - maxResults applies to FileSearch and TextSearch but not FileIndex
* Fix FileSearchProvider unit tests for progress change
* fixes#55561
* Settings description update for #54690
* Update setting descriptions for online services
* Minor edits
* fixes#55513
* fixes#55451
* Fix#55612 - fix findTextInFiles cancellation
* fixes#55539
* More setting description tweaks
* Setting to disable online experiments #54354
* fixes#55507
* fixes#55515
* Show online services action only in Insiders for now
* Settings editor - change toc behavior default to 'filter'
* Settings editor - nicer filter count style during search
* Fix#55617 - search viewlet icons
* Settings editor - better styling for element count indicator
* SearchProvider - fix NPE when searching extraFileResources
* Allow extends to work without json suffix
Fixes#16905
* Remove accessability options logic entirely
Follow up on #55451
* use latest version of DAP
* fixes#55490
* fixes#55122
* fixes#52332
* Avoid assumptions about git: URIs (fixes#36236)
* relative path for descriptions
* resourece: get rid of isFile context key
fixes#48275
* Register previous ids for compatibility (#53497)
* more tuning for #48275
* no need to always re-read "files explorer"
fixes#52003
* read out active composites properly
fixes#51967
* Update link colors for hc theme to meet color contrast ratio, fixes#55651
Also updated link color for `textLinkActiveForeground` to be the same as `textLinkForeground` as it wasn't properly updated
* detect 'winpty-agent.exe'; fixes#55672
* node-debug@1.26.7
* reset counter on new label
* Settings editor - fix multiple setting links in one description
* Settings editor - color code blocks in setting descriptions, fix#55532
* Settings editor - hover color in TOC
* Settings editor - fix navigation NPE
* Settings editor - fix text control width
* Settings editor - maybe fix#55684
* Fix bug causing cursor to not move on paste
* fixes#53582
* Use ctrlCmd instead of ctrl for go down from search box
* fixes#55264
* fixes#55456
* filter for spcaes before triggering search (#55611)
* Fix#55698 - don't lose filtered TOC counts when refreshing TOC
* fixes#55421
* fixes#28979
* fixes#55576
* only add check for updates to windows/linux help
* readonly files: append decoration to label
fixes#53022
* debug: do not show toolbar while initialising
fixes#55026
* Opening launch.json should not activate debug extensions
fixes#55029
* fixes#55435
* fixes#55434
* fixes#55439
* trigger menu only on altkey up
* Fix#50555 - fix settings editor memory leak
* Fix#55712 - no need to focus 'a' anymore when restoring control focus after tree render
* fixes#55335
* proper fix for readonly model
fixes#53022
* improve FoldingRangeKind spec (for #55686)
* Use class with static fields (fixes#55494)
* Fixes#53671
* fixes#54630
* [html] should disable ionic suggestions by default. Currently forces deprecated Ionic v1 suggestions in .html files while typing. Fixes#53324
* cleanup deps
* debug issues back to andre
* update electron for smoketest
* Fix#55757 - prevent settings tabs from overflowing
* Fix#53897 - revert setting menu defaults to old editor
* Add enum descriptions to `typescript.preferences.importModuleSpecifier`
* Fix#55767 - leaking style elements from settings editor
* Fix#55521 - prevent flashing when clicking in exclude control
* Update Git modified color for contrast ratio, fixes#53140
* Revert "Merge branch 'master' of github.com:Microsoft/vscode"
This reverts commit bf46b6bfbae0cab99c2863e1244a916181fa9fbc, reversing
changes made to e275a424483dfb4ed33b428c97d5e2c441d6b917.
* Revert "Revert "Merge branch 'master' of github.com:Microsoft/vscode""
This reverts commit 53949d963f39e40757557c6526332354a31d9154.
* don't ask to install an incomplete menu
* Fix NPE in terminal AccessibilityManager
Fixes#55744
* don't display fallback menu unless we've closed the last window
* fixes#55547
* Fix smoke tests for extension search box
* Update OSSREADME.json for Electron 2.0.5
* Update distro
Includes Chromium license changes
* fix#55455
* fix#55865
* fixes#55893
* Fix bug causing workspace recommendations to go away upon ignoring a recommendation (#55805)
* Fix bug causing workspace recommendations to go away upon ignoring a recommendation
* ONly show on @recommended or @recommended:workspace
* Make more consistant
* Fix#55911
* Understand json activity (#55926)
* Understand json file activity
* Refactoring
* adding composer.json
* Distro update for experiments
* use terminal.processId for auto-attach; fixes#55918
* Reject invalid URI with vscode.openFolder (for #55891)
* improve win32 setup system vs user detection
fixes#55840fixes#55840
delay winreg import
related to #55840
show notification earlier
related to #55840fix#55840
update inno setup message
related to #55840
* Fix#55593 - this code only operates on local paths, so use fsPath and Uri.file instead
* Bring back the old menu due to electron 2.0 issues (#55913)
* add the old menu back for native menus
* make menu labels match
* `vscode.openFolder`: treat missing URI schema gracefully (for #55891)
* delay EH reattach; fixes#55955
* Mark all json files under appSettingsHome as settings
* Use localized strings for telemetry opt-out
* Exception when saving file editor opened from remote file provider (fixes#55051)
* Remove terminal menu from stable
Fixes 56003
* VSCode Insiders crashes on open with TypeError: Cannot read property 'lastIndexOf' of undefined. Fixes#54933
* improve fix for #55891
* fix#55916
* Improve #55891
* increase EH debugging restart delay; fixes#55955
* Revert "Don't include non-resource entries in history quick pick"
This reverts commit 37209a838e9f7e9abe6dc53ed73cdf1e03b72060.
* Diff editor: horizontal scrollbar height is smaller (fixes#56062)
* improve openFolder uri fix (correctly treat backslashes)
* fixes#56116
repair ipc for native menubar keybindings
* Fix#56240 - Open the JSON settings editor instead of the UI editor
* Fix#55536
* uriDisplay: if no formatter is registered fall back to getPathlabel
fixes#56104
* VSCode hangs when opening python file. Fixes#56377
* VS Code Hangs When Opening Specific PowerShell File. Fixes#56430
* Fix#56433 - search extraFileResources even when no folders open
* Workaround #55649
* Fix in master #56371
* Fix tests #56371
* Fix in master #56317
* increase version to 1.26.1
* Fixes#56387: Handle SIGPIPE in extension host
* fixes#56185
* Fix merge issues (part 1)
* Fix build breaks (part 1)
* Build breaks (part 2)
* Build breaks (part 3)
* More build breaks (part 4)
* Fix build breaks (part 5)
* WIP
* Fix menus
* Render query result and message panels (#2363)
* Put back query editor hot exit changes
* Fix grid changes that broke profiler (#2365)
* Update APIs for saving query editor state
* Fix restore view state for profiler and edit data
* Updating custom default themes to support 4.5:1 contrast ratio
* Test updates
* Fix Extension Manager and Windows Setup
* Update license headers
* Add appveyor and travis files back
* Fix hidden modal dropdown issue
- Fixes#1867 context menu should be extensible
- Added context keys to support "when" conditions on the new extensions
- Fixes issue where actions like New Query, scripting show up even if these are not valid for the provider type or object type
- Fixed node expansion bug where rapid connect / expand / disconnect could break the app (fix in ObjectExplorerService.onNodeExpanded)
- Major change to how internal actions work. These cannot assume the context has non-serializable objects. Opened up some APIs to make this easier to handle.
- Fixed a number of existing bugs in internal actions.
- Notably, DisconnectAction was adding a listener on each right-click on an active connection and never getting it disposed. This wasn't needed at all due to design changes.
- Another bug fix is that the Manage action now correctly navigates to the DB dashboard for database-level connections. Before this it went to the server-level dashboard.
* Define API for context info
- Fix a number of issues that arose while testing a provider without a metadata service or serverInfo object returned via DMP calls. These should be optional services/features and we should be resilient to them not existing. In most places we already have these checks
- This does not cover a number of "improvement" scenarios, such as filtering extension tabs by provider, and defaulting any tabs that don't specify a provider to be MSSQL. This and some other features to ensure things make sense will be implemented in separate PRs but this unblocked the scenario
* change to generic injection
* formatting
* fixed missed merge
* change to keep a record of the services per selector
* formatting
* adding back in tests
* apply back tests
* remove fundamentally broken test
- Add the ActionDescriptor functionality. This is a table of information with actionable links
- Also add optional status indicator which shows a color. In the future, would like to extend to have icon in this space as an alternative.
- Fixed 1 issue with account management UI throwing an error on cancel
This is an initial PR for a new model-driven UI where extensions can provide definitions of the components & how they're laid out using Containers.
#1140, #1141, #1142, #1143 and #1144 are all tracking additional work needed to improve the initial implementation and fix some issues with the implementation.
Features:
- Supports defining a FlexContainer that maps to a flexbox-based layout.
- Supports creating a card component, which is a key-value pair based control that will lay out simple information to a user. Eventually this will have an optional set of actions associated with it.
- Has a sample project which shows how to use the API and was used for verification
* added caching for jobs view and history page
* added build fix
* removed agent from cache service name
* put cache in job mgmt service and fixed view destroy error
* jobs view cache and refresh implemented
* refresh and cache complete
* added refresh to job history page
* fixed steps style
* explicitly tell user when no steps are available
* show message when no prev runs available
* code review refactor
* cleaned code
* added code that got left out
* Initial VS Code 1.21 file copy with patches
* A few more merges
* Post npm install
* Fix batch of build breaks
* Fix more build breaks
* Fix more build errors
* Fix more build breaks
* Runtime fixes 1
* Get connection dialog working with some todos
* Fix a few packaging issues
* Copy several node_modules to package build to fix loader issues
* Fix breaks from master
* A few more fixes
* Make tests pass
* First pass of license header updates
* Second pass of license header updates
* Fix restore dialog issues
* Remove add additional themes menu items
* fix select box issues where the list doesn't show up
* formatting
* Fix editor dispose issue
* Copy over node modules to correct location on all platforms