Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically update links when copy/pasting between markdown files #209318

Closed
mjbvz opened this issue Apr 2, 2024 · 9 comments · Fixed by #221760
Closed

Automatically update links when copy/pasting between markdown files #209318

mjbvz opened this issue Apr 2, 2024 · 9 comments · Fixed by #221760
Assignees
Labels
feature-request Request for new features or functionality markdown Markdown support issues verification-found Issue verification failed verification-needed Verification of issue is requested verified Verification succeeded
Milestone

Comments

@mjbvz
Copy link
Collaborator

mjbvz commented Apr 2, 2024

Tracks automatically rewriting links in text that is copy and pasted between markdown files. This includes fixing the paths on relative links and also bringing along link definitions if references are copied

@mjbvz mjbvz added feature-request Request for new features or functionality markdown Markdown support issues labels Apr 2, 2024
@mjbvz mjbvz added this to the April 2024 milestone Apr 2, 2024
@mjbvz mjbvz self-assigned this Apr 2, 2024
mjbvz added a commit that referenced this issue Apr 2, 2024
…209319)

* Add experimental support for updating markdown links on copy/paste

For #209318

* Remove log
@Evileoo
Copy link

Evileoo commented Apr 4, 2024

This is genius !
Spent hours writing docs in markdown and never thought of this 😂

@mjbvz mjbvz modified the milestones: April 2024, May 2024 Apr 22, 2024
@mjbvz
Copy link
Collaborator Author

mjbvz commented Apr 22, 2024

Will ship as experimental in April. Moving to may to track finalization if everything looks good

@mjbvz mjbvz modified the milestones: May 2024, June 2024 May 24, 2024
@mjbvz mjbvz modified the milestones: June 2024, July 2024 Jun 24, 2024
mjbvz added a commit to mjbvz/vscode that referenced this issue Jul 15, 2024
Fixes microsoft#209318

Enables this new feature by default (but as an option, not the default way to paste)
mjbvz added a commit that referenced this issue Jul 22, 2024
Fixes #209318

Enables this new feature by default (but as an option, not the default way to paste)
@vscodenpa vscodenpa added the unreleased Patch has not yet been released in VS Code Insiders label Jul 22, 2024
@mjbvz mjbvz added the verification-needed Verification of issue is requested label Jul 23, 2024
@mjbvz
Copy link
Collaborator Author

mjbvz commented Jul 23, 2024

To verify, give a quick run through of the previous test plan item: #210945

Also check that the setting names are no longer marked experimental

@vscodenpa vscodenpa added insiders-released Patch has been released in VS Code Insiders and removed unreleased Patch has not yet been released in VS Code Insiders labels Jul 24, 2024
@DonJayamanne DonJayamanne added the verification-found Issue verification failed label Jul 25, 2024
@DonJayamanne
Copy link
Contributor

DonJayamanne commented Jul 25, 2024

Also check that the setting names are no longer marked experimental
Verified

Tested #210945 and it fails to update the links

Image

@DonJayamanne DonJayamanne reopened this Jul 25, 2024
@vscodenpa vscodenpa removed the insiders-released Patch has been released in VS Code Insiders label Jul 25, 2024
@mjbvz
Copy link
Collaborator Author

mjbvz commented Jul 25, 2024

@DonJayamanne Works for me. Do you see a widget after pasting that lets you select update links:

Image

@mjbvz
Copy link
Collaborator Author

mjbvz commented Jul 25, 2024

Also make sure you haven't disabled "editor.pasteAs.enabled"

@DonJayamanne
Copy link
Contributor

Do you see a widget after pasting that lets you select update links:

Yes

Image

Also make sure you haven't disabled "editor.pasteAs.enabled"

Yes

FYI, this is a new vscode profile (hence using defaults).

Image

@mjbvz
Copy link
Collaborator Author

mjbvz commented Jul 26, 2024

Ok thanks, that's the expected behavior actually now. I forgot that this changed when I finalized this

The feature should now always be enabled by default but it should never kick in automatically. To verify:

  • Confirm that you don't see the widget if you are not copy and pasting markdown that contains any links

  • Confirm you see the widget when pasting links. Confirm you can click on the widget to update the links

@mjbvz mjbvz closed this as completed Jul 26, 2024
@DonJayamanne DonJayamanne added the verified Verification succeeded label Jul 26, 2024
@DonJayamanne
Copy link
Contributor

