# Folders class

Namespace: [Grasshopper2](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public static class Folders
```

Provides static properties for files and folders relevant to the Grasshopper process.

## Fields

- [DocumentationWipFolderName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/documentationwipfoldername.md): (static) Gets the standard name for the documentation authoring folder.

## Properties

- [CoreComponentsFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/corecomponentsfolder.md): (static) Gets the folder in which all core component assemblies are stored.
- [CoreSnippetsFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/coresnippetsfolder.md): (static) Gets the Grasshopper native snippet folder.
- [DiagnosticsFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/diagnosticsfolder.md): (static) Gets the Grasshopper diagnostics folder for the roaming user. This is where logged data and other output useful for debugging is kept.
- [DisplayRulesFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/displayrulesfolder.md): (static) Gets the Grasshopper folder for named display rules for the roaming user.
- [DisplayStylesFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/displaystylesfolder.md): (static) Gets the Grasshopper folder for display styles for the roaming user.
- [DllAssembly](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/dllassembly.md): (static) Gets the location of the Grasshopper2.dll file.
- [DocumentationAuthoringFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/documentationauthoringfolder.md): (static) Gets or sets the folder within which in-progress documenation content resides. When set, and when the folder exists, various UI elements providing access to documentation editing tools become visible.
- [DocumentationCacheFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/documentationcachefolder.md): (static) Gets the folder for storing cached content generated or downloaded for the documentation.
- [DocumentationCustomFolders](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/documentationcustomfolders.md): (static) Gets all enabled, user specified custom documentation folders. This property automatically selects the correct language subfolder if possible, so it does more work than [Folders.DocumentationCustomFolderSet](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/documentationcustomfolderset.md).
- [DocumentationCustomFolderSet](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/documentationcustomfolderset.md): (static) Gets all specified custom folders including the 'enabled' state for each. This property will return all set folders, even if they do not exist on the disc.
- [DocumentationFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/documentationfolder.md): (static) Gets the folder which holds the canonical documentation content. For a source build that is the 'Grasshopper2Documentation' folder in the repository; for an installed instance it is the 'Documentation' folder which ships alongside Grasshopper. Returns null when neither can be located.
- [GrasshopperPluginId](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/grasshopperpluginid.md): (static) Gets the plugin ID of the Grasshopper 2 Rhino plugin.
- [LocalAppDataFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/localappdatafolder.md): (static) Gets the Grasshopper application data folder for the non-roaming user.
- [PluginFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/pluginfolder.md): (static) Gets the folder that contains the installed grasshopper core files.
- [ResourcesFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/resourcesfolder.md): (static) Gets the folder that contains the installed grasshopper resources.
- [RhpAssembly](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/rhpassembly.md): (static) Gets the location of the Grasshopper2.rhp file.
- [RoamingAppDataFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/roamingappdatafolder.md): (static) Gets the Grasshopper application data folder for the roaming user. This is where resources and settings are stored since no elevated priviliges are required to access the appdata folder.
- [SettingsFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/settingsfolder.md): (static) Gets the Grasshopper settings folder for the roaming user.
- [SkinsFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/skinsfolder.md): (static) Gets the Grasshopper folder for canvas skins for the roaming user.
- [UnnamedFilesFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/unnamedfilesfolder.md): (static) Gets the folder under which autosave files for unnamed documents live. Named documents place their autosaves next to the original file on disk; unnamed documents have nowhere to put a sibling autosave, so they get a managed home under [Folders.LocalAppDataFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/localappdatafolder.md) instead. Filenames within this folder are keyed by a short prefix of the document's runtime [Document.Identity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.document/identity.md).
- [UserSnippetsFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/usersnippetsfolder.md): (static) Gets the Grasshopper snippet folder for the roaming user.

## Methods

- [AddCustomDocumentationFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/addcustomdocumentationfolder.md): (static) Add a custom documentation folder alongside the enabled state.
- [EditCustomDocumentationFolders](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/editcustomdocumentationfolders.md): (static) Show the editor for adding and removing custom documentation folders.
- [EnsureDefaultResources](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/ensuredefaultresources.md): (static) Ensure that all required resource files exist. This method will copy resource files from the Grasshopper2.dll assembly resources into the Resources folder in the app data. Note however that it will only replace missing files, not invalid files.
- [GetResourceAsBitmap](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/getresourceasbitmap.md): (static) Try and get embedded resources from an assembly in image format.
- [GetResourceAsBytes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/getresourceasbytes.md): (static) Try and get embedded resources from an assembly in byte array format.
- [GetResourceAsStream](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/getresourceasstream.md): (static) Try and get embedded resources from an assembly as a byte stream.
- [GetResourceAsString](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/getresourceasstring.md): (static) Try and get embedded resources from an assembly in text format.
- [RemoveCustomDocumentationFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/removecustomdocumentationfolder.md): (static) Remove a custom documentation folder.
- [RequestInternetAccess](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/requestinternetaccess.md): (static) Check the [RhinoApp.IsInternetAccessAllowed](https://mcneel-apidocs-rhinocommon-7f6eb10c6967.herokuapp.com/api/rhinocommon/type/rhino.rhinoapp/) state and displays a message when it returns false.
- [ResourceFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/resourcefolder.md): (static) Gets a specific resource folder.
- [SanitizeFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/sanitizefolder.md): (static) Ensure that a folder uri ends with the OS-specific directory separator.
- [ShowDirectoryInOsFileViewer](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/showdirectoryinosfileviewer.md): (static) Ask the OS to display a folder in its native viewer.
- [ShowFileInOsFileViewer](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/showfileinosfileviewer.md): (static) Ask the OS to display a file in its native viewer.
- [ShowUrlInOsBrowser](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/showurlinosbrowser.md): (static) Ask the OS to display a url in its standard browser.
- [TryFindResourceUri](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/tryfindresourceuri.md): (static) Try and find the uri of embedded resources within some assembly. The hint must name the resource in full, although the namespace prefix may be omitted and casing is not significant. Partial names are not matched, as suffix matching yields false positives.
- [TryFindResourceUris](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/tryfindresourceuris.md): (static) Find all resources which match the given pattern.
- [WatchFile](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/watchfile.md): (static) Start watching a file for changes.
