Global Search is a plugin for Substance Designer extending its search capabilities. Searches can be made in multiple packages / folders / graphs / functions at a time using various filters.
Requires Substance Designer 2019.2 or above.
- Search for terms in frames or comments, input parameters, variable names, graph names, function names etc. in multiple packages / graphs / folders / functions at once.
- Determine which graph parameters have custom functions.
- Determine which areas are left to be worked on or temporary and need to be removed before production using TODO and TMP markers.
- Find specific variables/input parameters into functions including package functions involved in cooking errors.
- Find places where specific variables are being assigned (Set) and retrieved (Get) in functions.
- Find places where a specific package function is being called.
New in 1.2
- Function calls inside user functions (either parameter functions or package functions) are now returned part of the search results. This way you can track all the areas where a specific function of yours is being called.
- The search result context menu (right-click on a search result) has been enhanced with more menu items: you can now copy into the clipboard the location or found result term, but you can also launch a new search directly from a search result using the Search menu items.
- Columns in the search result views now adapt their width automatically based on the length of the data they contain.
- Long search results such as comment texts are now shown partially in order to reduce the column width occupation.
- Clearing search history from Preferences now pops up a confirmation dialog.
- The display of parameter functions (parameters being driven by functions) has been improved with a new icon and more consistent display between the tree and list modes of the search results view.
New in 1.1
- A column with the numerical node identifier (Id) can now be displayed in search results. While it is not yet possible to open items from the search result view due to lack of support from the host, this Id enables to use the Substance Designer's search functionality to find a specific node by Id. You can now right-click on a search result row to which is associated an node Id to pop up a context menu that will copy in the node Id into the clipboard, then paste (CTRL+V) this Id into the Substance Designer's search tool field (Graph view toolbar). The Id column display can be turned on/off in Preferences.
- Improved Param Functions preset search result display with more context information such as name of the node involved and its Id.
- Fixed an issue where searching with preset would not work the second time if edit line had been modified between attempts.
- Fixed the name display of graph-based nodes that could be empty.
- The GlobalSearch widget now closes when the plugin is disabled. When re-enabled, it must be selected from the Windows menu to show up again.
New in 18.104.22.168
- Added a status line displaying result count, failed searches etc.
- When searching intro graphs, entering custom sub-graphs and package functions are now disabled by default (can be enabled in Preferences when needed) as they extend the search time and can also be found independently when searching from the package root.
- Fixed an issue that could lead to not display certain search results in specific situations
New in 1.0.2
- Added the following search options in Preferences:
- Enter custom sub-graphs: tells whether user sub graphs found into graphs should be searched. Since those sub-graphs are also independently present in the package, using this option may lead to duplicate search results and longer search times.
- Enter pkg functions in graphs: tells whether package functions found in graph's parameter functions should be searched into. Since those functions are also independently present in the package, using this option may lead to duplicate search results and longer search times.
- Fixed inability to search into custom sub-graphs.
- Searches text or presets into multiple packages/folders/graphs/functions from a user-defined search root. The list of possible search roots can be refreshed if items have been added/removed in the Explorer view.
- Persistent search filters enabling to search into the following fields:
- graph name (ID or label)
- Folder name (ID)
- Comments and frames
- Package function names (ID or label)
- Package function input parameter names (ID)
- Variables or input parameters in function Get nodes (including Package function)
- Variables or input parameters in function Set nodes (including Package function)
These search capabilities, in particular the ability to find variable Get/Set usage into package functions are especially useful when developing function code as cooking errors currently do not identify the package function in which an error is present. If the error is related to a variable, the search tool enables to quickly find it.
- Search presets override search filters and search for specific information. The following presets are available:
- Param functions: searches all graph input parameters to which are assigned custom parameter functions. In a large graph, it is easy to loose track of the input parametters having custom functions, this preset lets you identify them.
- TODO: searches for TODO strings that can be left in comments to indicate a feature left to implement. This way you can easily manage a TODO list of what's left to do in your graphs.
- TMP: searches for TMP strings that can be left in comments to indicate a temporary feature that needs to be removed before final release.
- Two search modes: Natural searches for text contained into the items determined by search filters. If not using Natural mode, search is made for exact match, in this case the * wildcard character may be used at the beginning or end of the search text to find items by prefix or suffix. Search can be made case sensitive or not.
- Search results presented as hierarchical (Tree) or flat (List) view. In List mode, search results can be sorted by column.
- Persistent Search history keeping the last searches having returned results. Search History can be cleaned in Preferences.
You may use this plugin in its runtime form (i.e. as a Substance Designer plugin) for any project, personal or commercial. You cannot reuse the source code in your own projects. If you need to do this, please contact the author.