<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html lang="en">
<HEAD>

<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"></script>
<title>File Associations</title>

</HEAD>
<BODY BGCOLOR="#ffffff">
<H1 CLASS="Head">
File Associations</H1>
<P CLASS="Intro">
On the

<a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.ui.preferencePages.FileEditors)")'>
<img src="PLUGINS_ROOT/org.eclipse.help/command_link.svg" alt="command link">
<strong>General &gt; Editors &gt; File Associations</strong></a>

preference page, you can add or remove file
types recognized by the Workbench.&nbsp; You can also associate
editors with file types in the file types list.</p>
<DIV CLASS="Topic">
<h2>
File types list</h2>
<UL CLASS="UnorderedList">
    <LI CLASS="Item"> <strong>Add...</strong>:&nbsp; Adds a new file or file type 
      (extension) to the predefined list. In the resulting New File Type dialog, 
      type the name of a file or a file extension. If you are adding a file extension, 
      you must type either a dot or a &quot;*.&quot; before the file type (e.g., 
      &quot;.xml&quot; or &quot;*.xml&quot; as opposed to simply &quot;xml&quot;).</LI>
    <LI CLASS="Item"><strong> Remove</strong>:&nbsp; Removes the selected file 
      type from the list</LI>
</UL>
<p>Dialog to create a new file type:</p>
<p><img src="../images/Image201_filetype.png" alt="New file type dialog" border="0" ></p>
</DIV>
<DIV CLASS="Topic">
<h2>
Associated editors list</h2>
  <UL CLASS="UnorderedList">
    <LI CLASS="Item"> <strong>Add...</strong>:&nbsp; Adds a new editor to the 
      list of editors associated with the file type selected above. In the resulting 
      Editor Selection dialog, you can choose an editor to launch either inside 
      the Workbench (internal) or outside the Workbench (external); click <b>Browse</b> 
      to locate an editor yourself if the editor you want is not displayed in 
      the list.</LI>
    <LI CLASS="Item"> <strong>Remove</strong>:&nbsp; Removes the association between 
      an editor and the file type selected above.<strong> Note:</strong> Any editor 
      that is bound by content type may not be removed from this list. Currently, 
      there is no mechanism available to remove these editors.</LI>
    <LI CLASS="Item"> <strong>Default</strong>:&nbsp; Sets the selected editor 
      as the default editor for the file type selected above. The editor moves 
      to the top of the Associated Editors list to indicate that it is the default 
      editor for that file type.</LI>
  </UL>
</DIV>
<P>Dialog to create a new file association:
</P>


<P><img src="../images/Image202_editorsel.png" alt="Editor Selection dialog" border="0" >
</P>


<P>&nbsp;
</P>


<P>Here is what the File Associations preference page looks like:&nbsp;
</P>


<P><img src="../images/Image221_pref_fe.png" alt="File associations preference page" border="0" >
</P>



</BODY>
</HTML>
