asyncfix

VSCodeでリモートファイルをroot権限で編集する方法

Visual Studio Codeで拡張機能の「Remote Development」(Remote - SSH等の詰め合わせパック)をインストールすれば、VSCodeでリモートサーバにSSH接続し、そのまま開発を行うことができます。
ただし、その場合の接続ユーザーは一般ユーザーになるので、管理者権限が必要なhttpd.conf等のファイルを編集しようとしても編集することができません。

VSCodeでroot権限でファイルの編集がしたいという要望は、2018年からIssueとして挙がっていますが、オフィシャルな実装は現在もされていません。

sudoeditを使う

そのような中、暫定的な解決方法はこちらで提示されています。

対応方法として、まず接続先サーバの~/.bashrcまたは、~/.bash_aliasesに下記のエイリアスを追加し、source ~/.bashrc等で反映させます。

alias sudocode='SUDO_EDITOR="$(which code) --wait" sudoedit'

その後、VSCodeでリモートサーバにSSH接続したらVSCodeのターミナルで、

sudocode /etc/httpd/conf/httpd.conf

といったコマンドを打つとVSCodeでrootでなければ編集できないファイルも開くことができ、このまま編集して(Windowsであれば)Crtl + sで保存することができます。