国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
生成されたプラグイン ディレクトリは次のとおりです。
ここでは、監(jiān)視するショートカット キーを設(shè)定でき、カスタム ショートカット キーを設(shè)定して、プラグインの動作の一部をトリガーできます。
これは、プラグインのメイン コードが保存される場所です。
context-menu
styles
開始搬磚
上傳圖片
將上傳后的資源顯示到編輯器中
上傳開發(fā)完的Package
ホームページ 開発ツール atom Atomプラグインの開発プロセスを詳しく解説

Atomプラグインの開発プロセスを詳しく解説

Dec 04, 2020 pm 05:54 PM
atom electron javascript

Atom コンポーネントを最初から開発するにはどうすればよいですか?次の記事では、Atom プラグインの開発プロセスを紹介します。一定の參考値があるので、困っている友達(dá)が參考になれば幸いです。

Atomプラグインの開発プロセスを詳しく解説

関連する推奨事項: 「

atom の使い方チュートリアル

私は最近 Atom を使ってブログを書くことが多いのですが、そのときに発見しました。非常に深刻な問題です。 。

寫真をアップロードする方法はありません。たとえば、ファイルを直接コピー/ペーストしてアップロードすることができます。

ただし、Atom では同様のプラグインが見つかりませんでした。最も近いプラグインでは、ファイルを手動で選択してアップロードする必要があります。

この操作手順は面倒なので、自分でプラグインを書いて使ってください。

完成したプラグインのダウンロード アドレス: https://atom.io/packages/atom-image-uploader

計畫

まず、これを渡したい場合は、

copy ファイルを直接 Atom に paste してアップロード操作を完了します。 確認(rèn)後、レンガの移動を開始します。

プラグイン開発

AtomElectron アプリケーションであるため: https://electronjs.org

が使用しています## これは #JavaScript

で開発されたデスクトップ アプリケーションなので、フロントエンドとしては素晴らしいものです。 まず Atom
の公式ドキュメントを參照して、プラグインの作成に関連する操作を確認(rèn)しましょう。 まず、Atom
でコマンド パネルを開き、次にEnter Generate Package

<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/image/299/146/639/160707538187362Atomプラグインの開発プロセスを詳しく解説" class="lazy" title="160707538187362Atomプラグインの開発プロセスを詳しく解説" alt="Atomプラグインの開発プロセスを詳しく解説">Enter キーを押すと、ダイアログ ボックスが表示されます。作成するパッケージの名前を入力します。

Package

の作成を完了します。

Atomプラグインの開発プロセスを詳しく解説

Atom

はデフォルト ファイルのセットを生成し、新しいウィンドウを開きます。 プロジェクト構(gòu)造

生成されたプラグイン ディレクトリは次のとおりです。

.
├──?keymaps
│???└──?first-package.json
├──?lib
│???├──?first-package-view.js
│???└──?first-package.js
├──?menus
│???└──?first-package.json
├──?package.json
├──?spec
│???├──?first-package-spec.js
│???└──?first-package-view-spec.js
└──?styles
????└──?first-package.less

keymaps

ここでは、監(jiān)視するショートカット キーを設(shè)定でき、カスタム ショートカット キーを設(shè)定して、プラグインの動作の一部をトリガーできます。

{
??"atom-workspace":?{
????"ctrl-alt-o":?"first-package:toggle"
??}
}

ここにさまざまなカスタマイズされたショートカット キーを追加できます。

Value
は次のように定義されます: パッケージ名: トリガーされたイベント名注意してください:ここで設(shè)定されたショートカット キーにはスコープの概念もあります。それは、
JSON
の外側(cè)の key です。 atom-workspace
は、Atom で有効になることを意味します。 atom-text-editor
は、テキスト エディターの範(fàn)囲內(nèi)でのみ有効になることを意味します。

Atomプラグインの開発プロセスを詳しく解説Atom 公式ドキュメント

lib

これは、プラグインのメイン コードが保存される場所です。

デフォルトでは、


    ##package.js
  • package.view という 2 つのファイルが生成されます。 js
  • デフォルトのプラグインによって生成されたメイン エントリ ファイルはここを指します。


エントリ ファイルは Atomプラグインの開発プロセスを詳しく解説JSON

