vs code - inactive code highlighting - visual-studio-code

language : c++
extension: "C/C++ ms-vscode.cpptools V0.9.3"
How can I setup highlighting of code that has been deactivated via a #ifdef in vs code.
vscode is not highlighting/greying-out by default and I can't find a way to activate it.

You can now do that! Feb 2018 update for C/C++ extension added that feature: https://devblogs.microsoft.com/cppblog/visual-studio-code-cc-extension-feb-2018-update/

in the visual studio go to extension details then go to setting of this extension ms-vscode.cpptools and enable setting for highlighting inactive section there are total 48 settings u can search for inactive.

If you have "C/C++" extension installed on VS Code, it inactivates unused regions in the code. To fix this, go to extensions (Ctrl + Shift + X) -> "C/C++" -> click on the gear (next to the extension description) -> extension settings.
A file will show up. Look for the option "Dim Inactive Regions" and uncheck it.
You're done.

You can't do that. Syntax highlighting in Visual Studio Code is currently performed exclusively by grammar files based on regular expressions.
In order to highlight deactivated code an extension needs to alter the text appearance based on your current setup. Unfortunately there is no API available for that.
You can vote for that feature here: Provide an API for advanced source highlighting

Related

How to hide/unhide comments with Microsoft VSCode?

I have a code with many comments, how can I hide these ones, but no delete, I need them after.
I need to hide all the comments in one click, not a simple collapse one
Can't find such feature as well.
Read this issue from GitHub - https://github.com/Microsoft/vscode/issues/46505
Seems like that VSCode can't do it (from the box) and all people waiting for that feature.
I was looking for a way to do that too as I put way too many comments making it hard to debug... and I came across this https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-hide-comments it makes all the comments invisible, but it leaves special characters in place. There are also commands to toggle show/hide.
Hide Comments - Visual Studio Marketplace
We now have an extension for that. On the editor title, a toggle action is available to show/hide the comments quickly.
You can download from inside Visual Studio 2022 called unobtrusive code and it will hide all comments and put "+" symbols on the collapsed line to the left of your code that you can open or close them with. It works great.
*** TO GET THE EXTENSION: ***
I went to the Extensions menu at the top of VS 2022 and chose manage extensions.
Then in the manage extensions window that opens up, choose online then Visual Studio Marketplace. In the search at the top right of the manage extensions window type in unobtrusive code. download it and then exit Visual Studio. You should see a window pop up to install it.
When you start VS 2022 again and open a C# script, it should have all the comments minimized to the "plus symbols" to the left of the code!
Hope it works for anyone wanting to hide their comments.

How to show breadcrumbs on Visual studio Code?

I made this window disappear. How do I recover it?
Those are called breadcrumbs in most IDEs. In VSCode, it's no different.
Find the setting by going to your settings and searching "Breadcrumbs".
If you choose to not use the fancy settings editor, you can manually add this to your configuration:
"breadcrumbs.enabled": true
Update
As of May 2019 (version 1.35), breadcrumbs are enabled by default in VSCode. They can still be toggled using the steps outlined above.
Beware that even if you have breadcrumbs turned on in settings and the Language is selected, you will have to save the file in order to get breadcrumbs in VS Code 1.52.1
I'd like to add one more thing to Ian MacDonalds answer:
You can simply toggle them within the "View"-menu View > Toggle Breadcrumbs :

How do I remap the `Alt+Click` action in visual studio code?

according to the documentation here I can add multiple cursors in visual studio code by using alt+Click in the editor. Sadly alt+drag is already used by the window manager to move the window around, so visual-studio-code does not get any key events. So how do I change that keyboard configuration in visual studio code? I could not find anything in the default key combinations file.
I am not looking for solution that changes my window manager, I really like that behavior and use it very frequently already for a very long time.
The easiest way in my opinion is:
From the top-level menu, click on
Selection -> Switch to Ctrl+Click for Multi-Cursor
Then you can use Ctrl+Click rather than Alt+Click.
You can see where this is in this screenshot:
My VSCode version is 1.24.1
There is currently no way to do this but already an open issue on GitHub which addresses that.

Method List in Visual Studio Code

