Home - Helmut-Ortmann/lsp-csharp-analyzer GitHub Wiki
lsp-csharp-analyzer
A windows C# GUI to analyse code with the help of a Language Server. LSP Analyzer is based on the C# Implementation OmniSharp/csharp-language-server-protocol.
It's possible to store the collected code information in an SQLite database and analyze the code according to your needs.
Goals
- Have a GUI to play with LSP and language servers
- Get experiences with LSP
- Analyze language server
- Analyze code
- Symbols
- Required Interfaces
- Provided Interfaces
- Connect an UML tool with code
- CQuery/Callers
- Macros
- Store symbols in an SQLite database for analyzing
- Code Metrixs and Code Analyzis
Features
LSP Analyzer supports the following features:
- GUI
- Grid
- Filter
- Open implementation in Editor
- Copy names to clipboard
- Choose language server
- Choose wokspace with code or whatever
- Capabilities
- Server
- Client
- Symbol
- Search gloabl
- Reference
- Highlight
- Hover
- Additional
- CQuery/Callers (see where a function is called)
- CQuery/Vars (see where a variable is used)
- Macros
- Capabilities
First steps
- Install and build CQuery C/C++ language server
- Set settings in Settings.Json
- Click: Initialize Server
- Enter a symbol (e.g. 'sens' or '*sens' or '%sens')
- LSP Analyzer shows you all the matching symbols in the workspace
- Select a row and play
C# Server Protocol Implementation
Supported Servers
- CQuery C/C++ language server
- Servers with stdio protocol
- The basic framework CQuery C/C++ language server supports all types
Feedback
I appreciate feedback and advices!!!
Reference
- C# LSP Implementation
- Client Features explained, VS Code
- CQuery C/C++ language server
- Feature required/provided)
- Filter
- Language Server Protocol
- Menu
- OmniSharp/csharp-language-server-protocol, the C# implementation of LSP here used
- Settings
- SQLite database