Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Feature Requests
 Exclude a file or a folder from Intellisense?
 New Topic  Reply to Topic
 Printer Friendly
Author  Topic Next Topic  

KeyC0de
Junior Member

19 Posts

Posted - Aug 26 2024 :  04:31:58 AM  Show Profile  Reply with Quote
Hello,
It would be really beneficial to have a per-file property that allows to remove all intellisense parsing from it.
Even better if this was available to do from a folder or filter, so that we could exclude all intellisense information of all contained files & folders.

Example:
excluding a file from intellisense named my_shadows.cpp
This file contains the function `bool isCastingShadows() const noexcept;`
Now when I open the panel "Find Symbol" and search for `isCastingShadows` I shouldn't be able to find it.

Thanks.

PS. That's for C++.

Edited by - KeyC0de on Aug 26 2024 04:36:55 AM

foxmuldr
Tomato Guru

USA
403 Posts

Posted - Aug 26 2024 :  08:14:42 AM  Show Profile  Reply with Quote
I'm not sure you could exclude Intellisense parsing through VAX, but you could have them exclude it in their own internal parser.

Microsoft did recently introduce a content exclusion feature for Copilot, one which allows settings to exclude certain source code files:

https://devblogs.microsoft.com/visualstudio/copilot-content-exclusion-in-visual-studio/

"This feature allows your admins to configure Copilot to ignore certain files in a repository or organization, giving you enterprise control that ensures sensitive information is protected while seamlessly integrating trusted AI for efficient coding..."

--
Rick C. Hodgin
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19001 Posts

Posted - Aug 26 2024 :  08:30:53 AM  Show Profile  Reply with Quote
For VA, you need to turn On the setting:

VA Options -> Performance -> Do not parse files excluded by .vscode\settings.json (requires restart)

and make sure this file is present, in the folder that holds your SLN file, or in the root directory you are opening if you are opening a folder tree. The test file I use here with this setting enabled is:

{
    "files.exclude": {
        "*/cpp_dll_cpp17": true,
        "cpp_dll_cpp20" : true,
        "**/bugs" : true,
        "**/code_formatting_tests/clangFormatBase" : true,
        "**/test_plain_text.txt" : true,
        "**/*.xaml" : true
    }
}

which tests excluding entire folders, and all of their content, also specific file extensions and file names.

The excluded directories are "cpp_dll_cpp17", "cpp_dll_cpp20", "bugs" and "code_formatting_tests/clangFormatBase"

Can you see what I am doing with this sample file?

zen is the art of being at one with the two'ness
Go to Top of Page

KeyC0de
Junior Member

19 Posts

Posted - Aug 26 2024 :  08:53:20 AM  Show Profile  Reply with Quote
I'll try to test this.

quote:
Originally posted by feline
.vscode\settings.json (requires restart)



Where is the location of the file .vscode\settings.json?

For the record, my question is for Visual Studio 2022, not visual studio code.

Edited by - KeyC0de on Aug 26 2024 08:54:34 AM
Go to Top of Page

KeyC0de
Junior Member

19 Posts

Posted - Aug 26 2024 :  09:04:44 AM  Show Profile  Reply with Quote
I have created folder .vscode in the vs solution directory.
I added a settings.json file in there.
I want to exclude one directory, so I added this content inside the file:

{
	"files.exclude":
	{
		"MyProject/MyFolder" : true
	}
}

But it doesn't work. I can still see intellisense from content inside the files of this excluded directory.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19001 Posts

Posted - Aug 26 2024 :  09:59:21 AM  Show Profile  Reply with Quote
Despite the file name, this file is picked up and respected by both Visual Studio and Visual Assist.

Are you working with a SLN file or are you opening a folder? I just want to make sure that you have the file in the correct location. The file content looks good.

Have you turned On the VA setting:

VA Options -> Performance -> Do not parse files excluded by .vscode\settings.json (requires restart)

and have you restarted Visual Studio since creating and saving the file?

If you look in VA's Open File dialog, are any of the files from the excluded directory still showing, or are they filtered out? First we need to know if the filter is having any effect on the files VA lists, before moving on to think about intellisense.

zen is the art of being at one with the two'ness
Go to Top of Page

KeyC0de
Junior Member

19 Posts

Posted - Aug 26 2024 :  10:03:40 AM  Show Profile  Reply with Quote
I'm opening a solution in visual studio.
The solution has one project.
I have done the rest you said.
I tried placing this file in a .vscode folder in both the solution directory and the project directory and it didn't work. The files in excluded directories as well as their symbols are not getting filtered out.

Edited by - KeyC0de on Aug 26 2024 10:04:18 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19001 Posts

Posted - Aug 26 2024 :  10:25:52 AM  Show Profile  Reply with Quote
Can you try creating a test project to see if you get the same problem there?

I am going to email you a simple test project I have set up to test this, just so we can test the same exclude rules and directory structure, so we know if this works at all for you.

zen is the art of being at one with the two'ness
Go to Top of Page

KeyC0de
Junior Member

19 Posts

Posted - Aug 26 2024 :  10:38:54 AM  Show Profile  Reply with Quote
Ok, sure, I'm waiting.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19001 Posts

Posted - Aug 26 2024 :  3:59:14 PM  Show Profile  Reply with Quote
I have emailed you:

case=164901

