Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New icons for completion and symbols (operators, structs/unions, enum values, template arguments, macros) #2849

Closed
sean-mcmanus opened this issue Nov 21, 2018 · 7 comments
Labels
bug Feature Request fixed Check the Milestone for the release in which the fix is or will be available. Language Service
Milestone

Comments

@sean-mcmanus
Copy link
Collaborator

sean-mcmanus commented Nov 21, 2018

Let us know if anyone has any problems with our icon usage.

Operators (previously used the function/method icon):
image
Structs/Unions (previously used the Class icon):
image
Enum values (previously used the Enum icon):
image
Template arguments (previously used the Enum icon):
image
Typedefs and using aliases (previously used the Class icon for symbols and the Enum icon for completion). We're using the "interface" icon for typedefs/aliases because VS Code provides no other alternative that is closer to the icon Visual Studio uses (extra (typedef) and (type alias) text should alleviate the confusion):
image
Macros/defines (previously used the Enum icon):
image
Folders (or symlinks to folders) (previously only files were selectable in #include completion):
image
Symbolic links to files (previously used the File icon corresponding to the symlink's type, not the target's type): This is possible, but I removed it because it doesn't seem to be worth it to check if every file is a symlink or not, just to have a different icon. Symlinks that are folders will appear as folders, which is the most important thing.
image.

Unchanged icons:
Classes/templates:
image
Enum types:
image
Functions/methods/constructors:
image
Member fields/variables:
image
Variables:
image
Namespaces:
image

@sean-mcmanus sean-mcmanus added bug Language Service Feature Request fixed Check the Milestone for the release in which the fix is or will be available. labels Nov 21, 2018
@sean-mcmanus sean-mcmanus added this to the December 2018 milestone Nov 21, 2018
@nxyd
Copy link

nxyd commented Nov 22, 2018

Can you distinguish declaration and definition using different icons for function?

@sean-mcmanus
Copy link
Collaborator Author

sean-mcmanus commented Nov 22, 2018

@xiaoyongdong Not currently. Visual Studio supports that icon type (arrow over the purple cube for declarations) -- I've added a feature request for VS Code at microsoft/vscode#63617 . You could add to that issue if you think of other icons we should add as well.

We might be able to add text like "(declaration)" to the symbol name...or we might have to switch to the new DocumentSymbol API first: #2230 .

@sean-mcmanus
Copy link
Collaborator Author

@xiaoyongdong Adding (declaration) text to the end of the symbol seems to be a workaround for the icon deficiences: #2851 .

@nxyd
Copy link

nxyd commented Nov 22, 2018

@sean-mcmanus Thank you! According to you it maybe the best way currently if extension can't use different icons.

@rewrking
Copy link

Does the #include completion use the theme's folder icon if it's present?

@sean-mcmanus
Copy link
Collaborator Author

@andrew-r-king Yes, the icon image is (will be) based on the theme. E.g.
image

@sean-mcmanus
Copy link
Collaborator Author

Updated icons/symbol info is supported now with our latest Insiders release: https://github.com/Microsoft/vscode-cpptools/releases . If you're using VS Code Insiders or have http.proxySupport not set to "off", you might not get the 0.21.0-insiders2 update automatically with C_Cpp.updateChannel set to "Insiders".

@github-actions github-actions bot locked and limited conversation to collaborators Oct 11, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Feature Request fixed Check the Milestone for the release in which the fix is or will be available. Language Service
Projects
None yet
Development

No branches or pull requests

3 participants