<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>Видеоролик о функциях форматирования кода в IDE NetBeans</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>Видеоролик о функциях форматирования кода в IDE NetBeans</h1>

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

                    <p>На этой экранной демонстрации описываются важные функции форматирования кода в IDE NetBeans. На этой экранной демонстрации описывается, как использовать следующие функции форматирования кода, доступные в Netbeans IDE:</p>
					<ul>
					<li>общее смещение</li>
					<li>фигурная скобка</li>
					<li>импорт</li>
					<li>форматирование для конкретного проекта </li>
					</ul>
<p>Эта демонстрация основана на проекте Formatting (Форматирование), доступном в разделе <a href="https://netbeans.org/projects/samples/downloads/download/Samples/Java/Formatting.zip">Библиотека образцов кода NetBeans</a>.</p>
                    <p>Авторы: Джири Прокс (Jiri Prox), Алена Сташкова (Alyona Stashkova) <br> Продолжительность: 7:40</p>

                    <p><a href="http://bits.netbeans.org/media/editor-formatting.mp4">Смотреть видео полностью/Загрузить</a> (.mp4) (Ctrl-Click для загрузки, 19,2 МБ)</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">Отправить отзыв по этому учебному курсу</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>Связанные ссылки</h2>

        <ul>
            
			<li><a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG613">Использование подсказок при анализе и рефакторинге исходного кода</a> в разделе <i>Разработка приложений с помощью NetBeans IDE</i></a></li>
					
        </ul>

    </body>
</html>
