web-dev-qa-db-ja.com

geditでコードを自動インデントする方法

私はgeditにコードを自動インデントさせようとしています。環境設定の自動インデントチェックボックスが機能しません。 geditにコードを自動インデントさせる方法はありますか? (ちなみに、私は本当にC++のインデントにのみ関心があります。他の言語ではインデントは必要ありません。)

48
Linuxios

Geditのプラグイン「インテリジェントテキスト補完」は、あなたが説明したとおりに行います: https://github.com/nymanjens/gedit-intelligent-text-completion

ファイルをコピーする方法を見つけようとしている人のためにintelligent_text_completion.pluginおよびintelligent_text_completion.py to.local/share/gedit/plugins、以下を実行してください。

user@example:~/.local/share$ cd ~/.local/share/
user@example:~/.local/share$ mkdir gedit
user@example:~/.local/share$ cd gedit/
user@example:~/.local/share/gedit$ mkdir plugins
user@example:~$ cp intelligent_text_completion.plugin intelligent_text_completion.py ~/.local/share/gedit/plugins/
24
Jens Nyman

geditには自動インデント機能があります。

編集->設定->エディター-> 3行目

32

別の回避策があります。vimを使用して、Gedit内からコードを自動インデントおよび自動フォーマットできます。

まず、vimがインストールされていることを確認してください。次に、「ツール」メニューから「外部ツール」をGeditに追加し、次のコードを使用します。

#!/bin/sh
CMD_FILE_NAME=.formatcommand;
TMP_FILE_NAME=.tempvimfile;
touch $CMD_FILE_NAME&&echo "gg=G :wq! "$TMP_FILE_NAME > $CMD_FILE_NAME&&(vim $GEDIT_CURRENT_DOCUMENT_NAME -s $CMD_FILE_NAME > /dev/null 2>/dev/null)&&rm $CMD_FILE_NAME;
cat $TMP_FILE_NAME
rm $TMP_FILE_NAME

次のことも確認してください。

  • 「保存」は「現在のドキュメント」に設定されます。
  • 「入力」は「なし」に設定されます。
  • 「出力」は「現在のドキュメントを置換」に設定されます。

ホットキーを設定することもできます。NetbeansのようなAlt + Shift + Fを好みます。これで、ホットキーを押すたびに、現在のファイルが保存され、自動フォーマットされます。

これは、ファイルの拡張子が正しいことを前提として、すべてのプログラミング/スクリプト言語で機能します

インデントが表示されない場合は、filetype indent onあなたの~/.vimrcファイルとそれは動作します。

詳細については、私の 個人ブログ を確認してください

17

Ubuntu 16.04およびGedit

  1. 有効化外部ツールプラグイン

    編集→設定→プラグイン→外部ツール

  2. 管理外部ツール

    ツール→外部ツールの管理

  3. ツールを追加する

    • クリック + 外部ツールの管理ウィンドウの左下にあるボタン
    • 新しいツールの名前を好きなものに変更できます。 JSON Formatter
    • 以下の画像を参照して、適切に設定してください

    Manage External Tools screenshot

1
Akash