Open AndrzejKowalski9917 opened 3 months ago
First of all, thanks for keeping on improving this already awesome project! I tested with vhdl-ls 0.82.0 and found a lot of the things are working now. I wanted to share my results regarding the points I made in this issue:
I also very much like the autocompletion of types and conversion functions like to_integer
. Would it be possible (maybe through the vhdl-ls.toml configuration) to make this autocompletions lower case?
A minor issue I could observe was the following:
When typing a character in single quotes (like when assigning a value to a std_logic
), the following semicolon is autocompleted within single quotes when hitting enter, instead of smicolon + new line.
The issue might be slightly related to #289.
Recent changes to autocomplete have disabled large parts of VSCodes text based intellisense. While the filtering of the autocomplete results of vhdl-ls is a very welcome addition, it leads to a lot of typing and name lookup, if the statement is not autocompleted by vhdl-ls. I noticed the following examples which all worked before with text based intellisense.
generate statements
In generate statements neither constants for
for
loops nor thegenerate
keyword itself are suggested. Only if the finaleend generate
is already present, the text based auto complete suggests constants or thegenerate
keyword. Since you usually don't typeend generate
before the the rest, it's basically not working.No constant completion:
No
generate
completion:generate
completion as text based completion withend generate
already typed:variables
Variables are not autocompleted by vhdl-ls and have to be typed manually:
records
Records are not autocompleted and as such after the
.
only signals are suggested. The port suggestion works:Members of the record are not shown and have to be typed manually without text based intellisense:
calls to functions / procedures
Calls to functions and procedures are also not autocompleted by vhdl-ls and must be typed manually (no screenshot)
global constants in entity instantiations (as argument for generics)
If a constant is declared globaly in a package, it is not autocompleted when it should be used as argument for a generic in an entity instantiation. This was autocompleted by text based intellisense if the file containing the package was open somewhere, now it needs to be typed manually. Local constants declared within the same architecture are autocompleted.
Local constant autocompletion works:
Global constant autocompletion does not work:
It might be that there are more cases that I missed here.
The code used for testing is the following. If it is typed down from top to bottom without copying it, the above behavior can be observed.
Edit 27.06.2024 Added global constant auto completion in entity instantiations