I've recently started using the Visual Studio Code editor. I'm really loving it, but there's one critical feature (for me) that I haven't been able to find. Is there a method list, similar to the Navigator in NetBeans or Member dropdown in Visual Studio?
Yes, there is the workbench.action.gotoSymbol command. On Windows and Linux it's set to CTRL+Shift+O by default, on Mac it's Cmd+Shift+O.
If this command isn't available for the file types you are working with then you should take a look at the VSCode extensions. Not all languages support this feature.
Update: As stated in the comments by #jeff-xiao this extension is Deprecated and it's now a built in feature of Visual Studio code. It should be available at the bottom of file explorer as "Outline" view.
Previous text:
There is now an Extension that supports this. Code Outline creates a panel in the "Explorer" section and for JavaScript, will list variables and functions in a file. I've been using this for a while now and it scratches the itch I had. Other commenters have mentioned it supports Python and PHP well.
It still seems to be in development but I haven't had any issues. Development version available on GitHub. If you're the author reading this - thanks!
This is how it looks:
If Code Outline is not visible, you can show it by:
Invoke Code's Go to symbol command:
macOS: cmd+shift+o (the letter o, not zero)
Windows/Linux: ctrl+shift+o
Typing a colon (:) after invoking Go to symbol will group symbols by type (classes, interfaces, methods, properties, variables). Then just scroll to the methods section.
In 2020 version of VSCode
Cmd+P
# - Find symbol across files
# - Find symbol within file
#: - Group symbols within a file
In VSCode 1.24 you can do that.
Right click on EXPLORER on the side bar and checked Outline.
There is a new release that can do that!
Check here the latest release notes regarding code outline
UPDATE: The extension features are now built-in and the extension itself is now deprecated
I have found this extention: Code Outline.
This is how it looks like:
I believe that is what you have been looking for.
There's no such feature today,
the CTRL+SHIFT+O == CTRL+P # doesn't work for all languages.
As a last resort you can use the search panel - although it is not so fast an easy to use as you'd like - you can enter this regex in the search panel to find all functions:
function\s([_A-Za-z0-9]+)\s*\(
For PHP users :)
Make sure you have 'PHP Symbol' plugin then you can get all methods and class in 'OUTLINE' Sidebar's Bottom.
Press ⌘ command + ⇧ shift + O in "macOS" or Ctrl + Shift + O while using "Windows"
OUTLINE:
#Symbol:
For python in Explorer View, click on OUTLINE as below:
Visual Studio Code market place has a very nice extension named Go To Method for navigating only methods in a code file.
Hit Ctrl+Shift+P and type the install extensions and press enter
Now type Add to method in search box of extensions market place and press enter.
Click install to install the extension.
Last step is to bind a keyboard shortcut to the command workbench.action.gotoMethod to make it a real productivity thing for a developer.
Watch this link: https://code.visualstudio.com/updates/v1_40#_type-filters-for-outline-and-breadcrumbs
Explorer -> OUTLINE, you can choose what you want to show (only methods and functions in your case) and the result is similar to Netbeans:
Open symbol by name :
CTRL+T
might be what you are looking for. Works perfectly with my TypeScript project.
It is an extra part to the answer to this question here but I thought it might be useful. As many people mentioned, Visual Studio Code has the OUTLINE part which provides the ability to browse to different function and show them on the side.
I also wanted to add that if you check the follow cursor mark, it highlights that function name in the OUTLINE view, which is very helpful in browsing and seeing which function you are in.
ctrl+shift+o // This should work for javascript files by default
For PHP install the extension PHP SYMBOLS
FOR PYTHON install the extension PYTHON
On Reload, this will work fine
in-built code OUTLINE available now with VS code
There is a plugin called show functions which lists all the function definitions in a file. It also allows you to sort the function so can search them easily.
CTRL+F12 (CMD+F12 for Mac) - opens for me all methods and members in PHP class.
For find method in all files you can press CTRL + P and then start search with #
example : #signin
Take a look at Show Functions plugin.
It can list functions, symbols, bookmarks by configurable regular expressions. Regular expressions are a real saver, expecially when you're not using a mainstream language and when CodeOutline doesn't do the job.
It's ugly to see a split window with these functions (CodeOutline seems to be better integrated) but at least there's something to use
If you are using typescript you can use this extension "Code navigator for typescript".
I have been trying it and found it useful to list my typescript class methods.

Does Rubymine have the feature code snippet and all auto-complete

I'm used to the sublime text 3 editor.
It has many handy features.
take the code snippets for example,
Once you type begin then press TAB
It will generate the corresponding code block
begin
rescue Exception => e
end
And the plugin All Autocomplete
It can show the auto-complete hint for all opened files.
For example, if you have a variable name called taiwan_is_awesome
then you can get the autocomplete in other files.
Does Rubymine has the above features ?
If yes, what's the corresponding keymap ?
It's important for me to use those features.
THanks
Once you type begin then press TAB
It's called "Live Templates".
"Live templates (or code snippets) allow you to insert frequently-used constructions into your code. These can be conditions, blocks, loops, and so on."
You can manage bundled and create new ones at Settings/Preferences | Editor | Live Templates.
Here is a good "how to use" tutorial with screenshots: https://confluence.jetbrains.com/display/PhpStorm/Live+Templates+%28Snippets%29+in+PhpStorm -- it's for PhpStorm but exactly the same functionality is available in RubyMine.
UPDATE: 2022-11-15
The above tutorial link now automatically redirects to the corresponding Help page for PhpStorm.
Here is the same official Help page but for RubyMine that shows how to use and create them: https://www.jetbrains.com/help/ruby/using-live-templates.html
The setting you want to make RubyMine code completion work like All Autocomplete in Atom & ST3 is called "Autopopup code completion".
Solution:
Settings > Editor > General > Code Completion > "Autopopup code completion"
Note: there is another type of code completion called "Hippie Completion".
However, it works differently than "All Autocomplete". In RubyMine "Hippy Completion", you start typing text, and then you have to "guess" when RubyMine has enough text to figure out the completion you want. Then you hit ⌥/ (on the Mac). If RubyMine guesses right, it will autocomplete correctly.
I greatly prefer the "All autocomplete"/"Autopopup code completion" method, but just thought I'd mention this alternative.