1

Mongo シェルを使用しています。EDITOR をメモ帳 ++ パスに設定しました。オブジェクトを作成し、EDIT コマンドを使用してメモ帳 ++ を使用してオブジェクトを編集しましたが、オブジェクトが更新されません。

// mongo shell
var pow = { name: "teest" }; 
edit pow
// notepad++ opens a document called 'mongo_edit141225123.js' that resides
// in C:\users\...\Appdata\local\temp
// I edit the object, save and close notepad++
pow // object isn't updated :(

私は何が欠けていますか?

4

1 に答える 1

1

ここにはいくつかの注意点があるようです。しかし、これがどのように機能するようになったかを説明できます。

  1. 環境変数を設定しPATHて、notepad++ 実行可能ファイルへのパスを含めます。この変更を「適用」し、その際に既存のコマンド ライン ウィンドウが表示されないように注意してください。または、この手順が完了したら、少なくとも新しいものを開きます。

  2. コマンド シェル ウィンドウで変数を指定するか、環境変数EDITORの設定と同じシステム プロパティで変数を設定します。PATHプログラム ディレクトリは PATH にあるため、実行可能ファイル名を設定するだけです。

    set EDITOR="notepad++"
    
  3. mongo シェルを起動し、変数を編集します。

    > edit something
    
  4. これにより、最初は「未定義」の変数で、指定されたエディターが起動します。無効な JavaScript 宣言は破棄されるため、「有効な」ものを入力します。次に重要な部分です。編集後、「閉じる」ときに「タブを閉じる」アイコンをクリックし、次のようにエディター全体を閉じないでください。

    ここに画像の説明を入力

その最後の部分が最も重要なようです。保存するように求められた場合 (おそらくそうなるでしょう)、保存してください。タブが閉じられた(そして保存された)「後」にのみ、エディター自体を閉じる必要があります。

その後、mongo シェルから同じコマンドを発行するとedit something、以前に編集した内容でエディターが開きます。

これに従わ、最初にエディター ウィンドウを閉じると、追加のタブが開き、元のタブに以前のコンテンツが表示されます。ただし、シェルが別の一時ファイルを追跡しているため、その後の変更は失われます。

したがって、これらの手順に従ってください。正しいはずです。他の外部エディターにも同様の問題があり、実際には同様の方法で解決されると思います。

于 2014-10-03T07:16:26.107 に答える