>> ДАН Armendariz: Здравствуйте, і ласкаво просимо в CS50 семінар по налаштуванню Cloud 9,
і CS50 IDE.
Таким чином, сьогодні ми збираємося просто поговорити трохи
про деякі з Технічна інформація,
йде за архітектури Хмара 9, і як
ми впровадили деякі з плагінів в рамках Cloud 9, щоб забезпечити CS50 IDE.
Так що давайте просто стрибати прямо в і почати говорити про плагіни.
>> Так плагіни дійсно на Ядро Хмара 9 досвід.
Хмара 9 є базовою технології що забезпечує нам IDE,
а також вікно терміналу на Дно, разом з workspace--
Убунту workspace--, що ми використовувати для компіляції всіх наших проектів
і виконувати наші проблемні набори, завершити наші проблемні набори.
Але в основі всього це, всі технології
насправді просто купа плагінів.
Все це плагін які можуть бути змінені,
збільшується, ви можете створити Ваші власні плагіни,
Ви можете видалити одного плагіни, щоб дійсно змінити
досить багато функціональності існуючої Cloud 9 IDE.
>> Так що це існуючий Cloud 9 навколишнього середовища.
Це дійсно просто за замовчуванням Cloud 9 навколишнього середовища.
І погляньте на те, як він насправді відрізняється від CS50 IDE.
Так що це CS50 IDE.
Зверніть увагу, що є деякі візуальні зміни між регулярною Cloud 9
довкілля та CS50 IDE.
Зокрема, ви будете помітити кілька змін.
Насамперед, це менше їсти пункти меню, щоб почати с.
Там насправді спосіб що ви можете змінити це.
Це називається простий режим.
>> За замовчуванням, Простий режим включений, і що спрощує деякі з пунктів меню.
Вона видаляє деякі з більш просунуті,
тому що, відверто кажучи, багато студенти, які приходять в
і не потрібно знати про деякі з більш просунутих функцій
не перевантажуючи з купою опцій.
Але ми надаємо можливість взяти від тих так званих навчальних коліс
і видалити, що ліси, щоб люди
може стати більш звикли до передові особливості IDE.
Відразу до Право, що є
також кнопка налагодження, які в стандартній Cloud
9 середу називається просто бігти.
Але за умовчанням, ми налаштували кнопка налагодження в IDE CS50
виховувати відладчик, автоматично компілювати вихідний код,
підключити відладчик до основної GDB--
і так, що це працює, щоб виконати debugging-- і деякі інші кроки
так само.
Також вікно терміналу на very-- або, скоріше, термінал
Вкладка в розділі консолі на Вікно в самому низу екрану,
була перейменована в просто термінал.
У той час як у стандарті Хмара 9 навколишнього середовища,
це насправді показує працює додаток.
Таким чином, це спрощує, знову ж таки, графічний інтерфейс, просто небагато.
>> Ми також додали кілька кнопок у правому верхньому кутку IDE
показати деяку базову інформацію про основну інстанції.
А також ми зняли одне з варіантів по пунктах
від крайніх правих.
Таким чином, все це реалізовано шляхом зміни обов'язково Хмара 9
Вихідний код, але замість через пару
плагінів, які ми вже впровадили протягом минулого року або близько того.
І Cloud 9 приймала і має працює в CS50 робочої області.
Або, скоріше, в тому, що робітники простору позначаються як CS50 IDE.
>> Так насправді, що головна відмінність між Cloud 9 і CS50
робітники.
Там також, що лежить в основі Наприклад, зміна первинної
що ми встановлюємо деякі Попередньо налаштовані елементи, такі як GDB,
і деякі інші основні речі, які ми створили, як оновлення 50,
і кілька інших кроків, які роблять весь досвід трохи більше
єдина.
Але в цілому, це просто модифікація існуючої системи
що Хмара 9 створив для нас.
Те, що ми збираємося показати трохи пізніше
як насправді створити кілька основних плагін, який
дозволяє нам вставити щось у Система меню, і відкрити діалог.
І якщо у нас є достатньо раз ми насправді
бачити, як ми можемо заповнити, що діалог з деякою інформацією
від основної інстанції.
Для того, щоб нам отримати до того, що Точка, давайте спочатку поговоримо трохи
про архітектуру Cloud 9.
>> Таким чином, шлях, який ми використовували до взаємодії з Cloud 9
повністю через клієнта.
Ми відкриваємо браузер, ми вводимо в CS50.io.
Ми в кінцевому рахунку, після аутентифікації, представлені з IDE.
Але розумію, що є пару кроків
що насправді змусити нас до цієї точки.
Найперше, що в тому, що мій клієнт, веб-браузер,
За запитом і після аутентифікації, завантажує графічний інтерфейс і плагіни
з якоїсь CDN, від деяких Мережа доставки контенту.
Це може бути відверто в будь-якому місці.
>> І це насправді окремий від основної інстанції.
Важливо розуміти, що це насправді просто купа статичних файлів.
Це купа JavaScript які завантажуються з CDN
на моєму веб-браузер, а все, що вам GUI
см here-- це дійсно key-- всі графічним інтерфейсом, який ви бачите тут
виконується на клієнтській стороні.
Все, що ви бачите в Cloud 9 робочої
насправді працювати в браузері.
І нічого, що ви посилаєте поряд з основною Наприклад
повідомляється з примірником в цій другій окремий канал,
і потім зберігається на що екземпляр Докер.
>> Так що причина, що я говорю це екземпляр докер
є те, що в основі технології не використовуючи віртуальні машини,
але замість цього використовує Технологія називається докер,
які в основному allows-- ближче Аналогія являє собою віртуальну машину.
Але це трохи відрізняється в цьому є
багато можливостей для запуску Поєднання різних докер
примірників в одній машині.
І вони можуть бути розкручується в дуже швидкій послідовності.
Це не зовсім тим суворе розмежування
між різними випадках докерів як є на віртуальних машинах,
але все ще є багато диференціація і поділ
між цими різними інстанціями.
ДОБРЕ.
Таким чином, дві кроки, які тут важливі, щоб зрозуміти
є те, що, коли ми йдемо в CS50.io, ми скачування графічного інтерфейсу і плагіни,
які написані в JavaScript, на через браузер або в браузері.
І це, можливо, пару мегабайт коштує інформації.
У той момент, як тільки інтерфейс має завантажений і плагіни почали,
Потім він починає взаємодіяти з екземпляр докер, яка не робить
обов'язково повинні бути на тому ж сервері.
>> Тепер є один виняток.
Ми можемо насправді є як механізм доставки для самого GUI
та примірник докер в все той же сервер, який
насправді щось, що ми робимо для автономної версією Cloud 9.
Це не те, що ми розголос дуже цієї осені,
але ми також мають форуму, що версія
дозволяє завантажити упакований версія всі ці речі
і дозволяють запускати Cloud 9 в автономній середовищі.
>> Переміщення це від хмари і на Ваш локальний комп'ютер має деякий вплив.
Зокрема, ви не більше є можливість
поділитися ваш робочий простір з іншими.
Вам більше не можете відкрити Cloud 9 з, і CS50 IDE, з будь-якого комп'ютера
і побачити ті ж файли, що Ви працювали раніше.
Але замість цього він працює абсолютно на вашому локальному комп'ютері
без необхідності доступу в Інтернет.
Але все-таки навіть у цій моделі, навіть хоча у нас є одна віртуальна машина
що, по суті, виконання цих речей.
>> У нас є окремий сервер, який забезпечуючи, по суті, Хмара 9
Зміст, а потім ми є екземпляр Docker
який відповідає за зв'язок з цією IDE для задньої частини.
ДОБРЕ.
Таким чином, вся графічний написано повністю в JavaScript
за допомогою Node.js і Cloud 9 SDK, які ми доберемося до через хвилину.
І всі плагіни виконуються на стороні клієнта.
Так давайте зосередимося то небагато, припускаючи,
що це перший крок фактично завершена успішно,
і дивитися тільки на цьому випадку Docker.
>> Таким чином, в цьому випадку, це є стандартним способом
думати про робите Cloud 9 плагін розвиток, що ви збираєтеся
щоби писати код, який буде запустити в браузері користувача,
і у вас є можливість використовувати деякі API, спілкуватися
з примірником базового Docker, запустити код існує, і зробити що-небудь
що ви, можливо, захочете зробити.
Так що це буде контекст, що ми будемо
використовувати для іншої частини цієї бесіди.
І просто тримати цю модель на увазі.
Це буде дуже важливо всього за кілька хвилин.
Там є пара посилання я хочу показати вам.
Перш за все, Хмара 9 забезпечив досить багато документації
це дуже добре, що показує, як зробити основний розвиток плагіна.
Так що, якщо ви йдете в цей URL, cloud9-sdk.readme.io,
Ви побачите документації є.
І багато з цієї інформації що ви збираєтеся, щоб побачити
Також там можна знайти, плюс більше.
Ви також можете знайти відкритого джерела версія Cloud 9 за цією адресою,
github.com/c9/core, які ми використовуємо в якості частина автономному версії IDE,
так що ви будете мати можливість те ж саме Хмара 9 досвід,
але в автономному чином.
Добре.
Отже, давайте поглянемо на поточна Хмара 9 робоче тут.
І знову ж, я хочу, щоб вказати з кількох речей.
Це, прямо тут, нормальний CS50 IDE.
І я відключив менш зручний вид в меню Вид
так що я можу бачити все з меню.
Те, що я хочу показати вам прямо зараз пара речей.
По-перше, якщо я йду в Уподобання, а потім
натисніть на плагін менеджер, і введіть в CS50 тут,
ми бачимо, що є, насправді, пару CS50 плагінів,
були встановлені і наша робота, щоб включити зміни, які ми
бачив на CS50 IDE.
>> Зараз є по суті дві плагіна, які виконуються.
Там одна називається простий, який це спрощена режим, який
дозволяє зменшити кількість пунктів меню вздовж верхньої,
і ця так звана менш комфортно режим.
А тут ще й CS50 Статистика, що, можливо, лише злегка невірно названі.
Тому що це те, що показує інформацію
про основну робочої області.
Це вводить ці кнопки по верхньому правому куті.
Крім того, вводить пункт меню Into The Пункт вікно, в меню Window
прямо тут, CS50 IDE інформація.
І це відповідальність за примірника цей діалог, що ми бачили тут,
з усією інформацією, що ми знаходимося звикли бачити в CS50 IDE
Робочий простір.
ДОБРЕ.
Так що насправді ще один плагін що ми розробили також.
І є декілька інших, які ми також публічно не випустили.
Але один з них є в цілому плагін, який дозволяє GDB, щоб функціонувати.
Отже, один з аспектів Cloud 9 є те, що вони забезпечили вже
це графічний інтерфейс для реалізації відладчика.
І один з плагінів, які ми створили в основному
гачки GDB з цим GUI розрядної версії відладчика.
І відповідальність за посередництво все запитів, які користувач може мати,
між переступаючи через або створення точок зупину або що-небудь
уздовж цих ліній, перекладу, що на команди, які GDB може зрозуміти,
видачі цих команд в GDB.
І як тільки GDB видає відповідь, то
ми інтерпретуємо, що і оновити GUI в міру необхідності.
>> Це, ймовірно, один з тим складніше
з плагінів, так що замість того, що ми збираюся зосередитися на сьогодні, насправді
даниє плагін, і ми поговоримо трохи про простих, а також.
Так я вже говорив, і я дійсно хочу зробити дуже, дуже ясно, що знову,
все це, що ми бачимо тут, по суті
працюють на стороні клієнта.
Ми бачимо вікно терміналу нижче, і це, звичайно,
якщо ми наберемо в командах в що, який буде виданий, то
до базової наприклад.
Точно так само, якщо ми відкриємо новий файл і ввести деякі речі в ній і зберегти його,
що файл буде збережений на основний екземпляр.
>> Але сам редактор, це Сам термінал вікно,
це все реалізується в JavaScript та всі плагін
що ми можемо взаємодіяти, і, отже, змінити.
Там багато розширюваності тут.
Я рекомендую поглянути на Cloud 9 в рахунок GitHub
щоб побачити величезну кількість плагіни, які доступні,
і наскільки добре написано багато коду для розширюваності.
Так є щось що я хочу сказати,
Про це, а також, що що є багато of-- є
багато функціональних можливостей, які це за умови, в настройках
вікно, яке ми бачили тільки посилався тільки кілька хвилин тому.
>> Одна з речей, які ми можемо зробити, як IDE Розробники, або, як Cloud 9 розробників,
є насправді вводять деякі Привілейовані панелі наше.
Таким чином, простий режим, або менш зручний вид,
а також інформацію IDE, або статистика плагін,
має кожен деяка перевага панелі, які дозволяють нам змінити
поведінку кожного з них.
Ви помітите, що, якщо я піду до Уподобання і перейти до налаштувань користувача,
є вкладка CS50, один що говорить інформації IDE.
І я можу змінити Інформація частотою оновлення.
>> Ефективно, що відбувається в статистиці плагін
є те, що кожні п-секунд, де N-секунд визначається цього переваги
Панель, інформація буде вуха від основної Наприклад, направляється
Повернутися до стороні клієнта, плагін потім
інтерпретації інформації від основної Наприклад
і оновлення GUI в міру необхідності.
Ми бачимо, що зараз це встановити 30 секунд, і це за замовчуванням.
Але я можу напевне змінити як швидко це відбудеться тільки
шляхом модифікації цього значення.
>> Тепер один з найцікавіших речей що це перевагу панель, графічний інтерфейс,
насправді просто версія графічного інтерфейсу про багатьох базових налаштувань
які представлені у форматі JSON.
Так що, якщо я йду, наприклад, під Меню CS50 IDE, або меню Хмара 9,
залежно від версію ви дивитеся,
і перейти до однієї з них settings-- в даному випадку,
проект settings-- Налаштування проекту в цьому випадку
поширюється на всі налаштування для цього однієї робочої області.
У той час як для користувача настройки застосовуються щоб всі робочі області
що ви могли б мати у вашій облікового запису.
>> Так само, як у бік тут, щоб бути дуже ясним,
є поділ між два, тому що, хоча за замовчуванням ми
одна робочий простір, що це CS50 IDE, якщо ви
були натиснути на ваш маленький аватар тут і перейти до приладової панелі,
Ви виявите, що ви можете фактично створити додаткові робочі, а також.
Ви можете побачити тут, що в мене є інтегрована середа 50 робоче місце, а також
для цілей цього Семінар, робочий простір
називається робоча область, що прямо тут.
Так чи інакше, у мене є різні уподобання.
Кожен з них може мати окремих проектів, переваги
але користувальницькі переваги є розподілені між усіма моїми робочими просторами.
До речі, це Також дуже зручно, якщо вам
хочете створити робочий простір з різні варіанти настройки.
І це дуже зручно, щоб створити нове робоче простір.
І вибрати один, який може бути Попередньо сконфігуровані в якийсь інший спосіб,
можливо, для PHP зокрема, або Django конкретно.
Або навіть просто звичай.
CS50 робоче Шаблон є той, який ми
використовувати, що автоматично встановлює Оновлення 50 і всі параметри
що у нас там, у тому числі всі плагіни, які ми маємо для CS50 IDE.
ДОБРЕ.
Але давайте повернемося до цього.
Отже, ще раз, є проекти налаштування і ті з них,
що ми дивимося на тут.
І зверніть увагу, що купа налаштувань,
Багато хто з них відповідає вибору панелі, але не всі з них.
Але ми бачимо, що тут, в this-- про ні, я поклав його в налаштуваннях користувача?
Може бути, я поклав його в налаштуваннях.
І це, тут ми йдемо.
У налаштуваннях користувача, ми можемо бачити, що у нас є розділ CS50,
і це пишеться щоб ці Хмара 9 полігонів
що ми реалізували.
Там у простій для відповідають тієї простої плагін,
і той, який Статистика відповідає тій графічний інтерфейс
версія панелі налаштувань.
Частота оновлення, в цьому так, встановлений в 20 секунд.
>> Це все, сподіваюся, то Початок деякою інформацією
що ми дійсно побачити в трохи трохи більше деталей, на мить.
ДОБРЕ.
Так що давайте говорити, що ми хочемо, щоб насправді приступити до неї.
Ми розуміємо, що всі речі що відбувається на стороні клієнта
робиться насправді на браузер, який означає, що будь плагіни, які я пишу
будуть написані з браузером на увазі.
А якщо я насправді хочу робити небудь на робочій області,
Я, можливо, доведеться почати свого роду зв'язку
між браузером і робочий простір, щоб переконатися,
що, фактично виконується.
Але, припустимо, що в даний час Я хочу, щоб дістатися до нього
а насправді створити свій перший плагін.
Ну, так, що ви могли б зробити це насправді досить легко.
Це дало в Cloud 9 SDK,
Але це взяти ваш ім'я існуючого робоча область, що
це адреса, що у вас є у верхній частині Ваш бар, і додати до нього наступний.
?
Sdk = 1 & Дебуб = 2.
Тепер те, що це буде для того, щоб це що SDK = 1 буде насправді встановити SDK
режим правда, що дозволить пару додаткових речей.
І налагодження = 2 дозволить повідомлень про помилки щоб бути трохи більш багатослівним.
>> І тому, якщо ви виховувати JavaScript Консоль на вкладці розробників Chrome,
Ви насправді буде в змозі побачити набагато більше інформації,
ніж ви б інакше.
Так що я рекомендую включати обидва ці в той же самий час, тому що це дійсно
Корисно мати все це Додаткова інформація.
Важливо зазначити, однак, що включення налагодження в значення 2
означає, що це дуже багатослівний, і це насправді
буде дещо помітно сповільнити Ваш IDE, особливо при завантаженні
або коли робити робити важкі завдання.
Так що майте це на увазі.
Це корисно для розвитку, але ви можливо, не хочуть, щоб він весь час.
>> Отже, давайте насправді це зробити.
Але в цьому випадку, я насправді є вже створили робочу область за цього.
Отже, давайте подивимося, SDK = 1 & 2 = налагодження.
З парою плагінів сподіваюся, вже встановлений.
Добре.
Так що тепер я включив SDK налагодження Режим, зверніть увагу, що ми знаходимося в режимі налагодження,
таким чином, ми можемо подивитися на засоби розробки, щоб побачити будь-які помилки, які я зроблю закадровий.
Ми можемо бачити, що є купа помилок тут.
Тепер це насправді досить загальними для Хмара 9 мати пару помилок,
і я б не турбуватися не про них, поки ви
побачити щось, що може бути специфічними для плагіна
що вам трапиться бути створення.
>> Так ось, наприклад, ми отримуємо пару 404s-- не найден.
Ми бачимо, що ми не в змозі завантажити деякі Інформація від основного примірника
Сам.
І є купа додаткового інформація, але більшість з цього ми
насправді відбувається, щоб ігнорувати зараз.
Тому що це дуже загальні для робочої області
мати тільки пару помилок.
ДОБРЕ.
Я збираюся рухатися це з шлях і повернутися сюди.
А тепер простий спосіб, симпатичний річ про те, цей розробник
Режим включений, що вона дозволяє мені легко створити новий плагін.
>> Так в той час як перш, ніж я насправді не Тобто це нова опція плагін доступний,
які ми можемо побачити, якщо я повернуся в не буде мій режим розробник тут,
немає новий плагін.
При включенні режиму SDK, я є новий плагін доступний в
і я можу легко створити.
У цьому випадку, є кілька різних варіантів, прості,
порожній плагін, повний плагін, установки, Хмара 9 розшарування.
Давайте просто виберемо порожній плагін зараз
так що ми можемо бачити дуже проста версія одного.
>> Тепер зверніть увагу, що уздовж ліва сторона, що там зараз
то під Вибраного, який перераховує кілька плагінів
що в даний час доступні для мене.
Якщо я розширюю, що ми будемо зможуть побачити їх.
Тепер я хочу, щоб ви помітили щось тут, що
є те, що це не насправді міститься в каталозі робочого простору
на мій, що лежить в основі Ubuntu, наприклад, але він міститься на жорсткому диску.
А де це знаходиться, бо Це дуже корисно знати,
особливо якщо ви збираєтеся робити що-небудь з Git,
де це знаходиться поза в папці .c9, / плагіни.
Так що, якщо я йду туди, ми бачимо, що в даний час список плагінів, які тут
збігається зі списком плагінів, які я побачив на лівій стороні мого робочого простору.
>> Тепер за замовчуванням, і це дивно,
за замовчуванням, коли я створюю Новий плагін в робочій області,
він створює цей плагін, що по за замовчуванням має ім'я підкреслення.
Взагалі, що може викликати деякі проблеми.
Так дуже наступному кроці що я, як правило, виконують
просто видалити, що Зокрема плагін
і залишити тільки простий плагін, що було спочатку, plugin.simple.
І це тільки один, що є.
ДОБРЕ.
>> Отже, що ж це насправді виглядає?
Ну, це, знову ж таки, пакет Java-script
який включає в себе декілька файлів, у тому числі plugin.js файл, де
основний зміст мій плагін знаходиться,
файл package.json, який насправді вказує
деякі метадані про це плагіні, наприклад, хто автор,
будь-яка додаткова інформація про нього, в опис плагіна, і так далі.
А також за умовчанням, це створює порожній файл README,
і порожній файл тест для вас створити додаткову документацію,
і тестування джгут, якщо Ви хотіли б зробити.
>> Так що давайте просто подивимося спочатку на, дуже швидко, у файлі package.json.
Це досить легко просто пройти це і заповнити в області це
що ви хотіли б, щоб заповнити, як забезпечити йому ім'я, дати опис,
ітерації номер версії кожен так часто, забезпечують
автор для кожного людина, яка сприяє,
Додати в вкладників розділ, і інша частина цього вас
може в значній мірі тільки залишити як є зараз.
>> Там одна річ, яка Важливо відзначити,
що в розділі плагінів, є ключ називається плагін.
І це відповідає назві файл JavaScript називається plugin.js.
Так що це, як Cloud 9 знає, коли його читає цей файл, який package.json
з JS файли фактично спрацював.
Якщо я створюю додаткові JS файли або хочете перейменувати цю JS файл з плагіна,
Я також повинен змінити його у файлі package.json.
>> Будь-які питання від аудиторії?
Немає.
Це одна людина, яка наступних разом зі мною досі.
>> ДОБРЕ.
Так я насправді створили пару плагінів вже
Я думаю, що в цьому робочому просторі.
Отже, давайте позбутися від деяких з них, додати SDK = 1 & налагодження = 2, перезавантажте цю робочу,
і давайте подивимося, якщо ми є ті плагіни в даний час.
C9 / плагінів.
Ось і ми.
Ми бачимо зараз в моїх C9 / плагінів цього Один з них, у нас є plugin.1 і plugin.2.
Отже, ми збираємося, щоб просто підійти the-- просто збільшити кількість труднощів
в кожному з цих плагінів.
Але от якщо я створюю новий плагін, Я можу додати його в обране.
І я просто видалити ті з основний файлової системи.
>> Давайте знімемо це.
Тепер, якщо я відкриваю мій перший плагін, і відкриті plugin.js,
ми бачимо тут, що лежать в основі проста версія плагіна.
Дозвольте мені насправді повернутися до цього іншої робочої
тому що ви можете, принаймні, ось бачите, те, що порожній плагін насправді виглядає.
Так під капотом, це виглядає дуже схожий на технологію під назвою,
Я думаю, що, це RequireJS.
Зверніть увагу, що це не реально дивитися, можливо,
так само, як який-небудь інший JavaScript файли, які ми могли б бачили.
Але замість цього, є пара просто Основні напрями, що насправді має.
>> Всі ці речі, перш інтерпретується IDE,
але це насправді не працювати доти не вказано.
І я вам скажу, що про те, коли насправді означає всього хвилину.
Але зверніть увагу, що тут є main.consumes лінії в рядку 2,
і це список всіх плагінів що цей плагін залежить від.
Так, за замовчуванням, ми, можливо, не мають будь залежності від інших плагінів,
але коли ми насправді потрібно залежать від особливостей поставляється
іншими плагінами в IDE, ми повинні перерахувати ті плагіни
в рядку main.consumes.
І тоді ми повинні пов'язати їх з кодом
нижче, які я покажу вам, всього момент про те, як ми можемо це зробити.
>> Main.provides дає назву цьому плагіна
що інші плагіни могли використовувати у своїй споживає лінії.
Таким чином, в цьому випадку, мій плагін просто встановити там за замовчуванням,
і ми повинні змінити, щоб бути застосовні до наших власних плагіном,
як ми побачимо всього хвилину.
Тепер тут, у функції Основний, ця функція головною
насправді запуску і інтерпретувати, але це насправді не зробити дуже багато чого.
Це просто отримує всі налаштування, але це насправді не почати плагін,
незважаючи на те, що ім'я звучить.
Це насправді відбувається через послідовність методів,
містяться в даному плагіні.
>> Так що, якщо я прокрутіть униз, ми можемо бачити, що у нас є життєвий цикл де
на якомусь заході під назвою навантаження, або яке-небудь подія називається вивантаження,
деякі події насправді сталося.
Це дійсно тут, де в якості плагіна починається, що ці методи називаються.
Так що давайте бути трохи більш конкретними про це і подивимося на прикладі.
Так от для plugin.1, те, що ми в основному будемо робити
є створення пункту меню називається CS50 Діалог Семінар 1--
тому що у нас два them--, і ми збираємося
вводити його в меню Window.
І коли ми натисніть на неї, ми збирається відкрити діалог, який
показує нам деякі дуже основну інформацію.
>> У цьому випадку, просто привіт світ.
Так що це дуже простий привіт світ діалог
що ми можемо реалізувати як плагін в Cloud 9.
Отже, давайте подивимося, як це виглядає насправді.
Ми будемо крок через нього, просто відносно швидко, тому ми
можна подивитися на наступному модулі, а також.
Зверніть увагу, що тут ми споживаючи різні плагінів.
Ми споживаючи діалог плагін, команди, меню і інтерфейс.
Схоже, я насправді маю на споживаючи діалог в два рази, так що я можу видалити це.
>> І зауважте, що на шляху що я їх підключення,
Це свого роду метадані, розповідає плагін система, які вимоги
насправді потрібно для цього плагін для завантаження.
Важливо також зазначити, що порядок, плагіни завантажуються
Не гарантується.
Але те, що гарантується, що, якщо я вказати деякі плагін в якості вимоги,
що плагін буде завантажений перед цим завантажений.
>> Так це означає, що, якщо ваш плагін вимагає на деяких функціональних можливостей
щось ще в IDE, ви повинні бути впевнені, що ваші підключаються споживає
що плагін, щоб залежно впевнені, щоб створити свій плагін,
або створити екземпляр плагін, тільки після цього існуючі рамки існує.
Так от я згадав метадані менеджера плагіна,
ті, які я збираюся, щоб споживати.
А в головній функції тут, Я збираюся потім підключіть
мій код на ці імпортні плагінів.
>> Так що я просто хочу, щоб створити кілька змінних, які
збігаються з іменами кожного з тих, хто так що я можу дуже швидко посилатися на них
протягом всього мого коду.
Причина, чому я імпортувати діалог тому що я хочу, щоб мій плагін
виступати в якості діалогу плагіна.
І те, що я в змозі щоб зробити це, щоб, звичайно,
підключити код для діалогу плагін від його імпорту
а потім, вказавши на створення нової змінної діалогу
і підключити його до що імпортне плагін.
А потім, визначивши мій плагін в якості нового діалогу.
>> Таким чином, в ініціалізації, я хочу, щоб визначити свій плагін.
І ця змінна називається плагін ви побачите
використовується тільки зазвичай по всій Cloud 9 плагінів.
Я збираюся створити екземпляр нового діалог з деякими атрибутами,
дати йому певне ім'я, кажуть, що це можливо для користувачів, щоб закрити його.
Те, що це покажу трохи х в верхній правий кут,
або маленька кнопка в правому нижньому куті.
Будь або не я можу обирати текст з це те, що назва цього діалогу
б, і так далі.
Тепер це просто визначає діалог, але це ще не показати його.
Я насправді потрібно визначати Дія для нього, щоб бути показано на малюнку.
>> І знову, я закликаю вас, щоб поглянути на Хмара 9 SDK,
бо є різноманітність діалоги і вони дійсно добре документовані.
Ви можете побачити різні типи що є, і використовувати їх
в якій би плагін ви маєте на увазі.
Тепер там буде розділ навантаження і це навантаження
Функція як ви пам'ятаєте це використовується плагіна життєвого циклу
насправді всі екземпляри і отримати все готове, щоб піти.
Тепер, коли це плагін навантаження, я не хочу, щоб це негайно показати діалог,
тому що цей плагін буде завантажити поряд з іншою частиною IDE.
І коли я завантажити IDE, я не хочу діалог, щоб показати автоматично.
Я хочу, щоб показати, коли я натискаю на тільки пункт меню в моєму меню Window пункт
що я буду додавати до нього на мить.
>> Так що два різних дії ось що повинно було трапитися.
Я повинен створити команду і команда
відповідатиме за фактично показуючи діалог по Хмара 9 IDE.
А то у мене для підключення, я повинні створити нове меню вікна
Пункт, який працює, що команду.
Так що, коли я натискаю на це вікно Пункт меню, що команда потім запустити
і, отже, мій діалог, то показано.
І так це насправді досить хороший спосіб думати про це.
>> Бо спочатку я можу створити команду чиє ім'я CS50 семінар Діалог 1,
що забезпечує деякі загальний контекст для нього.
І важливо трохи тут, щоб помітити EXEC атрибут, який
перераховує функції, яка буде викликатися в моєму плагіна, коли ця команда виконується.
Так ця команда начебто a-- це просто довільне Хмара 9
Команда, яка доступна на будь Хмара 9 плагіна.
Але фактична функція, що це буду називати, коли ця команда виконується
функція шоу діалог в моєму plugin.js файлу.
>> І ми можете побачити ці плагіни і список
команд, які доступні для нас в Уподобання, виділіть весь шлях down--
давайте подивимося, насправді ми бачимо це зараз?
Plug-менеджер, ні, я думаю, що це i-- безумовно, десь тут.
Ну, є список команд де-небудь, але я повинен мати,
Я забув, де вона є.
Так добре, ми будемо рухатися далі.
Добре.
Тому у нас є список команд які доступні для нас,
і ці команди це просто довільне Хмара 9
Команди, які працюють певний код.
Так що майте це на увазі, що ми збираємося запустити діалог шоу
функціонувати на мить.
Тепер, коли я насправді хочу, щоб додати меню Пункт, я можу додати, що по шляху елемент,
і просто вказати, де саме я хочу це буде, діалогове вікно, / CS50 Семінар 1.
І в той момент, я хочу щоб створити новий елемент, який
збирається запустити команду, Семінар CS50 Діалог 1.
Зверніть увагу, що, повторюся, це хмара 9 команд я створив трохи вище.
>> Тепер я також хочу, щоб створити маленький дільник,
і тому я можу зробити те ж саме У подальшій рядку.
Тепер ви, напевно, помітили, що, як частина визначення цього пункту меню,
є ряд пов'язані з ним, які
насправді говорить, де саме Я хочу, щоб пункт меню, щоб бути
розташований в списку меню,
Але ви, напевно, помітили що я насправді не
бачу ніяких чисел з ці меню, за замовчуванням.
Так що це трохи прихований річ, яка ми можемо зробити, невелика зміна в нашому URL.
Таким чином, на додаток до SDK = 1 & налагодження = 2, Я встановити меню 1--
і, сподіваюся, це меню не меню.
О, це меню = 1.
Зачекай.
>> І що ми побачимо на перевантаження, що IDE є те, що я все ще в режимі налагодження,
але тепер є номери пов'язані з усіма меню.
І це говорить вам, саме те, що кількість
коли ви намагаєтеся, щоб надати -то в будь-якій точці цієї системи меню.
Таким чином, в меню Window, я можу бачити, що пункт 45 співпрацювати
і пункт 38 перед його установки.
Так що, коли я хочу, щоб надати пункт між цими двома,
Я б просто вибрати номер між цих двох пунктів.
Так я вибрав 41 і вставив свою семінар Діалог пункт 1 меню в цьому місці.
>> І ось чому це число тут, яке з'являється номер 41.
Це місце того, що Пункт меню в меню Хмара 9.
Тепер точно так само, я хотів створити роздільник
і додати його так, що є хороша поділ між кожної з цих меню
предмети.
Так що я додав, що на місці 43.
Так далеко, так добре, я сподіваюся?
Так що тепер давайте подивимося насправді питома код в діалозі шоу
що насправді відповідає для відкриття цього діалогового вікна.
>> Прокрутка вниз, я бачу, що я хочу, щоб ця функція Діалог,
і це надзвичайно просто.
Я збираюся запустити шоу Метод на змінної плагіна.
І пам'ятайте, що ми визначили це плагін змінної вище, як діалог.
Так бар плагін, в цьому випадку, це Об'єкт, який ми визначили всередині.
І це буде новий діалог міститься в даному плагіні.
І так ми насправді посилаються це плагін змінної в багатьох місцях
в типовому Cloud 9 Середа розробки.
>> Ми побачимо його тут.
Зверніть увагу, що, як ми прокрутіть униз, є додаткові життєві цикли.
Так зауважити, що ці Відповісти до подій, які стріляли
цим об'єктом, цей об'єкт діалогу.
За замовчуванням, є завантажувати і вивантажувати, що
доступні для всіх Хмара 9 плагінів.
Але у випадку цей діалог, є
ще одна подія, яка може вогонь, а називається
Намалюйте, який спрацьовує, коли що збирається бути звернено на екрані,
в першу чергу діалогу показує.
>> Тому, коли насправді буде показаний,
там збирається забезпечити нас деякі HTML.
І, використовуючи тільки стандартний Практики HTML можемо ми
привнести деякі дуже простої інформації, наш привіт світ, в цьому діалозі.
Так що, якщо ми потім прокрутіть вгору, ми можемо см потім хід речей
що це відбувається.
По-перше, ми створили команду Cloud 9 які при виконанні Хмара 9,
збирається звільнити цю функцію.
Це збирається запустити цю функцію називається шоу діалог, що я
написав у своєму коді.
>> Я створив елемент меню і додається до нього в той же командний
що якщо цей пункт буде натиснута в меню, що команда буде потім запустити
і що функція а потім запустити.
А всередині функції я просто хочу, щоб викликати the-- Я
просто хочу, щоб виконати шоу Метод цього плагіна, який в
буде першого дзвінка метод нічия, і збирається
стріляти цей метод вниз нижче, звернути обробник події, в нашому життєвому циклі.
І тоді це буде насправді показати діалог.
>> Там також метод заховати, так що якщо я потрібна можливість приховати
мій діалог, я можу зробити те ж саме.
Так що в значній мірі це щоб отримати все це працює.
Зверніть увагу, що, якщо ми перейдіть вниз додатково тобто заморожування громадського API.
Це в основному тільки говорить, що я хочу, щоб ці методи до ефективно
бути відкритими, але не overwriteable поза контекстом цього плагіна.
А внизу, на самому дні, є, мабуть, останнє, що
що ми дійсно повинні платити багато уваги тут, що
є те, що ми збираємося зареєструвати нашу плагін з ім'ям С9 семінар 1,
і об'єкт плагіна.
>> Який, як ви пам'ятаєте, є що плагін в цьому плагіні
Об'єкт, який ми були визначенні по всій повноті цього джерела
Код.
І С9 семінар 1 є Рядок, ми обіцяли
забезпечити у верхній цього визначення.
ДОБРЕ.
Отже, давайте нарощувати його трохи і подивитися, якщо ми можемо зробити щось
трохи більш цікавим.
Тепер це тільки так здорово.
Я маю на увазі, це, насправді це досить здорово, що в так кілька рядків коду,
ми можемо змінити існуючу IDE і додати існуючий елемент меню
або додати новий пункт меню, додати команду і показати діалог,
і просто купа функціональні можливості, які є.
Це дійсно досить великий.
>> Але це не робить багато, тому що він не може спілкуватися з лежить в основі Ubuntu
екземпляра.
Так що давайте говорити, що я насправді хочете, щоб з'ясувати,
деяка інформація про лежать в основі примірника Ubuntu,
як статистика плагін робить.
Отже, давайте поглянемо на трохи більше інформації
про те, як статистика плагін в роботах.
І справді, він дуже схожий на це.
Ви, можливо, пам'ятаєте, що є діалог.
Ви, можливо, пам'ятаєте, що є деяка інформація, що це
Показано, просто по меню поряд зверху, який, ми сподіваємося ви зараз
отримання смак, як ми реалізували це,
просто вставивши пункти меню на конкретних точки і створення екземпляра діалог
і відображення, що діалог.
>> Але ми ще не показали, Ви, як ми можемо підключити його
в команду в Основний екземпляр Ubuntu.
Отже, давайте поглянемо на те plugin.2, який робить саме це.
Ми збираємося, щоб відкрити plugin.js, що код для цього.
Але в меню Window, якщо я натискаю на діалог 2,
ми бачимо, що він говорить, це замість цього, привіт CS50, який
не дивитися все, що заманливо, чи не так?
Крім цього, це дивитися.
Дозвольте мені щось змінити тут.
>> Я збираюся піти в мій робоче місце і зміна семінар
щоб щось сказати, як Hello, Дана.
Я збираюся закрити його і зберегти його.
А тепер я йду знову запустити мій пункт меню діалогу.
І зауважте, що вона має в даний час змінилася, що він говорить.
Привіт, Ден.
Я, здається, зробили щось вниз тут в основний Наприклад Ubuntu
не будучи маніпулювати будь код, який знову працює виключно
на стороні клієнта.
Так що, очевидно, якась зв'язку, тут відбувається.
>> Тепер це, де багато з потужність Cloud 9 SDK приходить,
є те, що в цьому plugin.2, ми можемо насправді причина
заклик до трапитися з Основний екземпляр,
і запустити деяку довільну команду.
Таким чином, в цьому випадку, у мене є насправді створив дуже простий скрипт Баш
в моєї робочої називається семінар.
Отже, дозвольте мені відкрити, що до.
І ми бачимо, що це виглядає так.
Це просто дуже простий Bash Сценарій, єдиною метою в житті
буде повторити з цього тексту, Привіт, Ден.
Або до нього, він сказав Привіт, CS50.
І це все, що він збирається робити.
>> Тому що зараз це Команда, я можу запустити.
Я можу фактично запустити його сюди.
Ми бачимо, що він насправді це просто команда, що я працювати природним чином.
Я можу запитати мого плагін, щоб виконати дану Команда на основній робочій
і проаналізувати інформацію, який був повернутий з нього,
і зробити щось з ним, і змінювати мій плагін і поведінку, що я
в моєму плагіна в якості результату. ДОБРЕ.
Отже, давайте подивимося, як це відбувається.
Ми бачили це дуже просто Семінар партія скрипт, який я
[Нерозбірливо], що він може реально працювати.
>> А тепер давайте подивимося, модифікації які необхідні, щоб пов'язати це разом
в діалоговому вікні, і запустити його.
Так от, ми збираємося зробити досить те ж саме, що, як ми бачили раніше.
Але зверніть увагу, що серед речі, які я споживаються now--
на додаток до діалогу, який знову я, трапляється, зробили в два рази,
яка не necessary-- на додаток до діалогу і команд
і меню плагінів, які були необхідно в першому для мене
визначити нову команду і ввести елемент в меню,
У мене також є цей ргос плагіна.
>> І це процедура плагін дозволяє нам маніпулювати процесами
від основного примірника.
Я підключив його після того як я сказав, що мій плагін вимагає.
Я тоді пов'язати його з кодом, як ми бачили в головній функції.
Знову ж таки, я збираюся ініціалізувати мій діалог.
І якщо ми будемо рухатися вниз зараз, ми можна побачити, як це відрізняється.
Функція завантаження те ж саме, так що це просто збираємося створити команду
і створити пункт меню і підключити що пункт меню цієї команди.
Але якщо ми тепер прокрутите вниз, щоб показати діалог,
ми можемо почати бачити, де відмінності виникають.
>> У нас є функція показати діалог, який тільки збирається показати діалог.
Але, коли я показую цей діалог, і коли метод шоу називається,
це пожежі функцію витяжки.
І я збираюся вкажіть деякий вміст всередині, що.
Так що я просто хочу, щоб створити DIV, забезпечити йому
деякі основний текст, Привіт, світ.
Але зверніть увагу, що тут я збирається прикласти до нього ідентифікатор.
І вже наступного лінія я збираюся щоб знайти, що за допомогою ID JavaScript,
і зберігати цей об'єкт в іншої змінної
що я просто хочу, щоб викликати зміст.
>> Так що тепер, коли у мене є Зміст, все що мені потрібно зробити
просто змінити внутрішню HTML цього об'єкта.
І діалог HTML буде Потім бути змінені також.
Тому, коли цей плагін є Потім показано, що може статися
і це нове подія що є новим для цього плагіна,
але буває в кожному плагіна з діалог, коли це тепер показано,
Я збираюся назвати Функція називається вибірки інформації.
І ця функція м'ясо це тут.
Я збираюся використовувати цю ргос плагін, що ми описали раніше, що, до речі,
насправді просто бібліотека Node.js що Хмара 9 за допомогою тут.
>> Таким чином, ви можете фактично подивитися про те, як це
працює, якщо ви йти в Node.js документація
і подивитися виконуваного файлу Спосіб процесів там.
Я збираюся запустити цю конкретну Команда, домашній Ubuntu робоче
Семінар, який є те, що той же самий, що та ж команда, що я створив раніше.
Представити йому поточної робочий каталог, просто
для ультра безпеки в термінах контекст, де це працює.
І як тільки це було заповнені і повернені,
Я збираюся працювати в цьому Функція називається вихід розбору.
ДОБРЕ.
Таким чином, це те збирається виконувати команда на місцевому, або, вірніше,
віддалений екземпляр Ubuntu.
Коли я повернуся деякі Інформація, я тоді
буду називати окрему функцію називається вихід розбору, що
Тобто ця підпис тут, ERR, стандартний висновок, STDERR,
і виконувати деякі обчислення на цьому.
Так що, якщо я отримав повідомлення про помилку деякого виду взагалі,
Я насправді перевірити, якщо Помилка насправді має деякі дані.
А якщо так, то я буду змінювати внутрішній HTML цього об'єкта контенту, який
це ви пам'ятаєте, ми підключений до діалогу
в instantiattion того Діалог, або на першому кресленні
з цього діалогу.
Я збираюся просто сказати, що деякі помилки не відбулося.
>> Тепер це занадто спрощено.
Значення помилки буде, як правило, містить те, що було корисно,
можливо, номер помилки і Помилка від самого сценарію.
Або, якщо сценарій писав то стандартна помилка,
що дані будуть заповнюється в цьому параметрі, а також.
І я міг би бути трохи більш обережні, що помилки
Я насправді показати людям.
Але це спрощений приклад досить добре зараз
принаймні, подивитися, як все це функції.
В іншому випадку, якщо існує немає помилки, то я не буду просто
надаватиме сировину Вихід цієї функції
у внутрішню HTML цього контенту елемент, а потім обновити плагін
і показати його тут.
І це в значній мірі все, що Необхідно, щоб отримати це, щоб бігти.
І так давайте думати про те як це працює, в цілому.
Коли я вперше завантажений цей плагін, як в перший плагін,
Я збираюся додати команду Ось доступно ні до чого, щоб будь-які плагіни
в Cloud 9, називається семінар CS50 Діалог 2, чия відповідальність
буде запускати це шоу діалог, який ви пам'ятаєте,
буде насправді показати діалог що я просив нижче.
>> Тоді я додам, що Команда в меню вікна
так що у мене є доступ до цього.
І коли що діалог пропонується показано,
Я принесу деяку інформацію від базового активу екземпляр Ubuntu
за допомогою команди виконуваного файлу.
Вибачте.
Як тільки повертається, і я отримую деякі Інформація, потім на стороні клієнта
знову, я буду в змозі розібрати вихід цієї команди
і оновити внутрішнє HTML-елементів
що ми з'єднані з раніше.
>> І з цим, ми потім це повністю функціональний плагін
що дозволяє мені для отримання інформації з цього довільного скрипта
що ми створили на наша основна екземпляр.
Але, знову ж, це дійсно Важливо і дійсно ключ
виділити, де кожен з цих речей відбувається,
що ми маємо все це стороні клієнта код, який був запущений в браузері,
і поки не мають доступу до основної файлової системі
поки ми насправді не запустити деякі з них Команди, які передбачені в хмарі
9 SDK, як пуття, і деякі інші які дозволяють нам читати деякі дані,
або читати деякі файли, якщо нам потрібно зробити що-небудь в цьому роді.
>> Тепер це кілька простий приклад.
Є інші речі, які ми буде, можливо, хочете, щоб зробити також.
Наприклад, можливо, ми насправді хочете зберегти інформацію
з перевагами.
Або, можливо, ми хочемо, щоб додати новий панелі налаштувань
або щось уздовж цих ліній.
Тоді це те, що вам може поглянути на Хмара 9 SDK
щоб отримати більш детальну інформацію про.
Але це насправді достатньо, щоб почати роботу.
Так просто бути трохи більш конкретними про те, як деякі з цих речей
Функція, я хочу, щоб показати, ще один приклад, який тільки деякі
коду з статистики 50 плагіна.
>> І цей код в основному на основі цих прикладів
що ви насправді бачили, але має ще кілька гарантії
і має більше деяку складність для того, для досягнення деяких додаткових речей
що ми хочемо досягти.
Наприклад, якщо я хочу бути можливість зберегти деякі параметри,
то мені потрібно, щоб мати доступ в Настройки плагіна,
і кожен раз, коли я хочу читати деякі налаштування,
Я можу, наприклад, прикріпити до різних Події в налаштуваннях плагіна.
Таким чином, кожен раз, коли налаштування червоний, Наприклад, в моєму власному плагін,
якщо я збираюся прочитати деякі налаштування з збереженого зберігання
переваги користувача, то я можу встановити значення за замовчуванням для певного місця,
для конкретної настройки, в тому, що JSON варіанти файл стилю, що ми
зберігаються раніше, що ми бачили раніше.
>> І якщо я буду писати деякі налаштування до нього,
тоді я can-- або як тільки ми виявляємо що параметри були написані
, Метою яких через, наприклад, ті, налаштування були змінені користувачем
або безпосередньо в їх налаштування файл або перевагу панелі
змінив налаштування подати безпосередньо, то
Я можу насправді оновити деякі з коду або оновити поведінку мого плагіна
на основі цих змін, які мають сталося на файл настройок, а також.
Але насправді, інше досить багато це, що ви вже бачили.
>> Ми додаємо деякі, можливо, те, що нового.
Таким чином, ми додамо файл настройок, або, скоріше, перевагу панелі,
у вікні налаштувань, який знову Ви можете дізнатися більше інформації
в Cloud 9 SDK прочитати мене.
Але все інше досить багато, дуже
схоже на те, що ми бачили раніше, просто з деякою додаткової перевірки помилок
і деякі додаткові заходи захисту і деякі додаткові функції
щоб показати всі різні речі, які ми бачили.
Якщо у вас є насправді не бачив ще, ви могли б
бути цікаво те, що в основі Команда у вікні Статистика 50.
Це насправді функція.
Ну, це is-- о, чорт візьми.
Одна секунда.
Зачекай.
ДОБРЕ.
Дозвольте мені перейти це так насправді, ми можемо подивимося, що станеться, коли я друкую Статистика 50.
Зверніть увагу, що в цьому випадку Команда, що я з покласти
дійсно знову, тільки сценарій це збирається виводити купу інформації
у форматі JSON.
І причина того, що ми робимо це цей шлях, що, тому що ми
працюють, тому що ми написали сторона клієнта JavaScript-код у,
ми можемо дуже легко просто розібрати предмети JavaScript,
і дійсно бути в змозі маніпулювати ті об'єкти, так само, як ми б
будь-який інший об'єкт JavaScript.
>> І так це дуже зручно спосіб надання деяку інформацію
від основної Наприклад Ubuntu, такі як номер версії, хоста
ім'я, чи є сервер слухає, те, що сервер, так далі і тому подібне,
і розібрати, що дуже легко і дуже швидко
в пробці в тому, що потім відбувається щоб показати нам все, що інформація.
Отже, ще раз, ключ розуміння тут, щоб мати на увазі,
це поділ між основний екземпляр,
а також, де код завантажується.
Це коли у мене є клієнт, це Перше завантаження.
Тільки в цьому статичний файл JavaScript від де, можливо, CDN якийсь.
Ми дійсно не повинні піклуватися занадто багато про це першому кроці.
>> Ми просто знаємо, що це працює на стороні клієнта
і ось, коли я збираюся спілкуватися з цим екземпляром Docker.
Те, що ми збираємося зробити так через Cloud 9 SDK.
Ми насправді не мають здатність, за допомогою JavaScript або Node.js,
написати безпосередньо до нього.
Ми просто використовуємо ті існуючого SDK API-інтерфейси, щоб зробити це дію для нас.
І знову, один з справді важливі речі,
є те, що, коли я створив це, коли я створив цей плагін,
і, як я працюю на ньому, одна з важливих речей, щоб зробити
це викликати консоль JavaScript.
>> Тому що, так як це все працює на JavaScript,
на стороні клієнта, якщо я використовую console.log method-- так просто
щоб показати приклад.
Давайте спробуємо це проста зміна плагін також увійти деякі дані.
І ми додамо стандартний висновок.
Отже, давайте змінити, що прямо тут.
Тепер, коли я виконую console.log, майте на увазі,
що, оскільки це працює на стороні клієнта,
Я бачу це в моїй Консоль JavaScript, який
як я тоді буде в змозі спробуйте для усунення неполадок і налагодження
деякі з проблем, які у мене є.
>> Зверніть увагу, що через Я в режимі SDK, я
потім в змозі управляти плагіни на цьому прикладі.
Тому, навіть якщо це зберігається на цьому випадку,
це один з прикладів, що попередня Правило порушуються, де Хмара 9
SDK буде насправді тягнути плагіни від самих лежать в основі екземпляри, а потім запустити їх.
Так що в цьому випадку, я тоді можливість управляти і будувати
деякі плагіни тут.
Але для мене, щоб побачити новеньких даного плагіна,
бо це на стороні клієнта, Мені потрібно, щоб зберегти цю плагін
а потім перезавантажте всієї робочої області так що новий плагін, то
завантажені на мого клієнта, на мій веб-браузер, а потім використовується.
>> Так що тепер, коли я натисніть на цю семінару Діалог 2, ми як і раніше бачимо це.
Тепер, сподіваюся, Але в моїй JavaScript діалог, повинні ми бачимо my-- чекати,
Зачекай.
Я, можливо, доведеться відкрити діалог свіжим.
Ми повинні побачити мої отримані дані тут.
Отримані дані, привіт, Ден, який ви пам'ятаєте,
був console.log операція, ми просили в плагіні.
Так цей опис, то що я згадував раніше,
цей діалог, або це схема, швидше, що я
згадувалося раніше, що відбувається.
Але є важливий Виняток тільки для розвитку,
який є те, що плагін саме по собі може насправді
зберігатися на примірнику Docker тимчасово, оскільки, ймовірно, Хмара 9
не хоче, щоб мати можливість маніпулювати об'єктами на їх CDN.
>> І Cloud 9 клієнтів, при завантаженні, буде знайти ці плагіни в тому, що.
С9 плагін папку і завантажити їх.
Але ті, які досі відбувається Тільки на стороні клієнта.
Отже, це просто ап Виняток, яке відбувається тільки
для розвитку Cloud 9 плагінів.
Але інша частина time-- і причина
що ми хочемо насправді забивати це home--
тому що більшу частину часу це буде працювати з CDN,
і просто буде працювати чисто на стороні клієнта.
>> Зазвичай не там буде не взаємодія з плагіном,
або там навіть не буде будь-яких Причина того, що самі плагінів
насправді зберігаються на лежать в основі примірника Docker,
за винятком того, у разі це розвиток SDK.
Отже, ще раз, це змінює тільки трохи через те
що ми біжимо режим SDK.
Це буде потім завантажити ті плагіни від розробки,
і єдина мета тут, щоб Я можу використовувати Cloud 9, щоб зробити розвиток
для Cloud 9 плагінів.
Але навіть так, це не змінює знову, як все це працює.
Це ще працювати повністю на стороні клієнта.
>> Це просто означає, що всякий раз, коли я хочу, щоб створити Cloud 9 плагіни в Cloud 9,
Я створюю ці плагіни, покласти їх у мій.
С9 папку / плагіни в моєму будинку Каталог, переконатися, що я в режимі SDK,
Оновити сторінку кожен раз, коли я насправді внесення змін до цього плагін,
і подивитися, що відбувається в мій Консоль JavaScript.
Просто управляти своїм JavaScript втішити, щоб переконатися,
що будь усунення неполадок інформація, яку я місце, щоб втішити,
або що-небудь ще, що може статися через помилки, які я написав
в моєму коді і т.п., з'являється там.
>> І з цим, це дійсно достатньо, щоб почати роботу, я думаю, що,
з Cloud 9 плагінів.
Особливо поглянути на SDK документація, Хмара 9 забезпечує.
Це відмінний спосіб, щоб отримати почав, і дуже легко
створити кілька плагінів для Cloud 9.
І з цим, я хочу подякувати Ви все дуже за приєднання мене.
Я сподіваюся, що ви будете мати задоволення писати плагіни для Cloud 9.
Можливо, підвищення плагіни що ми маємо зараз, або, можливо, навіть
додавши деякі функції самостійно.
Ми з нетерпінням чекаємо зустрічі з що це ви створюєте.
До тих пір, поки.