﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="generator" content="Adobe RoboHelp 8">
<title>Formatter Preferences</title>
<link rel="StyleSheet" href="default.css" type="text/css">
<style type="text/css">
<!--
body { border-left-style:None;
border-right-style:None;
border-bottom-style:None;
background-color:Transparent;
border-top-style:None; }
-->
</style>
<style type="text/css">
<!--
body { border-left-style:None;
border-right-style:None;
border-bottom-style:None;
background-color:Transparent;
border-top-style:None; }
-->
</style>
<script type="text/javascript" language="JavaScript">
//<![CDATA[
function reDo() {
  if (innerWidth != origWidth || innerHeight != origHeight)
     location.reload();
}
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
	origWidth = innerWidth;
	origHeight = innerHeight;
	onresize = reDo;
}
onerror = null; 
//]]>
</script>
<style type="text/css">
<!--
div.WebHelpPopupMenu { position:absolute;
left:0px;
top:0px;
z-index:4;
visibility:hidden; }
p.WebHelpNavBar { text-align:right; }
-->
</style>
<script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
<script type="text/javascript" language="javascript" src="whver.js"></script>
<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
<script type="text/javascript" language="javascript1.2" src="whlang.js"></script>
<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
<script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.gbWhTopic)
{
	var strUrl = document.location.href;
	var bc = 0;
	var n = strUrl.toLowerCase().indexOf("bc-");
	if(n != -1)
	{
		document.location.href = strUrl.substring(0, n);
		bc = strUrl.substring(n+3);
	}

	if (window.setRelStartPage)
	{
	addTocInfo("Reference\nPHP Preferences\nCode Style Preferences\nFormatter Preferences");
addAvenueInfo("Reference","code_templates_preferences.htm","installed_debuggers.htm");

	}

	document.write("<p style=\"text-align:left\"> ");
AddMasterBreadcrumbs("ide_help.htm", "", "&gt;", "Home", "pdt_table_of_contents.htm");
document.write("<a href=\"reference.htm\">Reference<\/a> &gt; <a href=\"preferences.htm\">PHP Preferences<\/a> &gt; <a href=\"code_templates_preferences.htm\">Code Style Preferences<\/a> &gt; Formatter Preferences<\/p>");


	if (window.setRelStartPage)
	{
	setRelStartPage("ide_help.htm");

		autoSync(0);
		sendSyncInfo();
		sendAveInfoOut();
	}

}
else
	if (window.gbIE4)
		document.location.reload();
//-->
//]]></script>
</head>

<body leftmargin="5" topmargin="5" rightmargin="5" bottommargin="5"><script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.writeIntopicBar)
	writeIntopicBar(4);
//-->
//]]></script>
<div style="width: 100%; position: relative;" id="header">
	
	
 <p align="right"><a 
	 title="Documentation Survey" href="http://spreadsheets.google.com/viewform?formkey=dC1scEswTjFia2tDQ3Y5TVJBbkNQcWc6MQ">Documentation 
	 Survey</a> 
	 | <a href="javascript:crlf=&quot;&quot;;h=location.href;t=document.title;e = &quot;&quot; + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (e!=null) location=&quot;mailto:documentation@zend.com&quot; + &quot;?Subject= Feedback on PDT for page &quot; + escape(t) + &quot;&amp;Body=&quot; + escape(e).replace(/ /g, &quot;+&quot;) + crlf + &quot; &quot;; void 0"><span 
	 style="background-color: #ffffff;">Submit Documentation</span><span 
	 style="background-color: #ffffff;"> Feedback</span></a><span 
	 style="background-color: #ffffff;"></span><span style="background-color: #ffffff;"> 
	 </span><span style="background-color: #ffffff;">| 
	 </span><span 
	 style="background-color: #ffffff;"><a title="View Latest Version and Get PDF Online" 
											 href="http://www.zend.com/en/resources/zend-documentation/" 
											 target="_blank">View Latest 
	 Version and Get PDF Online</a></span></p>
</div>


<h1>Formatter Preferences</h1>


