zen is the art of being at one with the two'ness
Go to Top of Page

KeyC0de
Junior Member

19 Posts

Posted - Aug 27 2024 :  02:49:21 AM  Show Profile  Reply with Quote
I have tested the provided project with no changes and it doesn't work at all.
No files are excluded.

Let me give you version details.
I'm not using latest VA version and my version expired some months ago. I have yet to renew.

VA_X64.dll file version 10.9.2476.0 built 2023.01.19
DevEnv.exe version 17.9.34607.119 Community

Could be a bug.
Anyhow, thanks for the help.

Edited by - KeyC0de on Aug 27 2024 02:49:59 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19001 Posts

Posted - Aug 27 2024 :  08:42:36 AM  Show Profile  Reply with Quote
OK, that explains it. In VA 2476 this setting does work, but it ONLY works if you are opening a folder, not if you are opening a solution file. Since you are opening a solution file, can you not remove the files you don't want parsed from the solution, or make a separate, smaller solution for editing, and have the main solution compiled when doing a build?

VA 2507 added the ability to apply this setting when using a SLN file, and I was testing my test case on the current version, which has this ability.

zen is the art of being at one with the two'ness
Go to Top of Page

KeyC0de
Junior Member

19 Posts

Posted - Sep 07 2024 :  11:44:03 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline
Since you are opening a solution file, can you not remove the files you don't want parsed from the solution, or make a separate, smaller solution for editing, and have the main solution compiled when doing a build?



I'm sorry for the late reply.
I'm not sure I understand. I am currently including (so not-removing) the files in the solution that I don't want parsed. Those are third party library files that I don't want to debug, or see references of, but I still want to exist in the solution for compilation.
So I always compile the solution with this in mind and I can't get it to work.
Is there something I'm misunderstanding?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19001 Posts

Posted - Sep 09 2024 :  08:32:51 AM  Show Profile  Reply with Quote
Do these 3rd party libraries need to be compiled as part of your solution? Or do you just need to tell the compiler where the header files are, and then link to any pre-compiled library files?

It sounds like you are including the 3rd party library as part of your solution, as if it was code you were editing and working on, rather than treating it as an external library you just use.

zen is the art of being at one with the two'ness
Go to Top of Page

KeyC0de
Junior Member

19 Posts

Posted - Sep 09 2024 :  08:39:35 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

Do these 3rd party libraries need to be compiled as part of your solution? Or do you just need to tell the compiler where the header files are, and then link to any pre-compiled library files?

It sounds like you are including the 3rd party library as part of your solution, as if it was code you were editing and working on, rather than treating it as an external library you just use.



They are third party .h & .cpp files which need to be compiled. Some have separate libs/dlls too, but that's another thing.
I guess I could include them in the project compile them once and then exclude them and only re-include them if I change any project properties. But it's tedious to do this.

Thanks for the help anyway.

Edited by - KeyC0de on Sep 09 2024 08:40:19 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19001 Posts

Posted - Sep 09 2024 :  12:21:51 PM  Show Profile  Reply with Quote
I was hoping it was a pre-compiled 3rd party library. If that was the case, it would just be a matter of making sure you used the external library include settings, so VA would know the included files were not part of the solution.

The latest version of VA will help to fix this problem, for what that's worth.

zen is the art of being at one with the two'ness
Go to Top of Page

superzmy
Junior Member

China
19 Posts

Posted - Nov 14 2024 :  02:49:02 AM  Show Profile  Reply with Quote
Assume there are directories: svn\root\Include, svn\root\utility, svn\root\ProjVersion001, ProjVersion002, ProjVersion003. Each ProjVersion00X directory might contain vsproj\xx.sln, vsproj\xx.vcproj, and src\abc.cpp. I often copy the entire ProjVersion001 directory as ProjVersion001_fixA, etc.


However, occasionally when I open one of the .sln files in Visual Studio and use VA Find Reference, I see cpp code symbols from other .sln directories, even if I havent opened a particular directory for a long time. Same name symbols were repeat shown in windows without file path, so that I had to move mouse on it to see tooltip. Lucky that I found Directory column in FindSymbol Window.


I have tried the JSON settings mentioned in posts, opened settings, and restarted, but I still cant ignore the symbols in sibling directories no matter what. I really want to block them. Below is the content of the JSON file:


{
"files.exclude": {
"../../**": true,
"../**": false,
"D:/svn/root/ProjVersion001/**": true
}

Edited by - superzmy on Nov 14 2024 02:59:25 AM
Go to Top of Page

superzmy
Junior Member

China
19 Posts

Posted - Nov 14 2024 :  02:52:12 AM  Show Profile  Reply with Quote
I want that VS Find Refferance Window/Find Symbol Window has a textbox of Path like VS find in files splited with ';'. so that I was sured to see symbols under the dirs.

Edited by - superzmy on Nov 14 2024 02:53:08 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19001 Posts

Posted - Nov 14 2024 :  10:20:01 AM  Show Profile  Reply with Quote
If you trigger a VA symbol database rebuild, via:

VA Options -> Performance -> Rebuild symbol databases

which requires an IDE restart to take effect, does this help? Or are you still seeing unwanted symbols?

I am trying to work out if these symbols are being remembered from a previous solution you have opened or not.

zen is the art of being at one with the two'ness
Go to Top of Page
   Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000