<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
-->

<html>
  <head>
    <title>Renomear a Refatoração e Outros Aprimoramentos do Editor no NetBeans IDE 7.0 para PHP</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
    <meta name="description" content="This screencast shows the new feature of NetBeans IDE for PHP
          7.0. These features are rename refactoring, type hierarchy view, line wrapping, and showing/hiding
          non-printable characters.">
    <link rel="stylesheet" type="text/css" href="../../../netbeans.css"> 
  </head>
  <body>
    
    
    <h1>Renomear a Refatoração e Outros Aprimoramentos do Editor no NetBeans IDE 7.0 para PHP</h1>
    
    <table><tr><td class="valign-top">
          
          <p>
            Este screencast mostra as novas funcionalidades do editor PHP 7.0 NetBeans.
          </p>
          <ul>
              <li><b>Renomear Refatoração</b> Você pode renomear um elemento, como um nome de classe, em todos os arquivos de um projeto. A funcionalidade força você a exibir suas alterações antes de poder fazê-las. A janela de visualização mostra cada localização do elemento e permite deletar ocorrências individuais do elemento sendo renomeado. Renomear Refatoração é comparado com a antiga funcionalidade, Renomeação Instantânea, que  permite apenas renomear um elemento dentro de um arquivo e não fornece uma janela de visualização.</li>
              <li><b>View de Hierarquia do Tipo</b> Exibe todos os super tipos e os subtipos de uma classe PHP, incluindo interfaces e classes que implementem uma interface.</li>
              <li><b>Quebra de Linha</b> É possível configurar o Editor para quebrar linhas.</li>
              <li><b>Exibir caracteres não imprimíveis</b> É possível exibir e ocultar caracteres não imprimíveis no Editor.</li>
          </ul>
          <p>
            Autor: Jeff Rubinoff<br> Hora: 8:47 <br /> <a href="http://bits.netbeans.org/media/rename-refactoring.flv" target="_blank">Download</a> [18.3 MB]
          </p>
          
          <div class="feedback-box" style="float:left">
            <a href="/about/contact_form.html?to=3&amp;subject=Feedback: PHP Rename Refactoring Screencast">Enviar Feedback neste Tutorial</a>
          </div>
          <br style="clear:both;">
          
          
        </td><td class="valign-top" >
          

       <div id="flashContent"></div>
 <script src="/images_www/js/data_tables/js/jquery.dataTables.min.js" type="text/javascript"></script>
 <script src="/images_www/js/mediaplayer-5.2/swfobject.js" type="text/javascript"></script>
<script type="text/javascript">
var targetFile='http://bits.netbeans.org/media/rename-refactoring.flv';
var pl = new SWFObject('/images_www/js/mediaplayer-5.2/player.swf','player','400','300','9');
pl.addParam('allowfullscreen','true');
pl.addParam('allowscriptaccess','always');
pl.addParam('flashvars','file='+targetFile+'&autostart=true');
pl.write('flashContent');
</script>

 
      </td></tr>
    </table>
    
  </body>
</html>