<ul type="square">
	
	
</ul>


<ul type="square">
	
	
	
	
	
	
	
</ul>





<ul type="square">
	
	
	
	
</ul>



















<ul type="square">
	
	
	
	
	
</ul>

<ul type="square">
	
</ul>







<ul type="square">
	
	
	
</ul>


<ul type="square">
	
	
</ul>








<ul type="square">
	
	
	
</ul>

<ul type="square">
	
	
	
	
	
</ul>






<ul type="square">
	
	
	
</ul>



<ul>
	
	
	
	<ul type="disc">
		
	</ul>
	
	<ul type="disc">
		
		
	</ul>
	
	<ul type="disc">
		
		
	</ul>
</ul>


<p>The Formatter Preferences page allows 
 you to set the editor's Tab policy.</p>
<p>&#160;</p>
<p>The Formatter Preferences 
 Preferences page is accessed from Window | Preferences | PHP | Formatter Preferences 
 .</p>
<p class="picture"><img src="formatter_preferences_pdt.png" alt="formatter_preferences_pdt.png" style="border: none;" width="376" height="257" border="0"> </p>

<p>Select whether Tabs will be set by 
 using Tabs or Spaces by selecting the required options from the drop-down 
 Tab policy list.</p>
<p>If you selected Spaces, set the indentation 
 size.</p>
<table cellspacing="0" width="100%">
	<col style="width: 7.093%;">
	<col style="width: 92.907%;">
	<tr style="vertical-align: top;">
		<td style="width: 7.093%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: bold;">&#160;</p></td>
	</tr>
	<tr style="vertical-align: top;">
		<td style="width: 7.093%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-size: 6pt;"><img src="ref_icon.png" alt="Instructions on how to complete a procedure" title="Instructions on how to complete a procedure" style="border: none;" width="28" height="33" border="0"></p></td>
		<td style="width: 92.907%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: bold;">To apply Formatter Preferences 
		 settings to a specific project only:</p>
		<ol type="1">
			<li class="p" style="margin-left: -20px;"><p>Select the link 
			 labelled &quot;Configure Project Specific Settings&quot;.</p></li>
			<li class="p" style="margin-left: -20px;"><p>Select the required 
			 project from the list.<br>
			A Formatter Preferences 
			 Properties dialog will appear.</p></li>
			<li class="p" style="margin-left: -20px;"><p>Select the required 
			 settings and click Apply.<br>
			A prompt dialog will appear stating that a rebuild of the project 
			 must occur for the settings to take effect.</p></li>
			<li class="p" style="margin-left: -20px;"><p>Click Yes to rebuild 
			 the project.<br>
			-Or- Click No for a rebuild to be performed only when PDT is restarted.<br>
			-Or- Click Cancel to cancel the operation.</p></li>
		</ol></td>
	</tr>
	<tr style="vertical-align: top;">
		<td colspan="2" style="width: 100%; padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
		
	</tr>
</table>
<table cellspacing="0" width="100%">
	<col style="width: 7.093%;">
	<col style="width: 92.907%;">
	<tr style="vertical-align: top;">
		<td style="width: 7.093%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
	</tr>
	<tr style="vertical-align: top;">
		<td style="width: 7.093%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-size: 6pt;"><img src="link_icon.png" alt="link_icon.png" style="border: none;" width="32" height="40" border="0"></p></td>
		<td style="width: 92.907%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: bold;">Related Links:</p>
		<p><a href="formatting_code.htm">Formatting Code</a> 
		 </p>
		<p><a href="preferences.htm">PHP 
		 Preferences</a></p></td>
	</tr>
	<tr style="vertical-align: top;">
		<td style="width: 7.093%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
	</tr>
</table>
<div style="width: 100%; position: relative;" id="footer">
	
 <p style="text-decoration: underline; " 
										 align="center">PHP Development 
	 Tools</p>
	
	
</div>
<script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.writeIntopicBar)
	writeIntopicBar(0);

highlightSearch();
//-->
//]]></script>
</body>
</html>