オブジェクトとして表現(xiàn)され、次の関數(shù)を?qū)g裝できます:

    activate
  • : このメソッドは、

    Package がアクティブ化されたときに実行されます。関數(shù)のシグネチャは、渡される state パラメーターを受け入れることを示しています Serialize メソッドによって渡されます (実裝されている場合)

    ##deactivate
  • :
  • Package

    のときにトリガーされるメソッドこれら 2 つのメソッドは、React## の componentWillMount および componentWillUnmountserialize

    として理解できます。 # : つまり、上記のメソッドは、次回のアクティブ化後に使用する
  • JSON
  • オブジェクトを返すことができます。

    ショートカット キーに対応するイベント名をカスタマイズします: 毎回Package

    対応するショートカット キーがトリガーされたときに実行されるメソッド
  • menus

    これには、アプリケーション メニューと編集領(lǐng)域メニューの構(gòu)成が保存されますbar file
{
??"context-menu":?{
????"atom-text-editor":?[
??????{
????????"label":?"Toggle?first-package",
????????"command":?"first-package:toggle"
??????}
????]
??},
??"menu":?[
????{
??????"label":?"Packages",
??????"submenu":?[
????????{
??????????"label":?"first-package",
??????????"submenu":?[
????????????{
??????????????"label":?"Toggle",
??????????????"command":?"first-package:toggle"
????????????}
??????????]
????????}
??????]
????}
??]
}

context-menu

の対応する要素は、対応する領(lǐng)域で右クリックがトリガーされると表示されます。

menu

Atom メイン メニュー バーに表示されます:
同様に、

context-menu

Atomプラグインの開発プロセスを詳しく解説text-editor

workspace という 2 つの環(huán)境を區(qū)別します。 specいくつかのテスト ケースがここに保存されています。Package

を作成すると、いくつかのデフォルト アサーションが生成されます。

テストを書くのは確かに良い習(xí)慣です。

<h3 id="styles">styles</h3> <p>如果<code>Package有很多View要展示的話,可以在這里編寫,默認(rèn)使用的是Less語法。
由于我們只做一個C/V的操作,不會涉及到界面,所以styles直接就刪掉了。

開始搬磚

大致結(jié)構(gòu)已經(jīng)了解了,我們就可以開始搬磚了。
因為是一個Electron應(yīng)用,所以我們直接在Atom中按下alt + command + i,呼出我們熟悉的控制臺界面。

Atomプラグインの開発プロセスを詳しく解説

Atom是不會把Electron的各種文檔重新寫一遍的,所以我們現(xiàn)在控制臺里邊試一下我們的猜測是否正確。
一些想要的東西是否存在。

Atomプラグインの開発プロセスを詳しく解説

經(jīng)過驗證確定了,Electronclipboard對象可以直接在Atom中使用,這就很開心了。

require('electron').clipboard.readImage().toPng()

這樣我們就拿到剪切板中的圖片數(shù)據(jù)了,一個二進(jìn)制的數(shù)組對象。
我們在觸發(fā)Paste操作時,從clipboard中獲取,如果剪切板中是圖片的話,我們就將它上傳并顯示到編輯器中。
所以,接下來我們要做的就是:

  • 進(jìn)行上傳圖片的操作

  • 將上傳后的圖片顯示到編輯器中

上傳圖片

上傳圖片我們選擇的是七牛,我們選擇七牛來作為圖床使用,因為他家提供了10GB的免費存儲,灰常適合自己這樣的筆記型博客。
但是用他家SDK時發(fā)現(xiàn)一個問題。。我將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為ReadStream后上傳的資源損壞了-.-目前還沒有找到原因。
所以我們做了曲線救國的方式。
將剪切板中的數(shù)據(jù)轉(zhuǎn)換為Buffer然后暫存到本地,通過本地文件的方式來進(jìn)行上傳七牛。
在操作完成后我們再將臨時文件移除。

try?{
??let?buffer?=?clipboard.readImage().toPng()
??let?tempFilePath?=?'XXX'
??fs.writeFileSync(tempFilePath,?Buffer.from(buffer))
}?catch?(e)?{
??//?catch?error
}?finally?{
??fs.unlink(tempFilePath)?//?因為我們并不依賴于刪除成功的回調(diào),所以直接空調(diào)用異步方法即可
}

將上傳后的資源顯示到編輯器中

因為考慮到上傳可能會受到網(wǎng)絡(luò)影響,從而上傳時間不可預(yù)估。
所以我們會先在文件中顯示一部分占位文字。
通過全局的atom對象可以拿到當(dāng)前活躍的窗口:

let?editor?=?atom.workspace.getActiveTextEditor()

為了避免同時上傳多張圖片時出現(xiàn)問題,我們將臨時文件名作為填充的一部分。

editor.insertText(`![](${placeHolderText})`,?editor)

