<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>Vídeo das Funcionalidades de Formatação de Código no NetBeans IDE</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
        <meta name="description" content="Video of the Code Formatting Features in the NetBeans IDE">
        <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
    </head>
    <body>

<!--
Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-->

        <h1>Vídeo das Funcionalidades de Formatação de Código no NetBeans IDE</h1>

        <table>
            <tr>
                <td class="valign-top">

                    <p>Este screencast demonstra algumas funcionalidades de formatação importantes no NetBeans IDE. O screencast demonstra como usar as funcionalidades de formatação de código disponíveis no Netbeans IDE:</p>
					<ul>
					<li>recuo geral</li>
					<li>chaves</li>
					<li>importações</li>
					<li>formatação específica do projeto </li>
					</ul>
<p>Esta demonstração está baseada no projeto de Formatação disponível na <a href="https://netbeans.org/projects/samples/downloads/download/Samples/Java/Formatting.zip">Biblioteca de Códigos de Amostra do NetBeans</a>.</p>
                    <p>Autores: Jiri Prox, Alyona Stashkova <br> Hora: 7:40</p>

                    <p><a href="http://bits.netbeans.org/media/editor-formatting.mp4">Veja em tela cheia/Download</a> (.mp4) (Ctrl-Clique para fazer o download, 19,2 MB)</p>


                   
                    <div class="feedback-box">
                        <a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Video%20of%20the%20Code%20Formatting%20Features%20in%20the%20NetBeans%20IDE">Enviar Feedback neste Tutorial</a>
                    </div>
                     <br style="clear:both;">
              </td>

                <td width="5">&nbsp; </td>
      <td class="valign-top" width="486">
   <script src="/images_www/js/mediaplayer-5.2/swfobject.js" type="text/javascript"></script>
    <div id="player" >
        <center>
	    <div id="flashContent"></div>
        </center>
    </div>
    <script type="text/javascript">
	$(function(){
	    var targetFile='http://bits.netbeans.org/media/editor-formatting.mp4';
            var s1 = new SWFObject('/images_www/js/mediaplayer-5.2/player.swf','player','530','340','9');
            s1.addParam('allowfullscreen','true');
            s1.addParam('allowscriptaccess','always');
            s1.addParam('flashvars','file='+targetFile+'&autostart=true');
            s1.write('flashContent');
	});
    </script>
 
  </td>
            </tr>
        </table>
        <h2>Links relacionados</h2>

        <ul>
            
			<li><a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG613">Usando Dicas de Análise de Código-fonte e Refatoração</a> em <i>Desenvolvendo Aplicações com o NetBeans IDE</i></a></li>
					
        </ul>

    </body>
</html>
