Skip to content
/ vls Public

A Verilog language server written in Go with a VSCode extension

License

Notifications You must be signed in to change notification settings

chrehall68/vls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verilog Language Server Extension

Inspired by the lack of editor support in existing Verilog extensions for VSCode, this repository contains a powerful, hand-written Verilog language server and an extension to use it with VSCode.

To use the extension, simply open the workspace containing your Verilog project. Assuming the project is opened in Trusted mode, the extension should be able to instantly provide feedback.

Functionality

This Language Server works for Verilog files.

Current Features:

  • Completions
  • Go To Definition for modules
  • Token Highlighting
  • Warning Diagnostics
  • Error Diagnostics

Roadmap Features:

  • Go To Definition for variables
  • Find all References
  • Error-tolerant parser
  • Improved Completions

Contributing

If you want to contribute, you can get started by following the below steps:

  • Clone this repository
  • Run npm install in client/. This installs all necessary npm modules.
  • Open the repo in VS Code
  • Switch to the Run and Debug View in the Sidebar (shortcut: Ctrl+Shift+D)
  • Select VLS from the drop down
    • This will launch both the Extension Development Host in debug mode, and the language server in Golang Debugger
    • Set breakpoints any source file in server/ or client/, debug to your pleasure!
  • Press ▷ to run the launch config (shortcut: F5)
    • tsc watch is started automatically on folder open
    • To reload changes you made to the extension, simply run Reload Window in the Extension Development Host
  • In the Extension Development Host, open a Verilog Document
    • You should now be able to use the extension and see the autocomplete functionality

About

A Verilog language server written in Go with a VSCode extension

Resources

License

Stars

Watchers

Forks

Packages

No packages published