DonJayamanne commented Jul 26, 2024

I forgot that this changed when I finalized this

In that case, the following setting seems misleading
My expectation would be that the links would automatically get updated instead of me having to select some item from a dropdown widget.
I.e. I'd consider re-wording the text

Given that we have a widget, i fail to see the point of having this setting, i.e. this setting now controls whether the wdiget is visible or not, and not whether we update the links.

Image

mjbvz added a commit to mjbvz/vscode that referenced this issue Jul 26, 2024
mjbvz added a commit to mjbvz/vscode that referenced this issue Jul 26, 2024
mjbvz added a commit that referenced this issue Jul 26, 2024
meslubi2021 added a commit to meslubi2021/vscode that referenced this issue Aug 10, 2024
* primary button

* debug: treat 'subtle' frames like 'deemphasized' (microsoft#209078)

To be closer to DAP

Fixes microsoft#206801

* debug: fix resizing window makes debug toolbar disappear (microsoft#209075)

Fixes microsoft#208895

Should work but testing on aux windows was limited due to microsoft#209073

* trees: always handle an twistie events by the tree if it changes collapsed state (microsoft#209090)

This allows preserving your multi-selection while expanding/collapsing other nodes in the tree. I think this is a good overall change to make across our UI. E.g. similarly, without this change, you can't expand a folder in the Explorer view without losing your selection state. cc @joaomoreno

Fixes microsoft#208852

* Adjust scheme and authority of URIs in remote terminals

Fixes microsoft#208572

* Also check file scheme

* Apply environment when selecting default profile as well

Fixes microsoft#204167

* Add ... suffix to new with profile actions

Fixes microsoft#208655

* Add git bash to shell integration description

* Remove notebook view from focus order & accessibility tree when hidden (microsoft#209059)

* Remove notebook view from focus order when hidden

* Set `inert` on the correct container

* Use IconSelectBox to change terminal icon, remove dupes

Fixes microsoft#199964

* testing: fix resolveHandler not called on item replacement (microsoft#209121)

Fixes microsoft#207574

* remove experimental setting (microsoft#209126)

* Remove terminal change icon tests as they required quick pick

* chore: bump katex (microsoft#209141)

* get request to show up in chat view

* Update src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.ts

* Update src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.ts

* Also fire an event when focus & selection goes to empty (microsoft#209145)

Fixes microsoft#209074

* Port followups candidate to main (microsoft#209203)

Fix followups going to participant ID (microsoft#209114)

Fix microsoft/vscode-copilot#4861

* Remove 'session' from transfer API (microsoft#209204)

* Fix typo in editor.action.startDebugTextMate title (microsoft#209160)

TextMate is one word.

* Remove other icon smoke tests

* Limit drop disablement to just http(s) uris (microsoft#209240)

For microsoft#209239

* Introduce ITerminalConfigurationService

Part of microsoft#181900

* Docs

* Adopt terminal config service in terminalActions

* Adopt terminal config service in terminalEditor

* Adopt terminal config service in more files

* Move more to terminal config service

* Remove ITerminalConfigHelper.config completely

Part of microsoft#181900

* Init TerminalConfigurationService

* Test for TerminalConfigurationService

* Pick up editor action command descriptions (microsoft#209259)

Continuation of microsoft#193937 and microsoft#197442

This adds the command descriptions of editor actions to the ICommandQuickPick results so that those results can be picked up by the "similar commands" feature.

Example:

I can add:
```
metadata: {
    description: nls.localize2('test', "xyz"),
}
```
to the [AddLineCommentAction](https://github.com/microsoft/vscode/blob/7d788e70b95c79718b565ff9e255858db4cc74b3/src/vs/editor/contrib/comment/browser/comment.ts#L105)... and then when I search "xyz" it'll show up.

* Fix leak in terminalConfigHelper.test

* Include Command Description in `_getAllCommands` (microsoft#209260)

This is important information for the command so we should include it in this response.

* Move wsl recommendations out of config helper and into contribution

Part of microsoft#181900

* Fix tests

* Fix XtermTerminal.test

* fix microsoft#209167

* Enable dnd in chat references list (microsoft#209263)

* Fix tests for reals this time

* Pick up latest TS for building VS Code (microsoft#209265)

* fix microsoft#207946

* move a line

* clean up

* Remove xterm triggerDataEvent private API usage

* Make types more correct

* Remove _onData access

* Don't use stateful regex (microsoft#209268)

Fixes microsoft#209254

* Remove _onKey access

* Remove _charSizeService access

* Remove unneeded lint suppression

* Remove unused event emitter type

* Remove hack for canvas to force a refresh

I can no longer reproduce this issue and it was a big hack regardless.
Will track issues for any mentioned of bad resizes on the canvas
renderer.

* testing: fix testing-coverage-lineHeight being marked as a color (microsoft#209273)

* De-select output for `focus cell container` commands (microsoft#209269)

* pass message to de-select when container is selected from output

* clear selection in more cases

* Remove xterm canvas renderer from fallback logic

This simplifies things a lot, the plan is to remove the canvas renderer
completely from VS Code if all goes well (microsoft#209276).

Fixes microsoft#209275

* get insert kb to work in input editor

* eng: fix CSS tooling crashes watch task (microsoft#209278)

Get rid of the gulp-postcss plugin and just implement our own, I couldn't get it to work.

Fixes microsoft#207827

* just add as secondary

* Update src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.ts

* Update src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.ts

* Remove isMeasurement (microsoft#209287)

* Remove isMeaasurement from the typing

* Remove isMeasurement

* fix microsoft#146972

* Migrate rest of TerminalConfigHelper to TerminalConfigurationService

Fixes microsoft#181900

* Replace label computer ctor in test

* Remove safari check to use webgl

* remove extra width from aiButton (microsoft#209295)

* Fix hygiene

* use disposableStore

* notebook output performance (microsoft#209282)

* record perf data for notebook outputs

* debounce event per cell

* send size info, emit directly from perf message listener

* fix classification details

* better names

* Fix test failures due to private mangling

* Add `windowOptions` to xtermTerminal

* SCM - Add support for filtering history item changes (microsoft#209327)

* Support Shift+Up/Down keys in notebook outputs (microsoft#209314)

* Fixes microsoft#209324

* Fix opening folders in file picker (microsoft#209330)

Part of microsoft#208937

* SCM - 💄 API cleanup (microsoft#209339)

* SCM - 💄 API cleanup

* Fix compilation

* fix 208710 (microsoft#209343)

* fix syncing profiles (microsoft#209336)

fix microsoft#208710

* bailout if profile with same name exists already

* make it sync

* Fixes microsoft#209251

* add and use ChatInputPart#contentHeight (microsoft#209345)

fixes https://github.com/microsoft/vscode-copilot/issues/4727

* SCM - use custom hover for history item statistics (microsoft#209346)

* Move onto ITerminalConfigurationService

* Bring terminal editor's mousedown handling closer in line with tabbed view

* Use switch, allow Linux to paste regular clipboard too

* Improve setting description

* docs: categorize chat-list-background as other (microsoft#209303)

* Add experimental support for updating markdown links on copy/paste (microsoft#209319)

* Add experimental support for updating markdown links on copy/paste

For microsoft#209318

* Remove log

* use abstract class

* swap lines

* implement as classes

* Logging navigible container events for debug

* make isPresent optional

* Update src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.ts

* Log only when config is enabled

* Enable terminal smoke tests on desktop

Fixes microsoft#146811

* exthost: fix profiling not working (microsoft#209142)

* exthost: fix profiling not working

Fixes microsoft#194678. Requires jrieken/v8-inspect-profiler#3 to be merged and published in order to pass the 'host' down.

* bump package

* Inline completion refactoring (microsoft#209011)

* Fix leaks in terminalTabsList

Fixes microsoft#207462

* Fix leaks in terminalInstance dnd

Fixes microsoft#207459

* Fix leaks in hoverService

Fixes microsoft#207454

* Support any OSC link scheme

Fixes microsoft#176812

* SCM - add history item hover (microsoft#209373)

* allow input elements to handle keydown events (microsoft#209362)

* fix microsoft#191745

* move declaration near usage

* chore: increase timeout of Linux x64 job (microsoft#209387)

* Allow via notification

* Fix search text input issues (microsoft#209365)

Fixes microsoft#209361

* fix issue

* api comment (microsoft#209410)

* render inline chat change decoration also inside minimap (microsoft#209414)

* remove restore on profile item (microsoft#209416)

* Engineering - update suppression file (microsoft#209419)

* chore - add `IInstantiationService#dispose` (microsoft#209421)

* Support setting keyboard shortcut from Action Item Context Menu (microsoft#209431)

fixes microsoft#208221

* Introduce hoverDelegate2.ts

Part of microsoft#204965

* Set base delegate, fix imports

* ICustomHover -> IUpdatableHover

* Remove duplicate/deprecated IHoverAction

* Move updatable hover interfaces to hover.ts

* Create IHoverDelegate2.setUpdatableHover

* Add deprecated annotations to old functions

* Move statusBarItem onto new hoverService.setupUpdatableHover

* More adoption, improve deprecated messages

* Remove all usage of setupCustomHover from base/

* Update majority of workbench references to setupCustomHover

* Remove all remaining usages of setupCustomHover

* Remove updatableHoverWidget.ts

* Stub null hover service in some tests

* Fix null access (microsoft#209449)

* Update tab bar colors (microsoft#209451)

tab bar colors debt

* Fix output vsbuffer transfer via workspace edit. (microsoft#209358)

* Fix output vsbuffer transfer via workspace edit.

* Adopt interface change.

* fix microsoft#209091 (microsoft#209454)

* support `vscode.ChatResponseTextEditPart` and support rendering of text edits in chat widget (using the diff editor)

* chore: add new colours (microsoft#209457)

* use disposableStore

* Add CLI cleaning regex (microsoft#209462)

* fix microsoft#152476

* Enable copy paste api in scm input (microsoft#209466)

* Enable dnd and copy paste apis in scm input

For microsoft#209460

Enables dropping or pasting a file from the vscode/system explorer into the scminput to insert the file name. Currently nothing happens when you try this

In the future will also allow extensions to hook into these apis

* Revert organize imports

* Remove duplication

* fix: trim end of matched link (microsoft#209469)

* dispose saved text model with wrong view type (microsoft#209461)

* fix microsoft#184454

* rm empty line

* web: add didResolveRemoteAuthority function for embedders (microsoft#209480)

* Clean up some tests, fix some leaks

* cli: allow public port forwarding via tunnels (microsoft#209489)

* fix microsoft#209487

* chore: increase compile job timeout (microsoft#209497)

* cli: add progress for extraction (microsoft#209499)

For https://github.com/microsoft/vscode-remote-tunnels/issues/724

* Convert Workspace Cell Edit dto to renderer types (microsoft#209498)

* Hide notebook chat actions from f1. (microsoft#209501)

* Fix injected services becoming public by mistake (microsoft#209513)

* Fix injected services becoming public by mistake

Fixes cases of `@IFooService readonly foo: IFooService`. This makes the service public, which is likely not expected and also means we can't mangle it

* Fix name

* Remove unused props

* - extract `IChatListItemRendererOptions`
- use diff editor hiding of unchanged regions
- simpler code compare block (for now)

* Add descriptions for commands microsoft#209511 (microsoft#209524)

* fix microsoft#209441 (microsoft#209526)

* Add color item for sidebar title background (microsoft#209528)

fixes microsoft#209164

* Count replies, not comments (microsoft#209527)

Fixes microsoft/vscode-pull-request-github#5869

* 💄

* Fix tab indicator size when tab action left and tab sizing fixed/shrink (microsoft#209532)

fixes microsoft#207003

* removing issue reporter API (microsoft#209125)

* first snap

* sent the comments to the shadow realm

* one comment we forgot to remove :(

* fix microsoft#207101

* move audio cue config to new file

* rename, move things around

* add accessibility signals to l8n

* add scope

* accessibility signals

* more descriptions

* Add todos for shellIntegration API from API sync

Part of microsoft#145234

* add discard description

* Update src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.ts

* fix microsoft#207813 (microsoft#209553)

* Add eslint rule for potentially unsafe disposable patterns (microsoft#209555)

`DisposableStore`/`MutableDisposable` properties should almost always be `readonly`. Otherwise it's easy to accidentally overwrite the property and leak the previous value. This commonly happens with code such as:

```ts
class Foo {
     private disposables = new DisposableStore();

     bar() {
         this.disposables = new DisposableStore(); // leaks old values
         ...
     }
```

This change adds an eslint rule to enforce this and adopts `readonly` for the caught cases. I only needed to add 2 suppression comments, which seems like an acceptable tradeoff for helping catch a common mistake

* Bump @typescript-eslint versions (microsoft#209516)

6.x is the latest release that supports our current node target

* Fix frontmatter line map (microsoft#209556)

Fixes microsoft#209267

* Fix typo from old code (microsoft#209557)

fix long standing typo

* Add command description (microsoft#209558)

For microsoft#209511

* testing: remove back compat shims for coverage API (microsoft#209559)

Now that the API is finalized, remove the back compat shims that were in place

* chore: update to rust 1.77 (microsoft#209563)

* chore: update to rust 1.77

* fix tests

* debug: add some command descriptions (microsoft#209570)

For microsoft#209511

* Pick up latest md language service (microsoft#209574)

* feat. add a menu item 'expand-select' to expand subtree in search view (microsoft#206033)

* feat. add a menu item 'Expand All' to expand subtree

* feat. update menu text

* Strongly typed instead of `any` for nb config (microsoft#209493)

* Strongly types instead of `any` for nb config

* fix swapped setting fallbacks

* Address review comments

---------

Co-authored-by: Michael Lively <milively@microsoft.com>

* Update borders on template reuse. (microsoft#209577)

* fix: deprecate unity-launch flag (microsoft#209471)

* Clean up chat submit actions (microsoft#209578)

* Align submit/send actions in chat

* Clean up chat submit actions

* Make all remote chat agents sticky (microsoft#209579)

* fix: add open user settings JSON description (microsoft#209583)

* Fix leak (microsoft#209588)

Fix microsoft#208621

* Set role on lightbulb widget (microsoft#209592)

* Add tree sticky scroll colors based on view location fixes microsoft#205441

* Expose comments input as text document (microsoft#209512)

* Expose comments input as text document

Fixes https://github.com/microsoft/vscode-pull-request-github/issues/5875
For microsoft#209508

Exposes comment input editors as text documents that extensions can see. Enables a few features in them too such as 'paste as' and 'drop into'

* Small fixes

* Enable markers in comments

* Fix async

* Fix comment buttons on the top

---------

Co-authored-by: Alex Ross <alros@microsoft.com>

* Adding command descriptions for TF-IDF search (microsoft#209612)

adding descriptions

* debt - `arrays.ts#tail` can return `undefined` (microsoft#209631)

* Fixing typo in description (microsoft#209630)

fixing typo

* Bump distro (microsoft#209636)

* add `StableEditorBottomScrollState` so that inline chat moves lines of interest less (microsoft#209637)

there is still some movement because the height of the zone changes through out the request

* chore - remove arrays#tail, use `array.at(-1)` instead

---------

Co-authored-by: meganrogge <megan.rogge@microsoft.com>
Co-authored-by: Connor Peet <connor@peet.io>
Co-authored-by: Megan Rogge <merogge@microsoft.com>
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Co-authored-by: Kyle Cutler <67761731+kycutler@users.noreply.github.com>
Co-authored-by: Aaron Munger <aamunger@microsoft.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
Co-authored-by: Tyler James Leonhardt <me@tylerleonhardt.com>
Co-authored-by: Rob Lourens <roblourens@gmail.com>
Co-authored-by: George Garside <grg.garside@gmail.com>
Co-authored-by: Matt Bierner <matb@microsoft.com>
Co-authored-by: Logan Ramos <lramos15@gmail.com>
Co-authored-by: Andrea Mah <31675041+andreamah@users.noreply.github.com>
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>
Co-authored-by: Don Jayamanne <don.jayamanne@outlook.com>
Co-authored-by: Henning Dieterichs <hdieterichs@microsoft.com>
Co-authored-by: Alex Ross <alros@microsoft.com>
Co-authored-by: Sandeep Somavarapu <sasomava@microsoft.com>
Co-authored-by: Johannes Rieken <johannes.rieken@gmail.com>
Co-authored-by: hsfzxjy <hsfzxjy@gmail.com>
Co-authored-by: Benjamin Christopher Simmonds <44439583+benibenj@users.noreply.github.com>
Co-authored-by: Peng Lyu <penn.lv@gmail.com>
Co-authored-by: Justin Chen <54879025+justschen@users.noreply.github.com>
Co-authored-by: Michael Lively <milively@microsoft.com>
Co-authored-by: Premium <pagict@gmail.com>
Co-authored-by: BeniBenj <besimmonds@microsoft.com>
Co-authored-by: Aiday Marlen Kyzy <amarlenkyzy@microsoft.com>
@vs-code-engineering vs-code-engineering bot locked and limited conversation to collaborators Sep 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality markdown Markdown support issues verification-found Issue verification failed verification-needed Verification of issue is requested verified Verification succeeded
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants