public inbox for [email protected]  
help / color / mirror / Atom feed
From: Junwang Zhao <[email protected]>
To: Andrew Dunstan <[email protected]>
Cc: Peter Eisentraut <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Cc: Andrey Borodin <[email protected]>
Cc: Jelte Fennema-Nio <[email protected]>
Subject: Re: Official devcontainer config
Date: Sat, 24 Aug 2024 20:49:34 +0800
Message-ID: <CAEG8a3J_kvvRFswpcgO0EGD3h5LLsPMOa6+4BaJskfJ0hHGsyw@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <CAEG8a3K_mZsBZ60smh4FM4Dk9cazAUmM72iXdFKEHgthZnaHcw@mail.gmail.com>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<CAEG8a3L6Bhk=6p9k7REG193Wfp_Sxfo3SjAwuyG10Z04dWCTdg@mail.gmail.com>
	<[email protected]>

Hi hackers,

On Sun, Aug 4, 2024 at 10:12 PM Andrew Dunstan <[email protected]> wrote:
>
>
> On 2024-08-03 Sa 10:13 PM, Junwang Zhao wrote:
> > On Sat, Aug 3, 2024 at 7:30 PM Andrew Dunstan <[email protected]> wrote:
> >>
> >> On 2024-08-02 Fr 2:45 PM, Peter Eisentraut wrote:
> >>> On 01.08.24 23:38, Andrew Dunstan wrote:
> >>>> Not totally opposed, and I will probably give it a try very soon, but
> >>>> I'm wondering if this really needs to go in the core repo. We've
> >>>> generally shied away from doing much in the way of editor / devenv
> >>>> support, trying to be fairly agnostic. It's true we carry
> >>>> .dir-locals.el and .editorconfig, so that's not entirely true, but
> >>>> those are really just about supporting our indentation etc. standards.
> >>> Yeah, the editor support in the tree ought to be minimal and factual,
> >>> based on coding standards and widely recognized best practices, not a
> >>> collection of one person's favorite aliases and scripts.  If the
> >>> scripts are good, let's look at them and maybe put them under
> >>> src/tools/ for everyone to use.  But a lot of this looks like it will
> >>> requite active maintenance if output formats or node formats or build
> >>> targets etc. change.  And other things require specific local paths.
> >>> That's fine for a local script or something, but not for a mainline
> >>> tool that the community will need to maintain.
> >>>
> >>> I suggest to start with a very minimal configuration. What are the
> >>> settings that absolute everyone will need, maybe to set indentation
> >>> style or something.
> >>>
> >> I believe you can get VS Code to support editorconfig, so from that POV
> >> maybe we don't need to do anything.
> >>
> >> I did try yesterday with the code from the OP's patch symlinked into my
> >> repo, but got an error with the Docker build, which kinda reinforces
> >> your point.
> > The reason symlink does not work is that configure_vscode needs to copy
> > launch.json and tasks.json into .vscode, it has to be in the
> > WORKDIR/.devcontainer.
>
>
> That's kind of awful. Anyway, I think we don't need to do anything about
> ignoring those. The user should simply add entries for them to
> .git/info/exclude or their local global exclude file (I have
> core.excludesfile = /home/andrew/.gitignore set.)
>
> I was eventually able to get it to work without using a symlink.
>
>
> cheers
>
>
> andrew
>
>
> --
> Andrew Dunstan
> EDB: https://www.enterprisedb.com
>

I did some work on the **devcontainer config** today, hoping this can
address some of the concerns raised on this thread.

1. I created a separate git repo named **Unofficial devcontainer
config for Postgres**[1].
2. The usage is quite simple, clone the repo directly into postgres's tree root,
    and reopen in DevContainer (See REAME in [1] if you are interested).
3. Using Tristan's vscode code extension postgres-hacker as the formatter,
    pgindent will be called on file save, I found this quite convenient.
4. Remove the git settings, Dev container copies the global
~/.gitconfig into the container
    by default, so normally it is not necessary to add extra git aliases.

What I haven't addressed is that the repo still uses specific local
paths, I think
this is ok since the code is not going into the core.

One thing I want to ask is, is there any objection to adding the
.devcontainer and .vscode to the .gitignore file?

There are *.vcproj and pgsql.sln in .gitignore, so I guess it's ok to add
.devcontainer and .vscode?

[1]: https://github.com/pghacking/.devcontainer

-- 
Regards
Junwang Zhao


Attachments:

  [application/octet-stream] v1-0001-add-.devcontainer-and-.vscode-to-.gitignore.patch (479B, ../CAEG8a3J_kvvRFswpcgO0EGD3h5LLsPMOa6+4BaJskfJ0hHGsyw@mail.gmail.com/2-v1-0001-add-.devcontainer-and-.vscode-to-.gitignore.patch)
  download | inline diff:
From fcc08d0f47e5735bc255011652ac76b81d1bae99 Mon Sep 17 00:00:00 2001
From: Zhao Junwang <[email protected]>
Date: Sat, 24 Aug 2024 12:43:54 +0000
Subject: [PATCH v1] add .devcontainer and .vscode to .gitignore

---
 .gitignore | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitignore b/.gitignore
index 4e911395fe..2efe1c24b0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -43,3 +43,5 @@ lib*.pc
 /Release/
 /tmp_install/
 /portlock/
+.devcontainer/
+.vscode/
-- 
2.39.2



view thread (3+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Official devcontainer config
  In-Reply-To: <CAEG8a3J_kvvRFswpcgO0EGD3h5LLsPMOa6+4BaJskfJ0hHGsyw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox