lsif-debug 0.0.1-alpha.5

This is a prerelease version of lsif-debug.
dotnet tool install --global lsif-debug --version 0.0.1-alpha.5                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local lsif-debug --version 0.0.1-alpha.5                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=lsif-debug&version=0.0.1-alpha.5&prerelease                
nuke :add-package lsif-debug --version 0.0.1-alpha.5                

LSIF Debug Tool

This repository contains a dotnet tool that allows you to better debug / understand LSIF output.

How to install

Note: You must have the .NET 6.0 SDK installed

dotnet tool install lsif-debug --prerelease --global

Usage

Description:
  Tool to allow you to better debug / understand LSIF output.

Usage:
  lsif-debug [command] [options]

Options:
  --version       Show version information
  -?, -h, --help  Show help and usage information

Commands:
  link <lsif> <source>  Link a *.lsif file to a given source repository.
  visualize <lsif>      Visualize a linked LSIF file in VSCode.

The link command is used to merge vital information from a source repository into an LSIF file to make it easier to visualize.

Once linked dumps can be visualized on any machine.

Linking a single LSIF file

lsif-debug link C:/Users/JohnDoe/Downloads/Example.lsif C:/GitHub/RepoThatGendLSIFFolder

Output: C:/Users/JohnDoe/Downloads/Example.linked.lsif

Linking multiple LSIF files

Sometimes LSIF is separated on a per-project / scope basis resulting in multiple LSIF files representing a single dump. In this situation lsif-debug can combine linked information of all LSIF files into one final linked output.

lsif-debug link C:/Users/JohnDoe/Downloads/FolderWithLotsOfLSIF C:/GitHub/RepoThatGendLSIF

Output: C:/Users/JohnDoe/Downloads/FolderWithLotsOfLSIF.linked.lsif

Visualize

The visualize command installs a VSCode extension to visualize LSIF and then launches VSCode with the given linked LSIF path.

lsif-debug visualize C:/Users/JohnDoe/Downloads/Example.linked.lsif

Once in VSCode you can interact with the LSIF dump as if you were in your IDE (hover, definition, references etc.):

gif showing visualization

Contributing

Contributions are welcome! For instructions on how to build / debug the source see below.

lsif-debug

Open solution in Visual Studio and done!

Note: Packaging lsif-debug uses a pre-built version of lsif-visualizer-extension (one I hacked together). Contributions making this more automated would be super welcome.

lsif-visualizer-extension

See its dedicated README.md

Testing

lol

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
0.0.1-alpha.5 364 10/10/2022
0.0.1-alpha.4 232 10/6/2022
0.0.1-alpha.3 300 9/21/2022
0.0.1-alpha.2 384 9/16/2022