# Condition List

This file was generated by the tool 'BuildAddinDocumentation'. It is based on SharpDevelop 2.0.0.783.

- ActiveContentExtension
- ActiveViewContentUntitled
- ActiveWindowState
- BrowserLocation
- Compare
- DebuggerSupports
- IsProcessRunning
- OpenWindowState
- OwnerState
- ProjectActive
- SolutionOpen
- TextContent
- WindowActive
- WindowOpen

## ActiveContentExtension

Tests the file extension of the file edited in the active window content.

Condition name: | ICSharpCode.Core.ActiveContentExtensionConditionEvaluator
### Attributes:
activeextension: | The file extension the file should have.

Example: Test if a C# file is being edited

                <Condition name = "ActiveContentExtension" activeextension=".cs">

## ActiveViewContentUntitled

Tests if the active view content is untitled.

Condition name: | ICSharpCode.Core.ActiveViewContentUntitledConditionEvaluator
Attributes: | Boolean value to test against.

Example: Test if the active view content is untitled

                <Condition name = "ActiveViewContentUntitled" activewindowuntitled="True">
                - or -
                <Condition name = "ActiveViewContentUntitled">

Example: Test if the active view content has a title

                <Condition name = "ActiveViewContentUntitled" activewindowuntitled="False">

## ActiveWindowState

Tests the window state of the active workbench window.

Condition name: | ICSharpCode.Core.ActiveWindowStateConditionEvaluator

## BrowserLocation

Conditions that tries to match the URL of a HtmlViewPane with a regex.

Condition name: | ICSharpCode.SharpDevelop.BrowserDisplayBinding.BrowserLocationConditionEvaluator
### Attributes:
urlRegex: | The regular expression that must match the URL.
options: | Optional; options that are passed as RegexOptions.

Example: Test if the browser is showing a HtmlHelp page

                <Condition name = "BrowserLocation" urlRegex = "^ms-help:\/\/">

## Compare

Compares two strings (case sensitive). The strings are passed through the StringParser, so it is possible to compare SharpDevelop properties.
Useful if you want to run a command only when a setting is active to prevent loading your addin if that setting isn't set.

Condition name: | ICSharpCode.Core.CompareConditionEvaluator
### Attributes:
string: | The first string.
equals: | The second string.

Example: Test if the browser is showing a HtmlHelp page

                <Condition name = "Compare" string = "${property:SharpDevelop.FiletypesRegisterStartup}" equals = "True">

## DebuggerSupports

Tests if the debugger supports a certain feature.

Condition name: | ICSharpCode.Core.DebuggerSupportsConditionEvaluator
### Attributes:
debuggersupports: | The name of the feature the debugger must support. Possible feature names: "Start", "StartWithoutDebugging", "Stop", "ExecutionControl", "Stepping".

Example: Test if the debugger supports stepping

                <Condition name = "DebuggerSupports" debuggersupports="Stepping">

Example: Test if the debugger supports killing the running application

                <Condition name = "DebuggerSupports" debuggersupports="Stop">

## IsProcessRunning

Tests the values of DebuggerService.CurrentDebugger.IsDebugging (debugger attached to a process) and DebuggerService.CurrentDebugger.IsProcessRunning (process is running and not in break mode).

Condition name: | ICSharpCode.Core.IsProcessRunningConditionEvaluator
Attributes: | Optional; boolean value IsDebugging should have.
Attributes: | Optional; boolean value IsProcessRunning should have.

Example: Test if currently no process is running

                <Condition name = "IsProcessRunning" isdebugging="False">

Example: Test if the debugger is attached to anything

                <Condition name = "IsProcessRunning" isdebugging="True">

Example: Test if the debugger is attached and we are in break mode

                <Condition name = "IsProcessRunning" isdebugging="True" isprocessrunning="False">

Example: Test if the debugger is attached and the process is running

                <Condition name = "IsProcessRunning" isdebugging="True" isprocessrunning="True">

## OpenWindowState

Tests if any open window has a specified window state.

Condition name: | ICSharpCode.Core.OpenWindowStateConditionEvaluator

## OwnerState

Condition evaluator that compares the state of the caller/owner with a specified value. The caller/owner has to implement IOwnerState.

Condition name: | ICSharpCode.Core.OwnerStateConditionEvaluator

## ProjectActive

Tests if any project is active or if a project of a specific language is active.

Condition name: | ICSharpCode.Core.ProjectActiveConditionEvaluator
### Attributes:
activeproject: | The language name the project should have. "*" to test if any project is active.

Example: Test if any project is active

                <Condition name = "ProjectActive" activeproject="*">

Example: Test if a C# project is active

                <Condition name = "ProjectActive" activeproject="C#">

## SolutionOpen

Tests if a solution is open.

Condition name: | ICSharpCode.Core.SolutionOpenConditionEvaluator

Example: Test if a solution is opened

                <Condition name = "SolutionOpen">

## TextContent

Tests the name of the highlighting strategy of the text editor.

Condition name: | ICSharpCode.SharpDevelop.DefaultEditor.Conditions.TextContentConditionEvaluator
### Attributes:
textcontent: | The name of the highlighting strategy that should be active.

Example: Test if any XML file is being edited

                <Condition name = "TextContent" textcontent="XML">

## WindowActive

Tests if the current workbench window is a specified type or implements an interface.

Condition name: | ICSharpCode.Core.WindowActiveConditionEvaluator
### Attributes:
activewindow: | The fully qualified name of the type the active window should be or the interface name it should implement. "*" to test if any window is active.

Example: Test if the current window is a text editor

                <Condition name="WindowActive" activewindow="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.ITextEditorControlProvider">

Example: Test if any window is active

                <Condition name="WindowActive" activewindow="*">

## WindowOpen

Tests if a window of a specified type or implementing an interface is open. The window does not need to be the active window.

Condition name: | ICSharpCode.Core.WindowOpenConditionEvaluator
### Attributes:
openwindow: | The fully qualified name of the type the window should be or the interface name it should implement. "*" to test if any window is open.

Example: Test if a text editor is opened

                <Condition name="WindowOpen" openwindow="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.ITextEditorControlProvider">

Example: Test if any window is open

                <Condition name="WindowOpen" openwindow="*">