| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <title>Учебный курс по удаленной разработке на языке C/C++</title> |
| <meta name="DESCRIPTION" content="A short guide to using C/C++ remote development in NetBeans IDE |
| and Oracle Solaris Studio IDE."> |
| <meta name="keywords" content="NetBeans, Oracle Solaris Studio, IDE, integrated development environment, |
| tutorial, guide, user, documentation, open source, remote development, C, C++"> |
| |
| <link rel="stylesheet" type="text/css" href="../../../netbeans.css"> |
| <link rel="stylesheet" type="text/css" href="../../../print.css" media="print"> |
| <link rel="stylesheet" type="text/css" href="../../../lytebox.css" media="screen"> |
| <script type="text/javascript" src="../../../images_www/js/lytebox-compressed.js"></script> |
| <meta HTTP-EQUIV="Content-Type" Content="text/html; charset=UTF-8"></head> |
| <body> |
| <h1>Удаленная разработка на C/C++ - Практическое руководство по IDE NetBeans</h1> |
| <div class="articledate" style="margin-left: 0px;font-style:italic;"> |
| Март 2014 г. [Номер версии: V8.0-1] |
| </div> |
| <!-- maintained by susanm --> |
| <p>В этом практическом руководстве показано, как использовать функции IDE NetBeans для удаленной разработки проектов C/C++/Fortran.</p> |
| <h3>Содержание</h3> |
| <img alt="Содержимое на этой странице применимо к IDE NetBeans 7.3, 7.4 и 8.0" class="stamp" src="../../../images_www/articles/73/netbeans-stamp-80-74-73.png" title="Содержимое этой страницы применимо к IDE NetBeans 7.3, 7.4 и 8.0"> |
| |
| <table class="b-none vatop" cellpadding="0" cellspacing="0"> |
| <tr> |
| <td class="hyphen">- </td> |
| <td><a href="#intro">Введение</a></td> |
| </tr> |
| <tr> |
| <td class="hyphen">- </td> |
| <td><a href="#concepts">Ключевые понятия удаленной разработки</a></td> |
| </tr> |
| <tr> |
| <td class="hyphen">- </td> |
| <td><a href="#system">Настройка системы</a></td> |
| </tr> |
| <tr> |
| <td class="hyphen">- </td> |
| <td><a href="#setup">Настройка среды IDE</a></td> |
| </tr> |
| <tr> |
| <td class="hyphen">- </td> |
| <td><a href="#workflow">Создание локального проекта на удаленном узле</a></td> |
| </tr> |
| <tr> |
| <td class="hyphen">- </td> |
| <td><a href="#terminal">Запуск сеанса работы с терминалом на удаленном узле</a></td> |
| </tr> |
| <tr> |
| <td class="hyphen">- </td> |
| <td><a href="#tips">Рекомендации по удаленной разработке</a></td> |
| </tr> |
| </table> |
| |
| <h2><a NAME="requirements"></a>Требования</h2> |
| <p><b>Для работы с этим учебным курсом требуется программное обеспечение, указанное ниже.</b></p> |
| |
| <table> |
| <tbody> |
| <tr> |
| <th class="tblheader" scope="col">Программное обеспечение</th> |
| <th class="tblheader" scope="col">Требуемая версия</th> |
| </tr> |
| |
| <tr> |
| <td class="tbltd1">IDE NetBeans (включая поддержку C/C++)</td> |
| <td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">версия 7.3, 7.4 или 8.0 с подключаемым модулем NetBeans C/C++</a></td> |
| </tr> |
| <tr> |
| <td class="tbltd1">Комплект для разработчика на языке Java (JDK)</td> |
| <td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Версия 7 или 8</a></td> |
| </tr> |
| |
| </tbody> |
| </table> |
| <br> |
| <p>Дополнительные сведения о загрузке и установке необходимого программного обеспечения см. в разделах <a href="../../../community/releases/80/install.html">Инструкции по установке IDE NetBeans</a> и <a href="../../../community/releases/80/cpp-setup-instructions.html">Настройка IDE NetBeans для C/C++/Fortran</a><br>.</p> |
| |
| |
| <a id="intro"></a> |
| <h2>Введение</h2> |
| <p>В этом учебном руководстве показано использование функции удаленной разработки проектов C/C++. </p> |
| <p>А вы пробовали создавать приложения Solaris или Linux на ноутбуке под управлением Windows 7 или Mac OS X? Нужно тестировать приложение в других операционных системах прямо в среде IDE? Нужно компилировать крупные приложения на быстром многоядерном сервере, а не на обычной рабочей станции? Специально для таких случаев в IDE NetBeans была реализована возможность удаленной разработки.</p> |
| |
| <h2><a id="concepts"></a>Ключевые понятия удаленной разработки</h2> |
| |
| <p> |
| При удаленной разработке вы запускаете IDE NetBeans на клиенте и создаете проекты, редактируете файлы и используете функции помощи при работе с кодом точно так же, как при работе с локальными проектами. При этом в ходе сборки, выполнения или отладки проекта процесс выполняется на удаленном сервере Solaris или Linux, а входные и выходные данные передаются в клиентскую систему. В идеальном случае после настройки узла удаленной сборки разработчик не замечает разницы между локальным и удаленным режимами разработки. |
| </p> |
| <p>IDE поддерживает различные режимы удаленной разработки, описанные в разделе <a href="./remote-modes.html">Режимы удаленной разработки на C/C++</a>. Вы можете выбрать наиболее удобный режим разработки на удаленном узле.</p> |
| <h3>Требования для удаленной разработки</h3> |
| <p>Для использования удаленного узла при запуске различных средств необходимо выполнение следующих условий. |
| <ul> |
| <li>Локальная клиентская система, в которой установлена среда IDE, должна работать под управлением Windows, Mac OS, Oracle Solaris 10, Oracle Solaris 11 или Linux.</li> |
| <li>Удаленный узел должен работать под управлением Oracle Solaris 10, Oracle Solaris 11 или Linux.</li> |
| <li> |
| Локальная клиентская система и удаленная система должны иметь доступ к файлам проекта через ресурсы с совместным доступом или при помощи протокола SSH.</li> |
| <li>Клиент должен обладать возможностью подключения к удаленной системе через протокол SSH, даже если файлы проекта находятся в папках совместного доступа.</li> |
| <li>В удаленной системе должен быть реализован доступ к поддерживаемому набору средств.</li> |
| <li>В удаленной системе должны присутствовать системные библиотеки, необходимые для активации помощника при работе с кодом в проекте. </li> |
| </ul> |
| |
| <h3>Совместное использование исходного кода</h3> |
| |
| <p>Клиентская система и удаленный сервер должны иметь сведения о файлах исходного кода. Файлы исходного кода могут находиться в каталоге с совместным доступом или могут быть безопасным образом скопированы средой IDE из локальной системы в удаленную. В разделе <a href="#system">Настройка системы</a> приведены дополнительные сведения о способах настройки общих папок в различных системах. |
| |
| <h3>Взаимодействие</h3> |
| |
| <p>Обмен данными между клиентом и сервером осуществляется по протоколу Secure Shell (SSH). SSH представляет собой распространенный протокол для безопасного обмена данными между двумя сетевыми устройствами. На вашем сервере должен быть установлен сервер SSH, и должно быть разрешено соединение по протоколу SSH между клиентом и сервером.</p> |
| <h3>Наборы средств</h3> |
| <p>Как правило, IDE самостоятельно обнаруживает поддерживаемый набор средств на удаленном узле: GNU Compiler Collection, Sun Studio или Oracle Solaris Studio. Исполняемые файлы средств должны находиться в пути учетной записи пользователя, используемой для подключения к удаленному узлу, для быстрого доступа среды IDE к этим средствам. В особенности это касается средств, установленных в местоположениях, отличных от местоположений по умолчанию.</p> |
| |
| <h3>Вспомогательные функции</h3> |
| |
| <p>Для корректной поддержки функций редактора (например, автозавершения кода, семантического выделения, окна классов и др.) следует работать с проектом в корректно настроенной среде, т.е. среда должна содержать системные файлы include, определения макросов, платформу и пр. Все эти данные поступают с удаленного сервера и хранятся на локальном клиенте, поэтому при локальном изменении проекта помощник при работе с кодом будет активен, даже если проект настроен для работы с удаленным узлом сборки. </p> |
| |
| <a id="system"></a> |
| <h2>Настройка системы</h2> |
| Удаленный сервер Linux или Solaris должен разрешить взаимодействие через протокол SSH с клиентского компьютера, на котором запущена среда IDE. При необходимости использования совместного доступа к файлам вместо копирования файлов средой IDE на удаленный сервер необходимо настроить совместный доступ к файлам для обеих систем. |
| |
| <h3>Протокол SSH</h3> |
| |
| <p>Сервер SSH обычно содержится в операционных системах Linux и Solaris и по умолчанию запускается в большинстве случаев. Если сервер не запущен, то для получения сведений об установке и управлении SSH см. статью <a href="http://en.wikipedia.org/wiki/Secure_Shell" target="_blank">http://en.wikipedia.org/wiki/Secure_Shell</a></p> |
| <p>Среда IDE предоставляет собственный клиент ssh, так что нет необходимости устанавливать клиент ssh на локальном компьютере.</p> |
| <p>Необходимо активировать соединение SSH между клиентской и серверной системами, что, как правило, означает наличие на сервере открытого порта 22. Если порт 22 отключен, то вам может понадобиться доступ с правами пользователя root (администратора) или помощь администратора системы. </p> |
| <p class="notes">Между системами должна быть разрешена передача данных по протоколу SSH, даже если для передачи файлов проекта на удаленный сервер не используется функция 'Автоматическое копирование' или SFTP.</p> |
| |
| <h3>Совместное использование исходного кода</h3> |
| <p>Если вы еще не настроили общий доступ к файлам между системой Windows и удаленным узлом Unix для других целей, в небольших и средних проектах намного удобнее использовать функцию 'Автоматическое копирование' или SFTP вместо предоставления общего доступа к файлам. Если вы работаете над большим проектом и в сборке участвуют тысячи файлов, целесообразнее предоставлять общий доступ к файлам, так как копирование займет много времени.</p> |
| <p>Для схемы "Windows-UNIX®" существует два способа совместного доступа к ресурсам: </p> |
| <ul> |
| <li>Сервер Samba в системе UNIX </li> |
| <li>Пакет служб Windows для UNIX (SFU), установленный в системе Windows </li> |
| </ul> |
| |
| |
| <h4>Упорядочивание исходных файлов с помощью Samba или SMB</h4> |
| <p>Сервер Samba (версия SMB с открытым кодом) позволяет пользователю Windows подключать общие папки NFS как сетевые диски Windows. Пакет Samba или его эквиваленты SMB и CIFS в большинстве случаев входят в состав дистрибутивов операционных систем Linux и Solaris. Если пакет Samba не включен в дистрибутив вашей системы, его можно загрузить на веб-сайте <a href="http://www.samba.org/" target="_blank">www.samba.org</a></p> |
| |
| <p>При наличии привилегированного доступа к серверу настройку сервера Samba можно выполнить самостоятельно. Ссылки на инструкции приведены ниже. В противном случае для этого необходимо связаться с администратором системы.</p> |
| <ul> |
| <li>Краткая информация об Oracle Solaris 11: <a href="https://blogs.oracle.com/paulie/entry/cifs_sharing_on_solaris_11">https://blogs.oracle.com/paulie/entry/cifs_sharing_on_solaris_11</a>. Подробная информация: <a href="http://docs.oracle.com/cd/E26502_01/html/E29004/smboverview.html">Управление общим доступом к файлам SMB и взаимосовместимость с Windows в Oracle Solaris 11.1</a>.</li> |
| |
| <li>Oracle Solaris 10: <a href="http://blogs.oracle.com/timthomas/entry/enabling_and_configuring_samba_as" target="_blank">http://blogs.oracle.com/timthomas/entry/enabling_and_configuring_samba_as</a></li> |
| <li>Linux: <a href="http://www.linux.com/articles/58593" target="_blank">http://www.linux.com/articles/58593</a></li> |
| </ul> |
| <p>После запуска сервера Samba папки сервера UNIX можно отобразить так же, как и папки Windows. </p> |
| |
| |
| <h4>Службы Windows для UNIX (SFU)</h4> |
| <p>Другой возможностью являются "Службы Windows для UNIX" - набор средств, предоставляемый компанией Майкрософт для доступа к файловым системам NFS из Windows. <br>Эти службы можно загрузить из <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=896c9688-601b-44f1-81a4-02878ff11778&displaylang=en" target="_blank">Центра загрузки Майкрософт</a>, а также просмотреть документацию на <a href="http://technet.microsoft.com/en-us/library/bb496506.aspx">странице служб Windows для Unix</a>.</p> |
| <p>Пакет SFU недоступен пользователям Windows Vista или Windows 7. Версии Windows 7 Корпоративная и Максимальная содержат компоненты служб для Unix с именами "Подсистема для приложений на основе UNIX" (SUA) и "Клиент для NFS v 3". Дополнительные сведения приведены в статье <a href="http://en.wikipedia.org/wiki/Microsoft_Windows_Services_for_UNIX#Subsystem_for_UNIX-based_Applications_.28SUA.29" target="_blank">http://en.wikipedia.org/wiki/Microsoft_Windows_Services_for_UNIX</a> |
| </p> |
| <h4>Настройка Mac OS X</h4> |
| <p>Система Mac OS X поддерживает подключение к серверам Samba. Кроме того, система Mac OS X может монтировать общие папки NFS с сервера. |
| </p> |
| <p> |
| Можно использовать команду "Finder" > "Переход" > "Подключиться к серверу" и ввести адрес сервера.</p> |
| <p> |
| Для подключения к серверам SMB/CIFS (Windows) и папкам совместного доступа введите адрес сервера в одной из следующих форм:</p> |
| <blockquote> |
| <code>smb://<i>DNSname/sharename</i><br> smb://<i>IPaddress/sharename</i></code> |
| </blockquote> |
| |
| <p>Будет выведен запрос на ввод имени пользователя и пароля для папки совместного доступа. Дополнительные сведения приведены в разделе <a href="http://support.apple.com/kb/ht1568" target="_blank">Подключение к совместному использованию файлов Windows (SMB)</a> в базе знаний Apple (на английском языке).</p> |
| <p> |
| Для подключения к серверу NFS введите имя сервера и путь к папке совместного доступа NFS в одной из следующих форм:</p> |
| <blockquote> |
| <code>nfs://<i>servername/path/to/share/</i><br> nfs://<i>IPaddress/path/to/share</i></code> |
| </blockquote> |
| <p>Дополнительные сведения приведены в разделе <a href="http://support.apple.com/kb/TA22243" target="_blank">Использование средства поиска для монтирования экспорта NFS</a> в базе данных Apple.</p> |
| <p class="tips">Запрос имени пользователя и пароля не выводится, однако выполняется проверка подлинности уникального идентификатора Mac. Уникальный идентификатор (UID) является уникальным целым числом, присваиваемым имени пользователя в ОС типа Unix, например Mac OS X, Solaris и Linux. Для использования NFS уникальный идентификатор Mac должен совпадать с уникальным идентификатором учетной записи на сервере. |
| </p> |
| |
| |
| <h4>Схема "UNIX-UNIX"</h4> |
| <p>Для предоставления общего доступа к файлам между системами Solaris или Linux не требуется специальных настроек. В одной из систем должна находиться общая папка. Возможно также использование домашнего каталога, если он смонтирован на сетевом файловом сервере и доступен из обеих систем.</p> |
| |
| |
| <h3>Отображение пути</h3> |
| <p>При использовании модели с ресурсами совместного доступа может возникнуть необходимость сопоставления расположения исходного кода на локальном узле с путем, используемым на удаленном узле.<br> |
| </p> |
| <p>Например, рассмотрим следующую схему:</p> |
| <ul> |
| <li>Сервер Solaris <tt>solserver</tt> с папкой совместного доступа <tt>/export/pub</tt></li> |
| <li>Рабочая станция под управлением Windows XP с установленными службами SFU и местоположением <tt>\\solserver\export\pub</tt>, смонтированным в качестве диска <tt>P:</tt></li> |
| <li>Файлы исходного кода проекта расположены на сервере <tt>solserver</tt> в папке <tt>/export/pub/myproject</tt></li> |
| </ul> |
| <p>В этом случае с точки зрения сервера файлы исходного кода расположены в каталоге <tt>/export/pub/myproject</tt>. В то же время с точки зрения клиента файлы исходного кода расположены в каталоге <tt>P:\myproject</tt>. Необходимо, чтобы среда IDE могла распознавать подключенные пути: <br> <tt>/export/pub -> P:\</tt></p> |
| <p>Параметры подключенных путей можно изменить в свойствах узла сборки.</p> |
| <p class="tips">При настройке совместно используемых ресурсов для исходных файлов перед настройкой удаленного узла в IDE NetBeans среда IDE в большинстве случаев автоматически обнаруживает необходимые подключенные пути.</p> |
| |
| |
| <a id="setup"></a> |
| <h2>Настройка среды IDE</h2> |
| <p>В следующем примере клиентский узел является рабочей станцией под управлением Windows Vista. Удаленный узел с именем <tt>edgard</tt> - это сервер под управлением операционной системы Oracle Solaris.</p> |
| <!-- |
| <p> |
| For source sharing, the Samba server is |
| running on the remote host, which allows the <tt>/export/pub</tt> folder to |
| be accessed as <tt>pub</tt>. |
| </p> |
| <p> |
| On the Windows client, drive <tt>P:</tt> is mapped to |
| <tt>\\b20\pub</tt> using the following command |
| <pre>net use P: \\b20\pub /persistent:no /USER:tester</pre> |
| Such mappings are not required and are done for more convenience. |
| </p> |
| <ol> |
| |
| <li>Start the IDE and choose Tools > Options.</li> |
| <li>Click C/C++ in the top pane of the window.</li> |
| <li>Click the Build Tools tab.</li> |
| <li>By default, the Development Host drop-down list |
| includes only <tt>localhost</tt>, which represents your |
| current workstation. To add a new host for remote |
| development, click Edit. |
| </li> |
| <li>In the Development Hosts Manager dialog box, click Add. --> |
| <ol> |
| <li>Откройте окно "Службы", выбрав меню "Окно" > "Службы".</li> |
| <li>Щелкните правой кнопкой мыши узел 'Узлы сборки C/C++' и выберите 'Добавить новый узел'.<br> |
| <div class="indent"> |
| <img alt="Изображение, показывающее процесс добавления нового узла для удаленной разработки." class="margin-around b-all" src="../../../images_www/articles/73/cnd/remote-dev/remotedev-add-host.png"></div> |
| |
| В диалоговом окне 'Настройка нового удаленного узла' среда IDE обнаруживает узлы локальной сети. Имена узлов добавляются в таблицу в диалоговом окне. Зеленый индикатор указывает на то, что на этих узлах запущен сервер SSH.</li> |
| |
| <li>Дважды щелкните имя требуемого сервера или введите его имя непосредственно в поле "Имя сервера". Нажмите кнопку "Далее".<br> |
| <div class="indent"> |
| <img alt="Изображение, на котором показано диалоговое окно 'Настройки узла' для удаленной разработки." class="margin-around b-all" src="../../../images_www/articles/73/cnd/remote-dev/remotedev-setup-host.png"></div> |
| </li> |
| <li> |
| Введите в окне "Настройка узла" имя пользователя и пароль, используемые для входа на удаленный узел, и выберите метод проверки подлинности. При работе с данным учебным курсом выберите "Пароль" и нажмите кнопку "Далее". |
| <div class="indent"> |
| <img alt="Иллюстрация: параметры авторизации для подключения к узлу удаленной сборки." class="margin-around b-all" src="../../../images_www/articles/73/cnd/remote-dev/remotedev-setup-host-auth.png"></div> |
| <p class="tips">Для использования ключей ssh сначала необходимо настроить их вне среды IDE. Затем можно указать местоположение ключей ssh в среде IDE, и IDE сможет использовать эти ключи для установки подключения к удаленному узлу сборки по протоколу ssh.</p> |
| </li> |
| <li>После установки подключения к серверу введите пароль в диалоговом окне "Проверка подлинности".</li> |
| <li>Дополнительно можно щелкнуть "Запомнить пароль" для выполнения в среде IDE шифрования и сохранения пароля на локальном диске, чтобы ввод пароля не требовался при каждом подключении среды IDE к удаленному узлу. |
| <p>Среда IDE настраивает удаленный узел и выполняет поиск наборов средств удаленного узла.</p> |
| </li> |
| <li> |
| После успешной настройки узла на странице общих сведений выводится информация об удаленном узле: платформа, имя узла, имя пользователя для входа, а также найденные наборы средств.<br> |
| <div class="indent"> |
| <img alt="Изображение, показывающее завершение добавления нового узла для удаленной разработки." class="margin-around b-all" src="../../../images_www/articles/73/cnd/remote-dev/remotedev-setup-host-summary.png"> |
| </div> |
| |
| </li> |
| <li>В нижней части страницы общих сведений отображаются еще два параметра. Если найдено несколько наборов средств, выберите один из них для определения его как набора средств по умолчанию.</li> |
| <li>Настройка параметров доступа к файлам проекта: |
| <ul> |
| <li>Если для клиента и удаленного узла сборки не настроен общий доступ к файлам проекта, выберите параметр 'Автоматическое копирование'. Если выбран параметр 'Автоматическое копирование', файлы проекта будут копироваться в домашний каталог на сервере с помощью команды sftp. Этот режим называется простой удаленной разработкой.</li> |
| <li>Если для клиента и сервера настроена общая папка, выберите параметр 'Совместное использование файлов на уровне системы'. Этот режим называется совместной или комбинированной удаленной разработкой.</li> |
| <li>Выберите SFTP (только в NetBeans 7.4 и 8.0) для использования безопасного протокола передачи файлов при копировании файлов проекта на удаленный узел. Аналогично функции 'Автоматическое копирование'.</li> |
| </ul> |
| </li> |
| |
| |
| <li>Для выхода из мастера нажмите кнопку "Готово".</li> |
| <!-- <li>Optionally, if you are using File System Sharing, you can click Path Mapper... in the Development Hosts Manager |
| dialog box to |
| view and if necessary correct mappings for the shared source location on the local and remote hosts. |
| Note that each path is the path to the shared source as seen from the respective hosts. If you need to edit |
| either the local or remote path, double-click the path you want to change and type the new path. |
| </li> |
| |
| |
| <div class="indent"> |
| <img src="../../../images_www/articles/69/cnd/remote-dev/remotedev-path-mappings.png" |
| class="margin-around b-all" alt="Image showing the Path Mapping window." > |
| </div> --> |
| <li>В окне 'Службы' новый удаленный узел отображается в структуре узла 'Узлы сборки C/C++'. Разверните новый узел: список "Наборы средств" должен содержать один или несколько наборов средств.<br> |
| |
| |
| <div class="indent"> |
| <img alt="Изображение, показывающее удаленный набор инструментов." class="margin-around b-all" src="../../../images_www/articles/73/cnd/remote-dev/remotedev-remote-toolchain.png"></div> |
| </li></ol> |
| <h3>Если в списке нет наборов средств</h3> |
| <p>Если в списке под удаленным узлом отсутствуют наборы средств, выполните следующие действия.</p> |
| <ul> |
| <li>На удаленном узле добавьте в пользовательский путь узла каталог bin набора средств. Если наборы средств на удаленном узле недоступны, следует установить набор компиляторов GNU, либо программное обеспечение Sun Studio или Oracle Solaris Studio. |
| </li> |
| <li>Если путь к исполняемым файлам средств находится в пользовательском пути к удаленному узлу, можно попытаться повторно настроить набор средств в локальной системе. Щелкните правой кнопкой мыши узел в окне "Службы" и выберите команду "Восстановить наборы средств по умолчанию" для выполнения в среде IDE повторной попытки поиска наборов средств на удаленном узле.</li> |
| <li>В качестве альтернативы щелкните правой кнопкой мыши узел в окне 'Службы' и выберите 'Добавить набор инструментов' для указания или перехода к путь к набору инструментов на удаленном узле.</li> |
| </ul> |
| |
| |
| <p> |
| Когда набор средств появится в списке, создание удаленного узла сборки будет завершено. </p> |
| <p>Используя информацию следующего раздела, вы сможете попрактиковаться в простой удаленной разработке.</p> |
| |
| |
| <a id="workflow"></a> |
| <h2>Сборка локального проекта на удаленном узле</h2> |
| <ol> |
| <li>Создайте новый тестовый проект (Файл > Создать проект). </li> |
| <li>Разверните 'Образцы > C/C++' и выберите 'Welcome'. Нажмите 'Далее'. |
| <p>В этом примере не используются общие папки, поэтому можно хранить проект в местоположении по умолчанию в папке NetBeansProjects в каталоге пользователя Windows без предоставления общего доступа.</p> |
| <p class="tips">Если вы хотите использовать общие исходные файлы, убедитесь, что в поле 'Местоположение проекта' указан путь к папке, доступной для удаленного сервера.</p> |
| </li> |
| |
| <li>В списке 'Узел сборки' выберите новый удаленный узел. Список наборов средств будет обновлен для отображения доступных средств удаленного узла.<br> |
| <div class="indent"> |
| <img alt="Иллюстрация: мастер создания проектов с выбранным узлом удаленной сборки." class="margin-around b-all" src="../../../images_www/articles/73/cnd/remote-dev/remotedev-new-project.png"></div> |
| </li> |
| |
| <li>Для создания проекта нажмите кнопку "Готово". <br> |
| <p>Проект Welcome_1 открывается в окне 'Проекты'.</p> |
| <li>Наведите указатель мыши на имя проекта в окне 'Проекты'. Отобразится всплывающая подсказка с информацией о расположении проекта и удаленном узле сборки, выбранном для этого проекта.</li> |
| |
| <li>Нажмите кнопку 'Собрать' на панели инструментов или щелкните узел проекта Welcome_1 правой кнопкой мыши и выберите 'Собрать'. Тестовый проект будет собран удаленно на выбранном узле сборки.</li> |
| <li>Откройте исходный файл <tt>welcome.cc</tt>. |
| <p> |
| На иллюстрации показано, как работают функции 'Помощь при работе с кодом' при нажатии сочетания клавиш Ctrl-Space и установленном фокусе на символе <tt>argc</tt>. </p> |
| <p> |
| В окне 'Результаты' отображается имя узла, на котором было собрано приложение, а также тип удаленных компиляторов и утилиты make, с помощью которых выполнялась сборка. Файлы проекта находятся в пользовательском каталоге <tt>.netbeans/remote/</tt> на удаленном узле.</p> |
| <div class="indent"> |
| <img alt="Изображение, показывающее результаты сборки." class="margin-around b-all" src="../../../images_www/articles/73/cnd/remote-dev/remotedev-built-small.png" style="border-top: 1px dotted black; border-right: 1px dotted black;"></div> |
| </li> |
| </ol> |
| <p>После настройки удаленного узла различия в рабочем процессе незаметны. Разработчик может пользоваться всеми функциями редактора (сборка, запуск, тестирование и отладка) таким же образом, как при локальной работе.</p> |
| |
| <h2><a id="terminal"></a>Запуск сеанса работы с терминалом на удаленном узле</h2> |
| <p>Можно запустить сеанс работы с терминалом безопасного интерпретатора команд (ssh) в рамках среды IDE для подключения к удаленной или локальной системе. Эта функция в особенности подходит для платформ Windows, изначально не поддерживающих SSH.</p> |
| <ol> |
| <li>Нажмите на значок терминала в левой части окна 'Результаты'. <br> |
| <div class="indent"> |
| <img alt="Иллюстрация: значок терминала в окне 'Результаты'" class="margin-around b-all" src="../../../images_www/articles/73/cnd/remote-dev/remotedev-terminal-icon.png"></div><br> |
| <p>В IDE открывается вкладка 'Терминал' и осуществляется переход к локальному или удаленному рабочему каталогу текущего проекта. Если для проекта используется удаленный узел сборки и вы уже подключились к этому узлу через IDE, повторный ввод учетных данных не потребуется. </p> |
| |
| <div class="indent"> |
| <img alt="Изображение, показывающее диалоговое окно 'Терминал SSH'." class="margin-around b-all" src="../../../images_www/articles/73/cnd/remote-dev/remotedev-terminal.png"></div> |
| |
| |
| <p>Во внутреннем терминале IDE можно выполнять любые действия, которые выполняются во время сеанса подключения к удаленному узлу по протоколу SSH.</p> |
| <p>Чтобы начать новый локальный или удаленный терминальный сеанс, используйте значки в левой части вкладки 'Терминал' или пункт меню 'Окно > Результаты> Терминал'.</p></li> |
| </ol> |
| <h2><a name="tips"></a>Рекомендации по удаленной разработке</h2> |
| <ul> |
| <li>Также можно переключить проект на другой узел сборки. Для этого щелкните правой кнопкой мыши узел проекта и выберите 'Выбрать узел сборки'.<br> |
| <div class="indent"> |
| <img alt="Изображение 'Меню настройки удаленных узлов'." class="margin-around b-all" src="../../../images_www/articles/73/cnd/remote-dev/remotedev-set-remote-host-menu.png"></div> |
| </li> |
| <li>Свойства удаленного узла сборки можно изменить после первоначальной настройки. Для этого щелкните правой кнопкой мыши узел в окне 'Службы' и выберите 'Свойства'.</li> |
| <li>Если удаленный узел используется для сборки и запуска приложения с графическим интерфейсом, можно выбрать в свойствах узла параметр "Включить перенаправление X11" для отображения интерфейса пользователя в локальной системе при его выполнении на удаленном узле.</li> |
| <li>Если в ходе сборки проекта выполняется компиляция библиотек или создание других файлов в дополнение к основному продукту построения, среда IDE выведет запрос на загрузку файлов в локальную систему. При этом можно выбрать измененные файлы для загрузки.</li> |
| <li>С проектами можно работать в полностью удаленном режиме, когда сам проект и средства находятся на удаленном узле. Дополнительные сведения см. во встроенной справке IDE или статье <a href="./remote-modes.html">Режимы удаленной разработки на C/C++ </a>. </li> |
| <li>Данные по удаленному узлу и средствам доступны в меню среды IDE "Сервис", а также в окне "Службы". Выберите Сервис > Параметры > C/C++ > Средства сборки и нажмите кнопку 'Изменить' рядом со списком 'Узел сборки'.</li> |
| <li>При использовании функции совместного доступа к файлам проекта можно отобразить локальный и удаленный путь к папкам совместного доступа при помощи функции "Отображение пути". Настроить подключенные пути можно одним из следующих способов: |
| <ul> |
| <li>В окне 'Службы' откройте категорию 'Узлы сборки C/C++', щелкните правой кнопкой мыши имя узла и выберите 'Указатель путей'. |
| </li> |
| <li>В меню IDE 'Сервисы' выберите 'Параметры > C/C++ >Средства сборки', нажмите кнопку 'Изменить', выберите удаленный узел и нажмите кнопку 'Отображение пути'. |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| <h2>См. также</h2> |
| <p>Подробнее см. в следующих местоположениях.</p> |
| |
| |
| <ul><li><p>Меню 'Справка' в IDE обеспечивает доступ к обширной информации об использовании IDE.</p> |
| |
| </li> |
| <li><p>Различные способы работы в режиме удаленной разработки описаны в статье<a href="./remote-modes.html">Режимы удаленной разработки на C/C++</a></p></li> |
| <li><p><a href="https://netbeans.org/kb/trails/cnd.html">Учебные карты C/C++</a> содержат несколько статей и учебных руководств по разработке на C/C++ в IDE.</p> |
| |
| </li></ul> |
| |
| |
| <div class="feedback-box"><a href="mailto:users@cnd.netbeans.org?subject=Feedback:%20C/C++%20Remote%20Development%20-%20NetBeans%20IDE%208.0%20Tutorial">Отправить отзыв по этому учебному курсу</a></div> |
| <br style="clear: both;"> |
| </body></html> |