然后在上傳成功后,我們將對應(yīng)的填充字符替換為上傳后的URL就可以了。

editor.scan(new?RegExp(placeHolderText),?tools?=>?tools.replace(url))

scan方法接收一個正則對象和回調(diào)函數(shù)。
我們將前邊用到的占位文本作為正則對象,然后在回調(diào)將其替換為上傳后的url
至此,我們的代碼已經(jīng)編寫完了,剩下的就是一些交互上的優(yōu)化。

完成后的效果圖:

Atomプラグインの開発プロセスを詳しく解説

以及,最后:我們要進(jìn)行Package的上傳。

上傳開發(fā)完的Package

首先我們需要保證package.json中存在如下幾個參數(shù):

  1. name
  2. description
  3. repository

我們可以先使用如下命令來檢查包名是否沖突。

apm?show?你的包名

如果沒有沖突,我們就可以直接執(zhí)行以下命令進(jìn)行上傳了。

apm?publish?你的包名

后續(xù)的代碼修改,只需在該包的目錄下執(zhí)行:

apm?publish

一些可選的參數(shù):

  1. major,增加版本號的第一位1.0.0 -> 2.0.0
  2. minor,增加版本號的第二位0.1.0 -> 0.2.0
  3. patch,增加版本號的第三位0.0.1 -> 0.0.2

通過apm help可以獲取到更多的幫助信息。

以上,就是開發(fā)一個Atom插件的完整流程咯。

更多編程相關(guān)知識,請訪問:編程教學(xué)??!

以上がAtomプラグインの開発プロセスを詳しく解説の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript: リアルタイム監(jiān)視システムを?qū)g裝するための主要テクノロジー WebSocket と JavaScript: リアルタイム監(jiān)視システムを?qū)g裝するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監(jiān)視システムを?qū)g現(xiàn)するためのキーテクノロジー はじめに: インターネット技術(shù)の急速な発展に伴い、リアルタイム監(jiān)視システムは様々な分野で広く利用されています。リアルタイム監(jiān)視を?qū)g現(xiàn)するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監(jiān)視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実裝原理を詳しく説明します。 1.WebSocketテクノロジー

WebSocket と JavaScript を使用してオンライン音聲認(rèn)識システムを?qū)g裝する方法 WebSocket と JavaScript を使用してオンライン音聲認(rèn)識システムを?qū)g裝する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音聲認(rèn)識システムを?qū)g裝する方法 はじめに: 技術(shù)の継続的な発展により、音聲認(rèn)識技術(shù)は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音聲認(rèn)識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音聲認(rèn)識システムを?qū)g裝する方法を紹介します。

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを?qū)g裝する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを?qū)g裝する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを?qū)g裝する方法の紹介: インターネットの普及とテクノロジーの進(jìn)歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを?qū)g裝するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム雙方向通信を?qū)g現(xiàn)します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

インテル、エッジおよびネットワーキング市場向けに Atom プロセッサーの Amston Lake シリーズを発売 インテル、エッジおよびネットワーキング市場向けに Atom プロセッサーの Amston Lake シリーズを発売 Apr 09, 2024 pm 09:22 PM

4 月 9 日のこのサイトのニュースによると、インテルは本日、Embedded World 2024 で Atom プロセッサーの Amston Lake シリーズを発表しました。 Amston Lake プロセッサは、Intel7 プロセスをベースにしており、シングル チャネル メモリをサポートしており、エッジ指向の Atom x7000RE シリーズやネットワーク指向の x7000C シリーズを含む、Alder Lake-N プロセッサの分岐バージョンとみなすことができます。このサイトでは、2023 年に最大 4 コアの ADL-N アーキテクチャ Atom x7000E プロセッサについて報告しましたが、今日の x7000RE シリーズでは仕様がさらに拡張されています。このプロセッサと 4 コアの x7433RE の両方で、最大 8 コアの Atom x7835RE を選択できます。 32Eを搭載

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構(gòu)築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構(gòu)築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構(gòu)築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構(gòu)築する方法を?qū)Wびます。この記事では、具體的なコード例を通じて実裝プロセスを説明します。私たちは

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判斷し、さまざまなステータス コードに基づいて対応する処理を?qū)g行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

WebSocketとJavaScriptを使ったオンライン予約システムの実裝方法 WebSocketとJavaScriptを使ったオンライン予約システムの実裝方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを?qū)g裝する方法 今日のデジタル時代では、ますます多くの企業(yè)やサービスがオンライン予約機(jī)能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを?qū)g裝することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを?qū)g裝する方法と、具體的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと參照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

See all articles