diff --git a/.gitignore b/.gitignore index 22689d115..55ae9bdb7 100644 --- a/.gitignore +++ b/.gitignore @@ -140,6 +140,7 @@ venv.bak/ # VS Code /.vscode/**/* !/.vscode/settings.json +!/.vscode/extensions.json # IntelliJ IDEA .idea/ diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000..7dc2bc1ff --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,24 @@ +{ + "recommendations": [ + "elagil.pre-commit-helper", // Support for pre-commit hooks to enforce code quality + "josevseb.google-java-format-for-vs-code", // Google Java code formatter to follow the Google Java Style Guide + "ms-python.black-formatter", // Python code formatter using Black + "ms-python.flake8", // Flake8 linter for Python to enforce code quality + "ms-python.python", // Official Microsoft Python extension with IntelliSense, debugging, and Jupyter support + // "ms-vscode-remote.remote-containers", // Support for remote development with containers (Docker, Dev Containers) + // "ms-vscode-remote.vscode-remote-extensionpack", // Remote Development Pack for SSH, WSL, and Containers + "Oracle.oracle-java", // Oracle Java extension with additional features for Java development + "redhat.java", // Java support by Red Hat with IntelliSense, debugging, and code navigation + "shengchen.vscode-checkstyle", // Checkstyle integration for Java code quality checks + "streetsidesoftware.code-spell-checker", // Spell checker for code to avoid typos + "vmware.vscode-boot-dev-pack", // Developer tools for Spring Boot by VMware + "vmware.vscode-spring-boot", // Spring Boot tools by VMware for enhanced Spring development + "vscjava.vscode-gradle", // Gradle extension for build and automation support + "vscjava.vscode-java-debug", // Debugging support for Java projects + "vscjava.vscode-java-dependency", // Java dependency management within VS Code + "vscjava.vscode-java-pack", // Java Extension Pack with essential Java tools for VS Code + "vscjava.vscode-java-test", // Java test framework for running and debugging tests in VS Code + "vscjava.vscode-spring-boot-dashboard", // Spring Boot dashboard for managing and visualizing Spring Boot applications + "vscjava.vscode-spring-initializr" // Support for Spring Initializr to create new Spring projects + ] +} diff --git a/DeveloperGuide.md b/DeveloperGuide.md index 051f7eaf5..6bd4b6835 100644 --- a/DeveloperGuide.md +++ b/DeveloperGuide.md @@ -39,6 +39,16 @@ Stirling-PDF is built using: 2. Install Docker and JDK17 if not already installed. 3. Install a recommended Java IDE such as Eclipse, IntelliJ, or VSCode + 1. Only VSCode + 1. Open VS Code. + 2. When prompted, install the recommended extensions. + 3. Alternatively, open the command palette (`Ctrl + Shift + P` or `Cmd + Shift + P` on macOS) and run: + + ```sh + Extensions: Show Recommended Extensions + ``` + + 4. Install the required extensions from the list. 4. Lombok Setup Stirling-PDF uses Lombok to reduce boilerplate code. Some IDEs, like Eclipse, don't support Lombok out of the box. To set up Lombok in your development environment: @@ -594,7 +604,7 @@ dependencies { # Generate verification metadata with signatures and checksums ./gradlew clean dependencies buildEnvironment spotlessApply --write-verification-metadata sha256,pgp -# Export the .keys file +# Export the .keys file ./gradlew --export-keys ``` @@ -613,4 +623,3 @@ dependencies { - Review the changes in `verification-metadata.xml` to ensure they match your dependency updates This ensures dependencies are properly verified and secure while maintaining transparency in the repository. -