Address VS Code API changes where document symbol provider now returns a hierarchy of headers, not a list.
This fixes a lot of issues with incorrect reporting of missing headers etc.
- Respect
.gitignore
when looking up files to suggest as well as MarkDown files to diagnose links in
- Fix a problem with the link path diagnostics where headers in other files would be searched for in the the file with the link
- Fix attempting to index all files for diagnostics where we are only interested in MarkDown files and monitor errors from
openTextDocument
Introduce telemetry in preparation to the upcoming release of the link context recognizer rewrite.
More about the telemetry, including information on how to opt out, in Monitoring.
More about the new features following the link context recognizer rewrite in upcoming releases.
- Fix suggestions for headers within the very file (
[](#)
) not narrowing down as the user types because of the missingfilterText
bit - Fix header-only links within the very file not being checked against the broken link diagnostics
- Contribute a code action provider for link diagnostics which currently offers and option to create the file if a links file path points to a non-existent file
- Fix a problem where two or more consecutive links on one line would be highlighted as one stretching from first to last
- Add a mode where typing
#
after](
(so](#
) will suggest only local file headers, this should help with use-cases where performance issues prevent use on big repos
- Fix an issue where a link in a checkbox would incorrectly highlight the whole checkbox line (e.g.:
- [ ] Do [a task](task.md)
would highlight within the first[
and the last]
) - Fix an issue where links in inline code spans weren't ignored unless they were the only thing with the backticks (so
task: [task](task.md)
would not get ignored)
- Fix icon so that it works on backgrounds of all shades
- Add a crude, deterministic, generated icon for the VS Code extension marketplace
- Generate link URL fragments without periods in suggestions for MarkDown headers
- URL fragments containing periods will still be accepted in diagnostics, so this doesn't break existing links
- Diagnose links for local path existence only for URLs with no scheme or explicit
file
scheme
- Support triggering suggestions by the VS Code shortcut (Ctrl + Space by default)
- Please be aware that this still only works after
(
(and[
if enabled in settings)
- Please be aware that this still only works after
- Do not recognized links in MarkDown inline code spans either.
- Do not recognize links in MarkDown code blocks so that file path validation diagnostic doesn't operate on them either
- Add a configuration setting for toggling suggestions for headers and default it to
true
(existing behavior)
- Add a configuration setting for toggling full suggestion mode (include suggestions on
[
in addition to the standard(
) - Default the new configuration to
false
, breaking the behavior of past versions (it is a niche feature and the new default should be the right choice)
- Update sorting to show header-less file suggestion before file header suggestions from the same file
- Sort file headers in document order
- Validate header existence on top of file existence in link checker Problems pane diagnostic contributions
- Suggest on both
[
(file name is used as link text) and already supported(
(path-only) - Introduce tests to improve delivery quality
Do not path-check mailto
links.
Report broken links to the Problems pane (using a diagnostic collection which will also color Explorer pane items red if they have errors).
- Insert correct relative paths in respect to the current document
- Suggest directories on top of already existing file and header suggestions
- Ignore
search.exclude
correctly when searching for files (nonode_modules
etc.) - Filter paths with both forward and backward slashes
- Improve display of suggestion:
- For files, display only name and display workspace relative path in detail
- For headers, display header text and display file path in detail
- Improve sorting and filtering to be predictable
- Update MarkDownDOM for good types
Integrate MarkDownDOM for MarkDown header plain text parsing and search only unexcluded files.
- Initial release suggesting local files and MarkDown file headers to MarkDown links