diff --git a/.appveyor.yml b/.appveyor.yml
deleted file mode 100644
index 026a5daab23..00000000000
--- a/.appveyor.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-image: Visual Studio 2019
-
-platform: x64
-
-environment:
- HOME: "%HOMEDRIVE%%HOMEPATH%"
- PYTHON: C:\Python38
- SCONS_CACHE_ROOT: "%HOME%\\scons_cache"
- SCONS_CACHE_LIMIT: 1024
- OPTIONS: "debug_symbols=no verbose=yes progress=no"
- EXTRA_ARGS: "warnings=all werror=yes"
- matrix:
- - GD_PLATFORM: windows
- TARGET: release_debug
- TOOLS: yes
-
-matrix:
- fast_finish: true
-
-init:
- - ps: if ($env:APPVEYOR_REPO_BRANCH -ne "3.2") { $env:APPVEYOR_CACHE_SKIP_SAVE = "true" }
-
-cache:
- - "%SCONS_CACHE_ROOT%"
-
-install:
- - SET "PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
- - pip install -U wheel # needed for pip install scons to work, otherwise a flag is missing
- - pip install scons # use stable scons
- - if defined VS call "%VS%" %ARCH% # if defined - so we can also use mingw
-
-before_build:
- - echo %GD_PLATFORM%
- - python --version
- - scons --version
- - set "SCONS_CACHE=%SCONS_CACHE_ROOT%\%APPVEYOR_REPO_BRANCH%"
-
-build_script:
- - scons platform=%GD_PLATFORM% target=%TARGET% tools=%TOOLS% %OPTIONS% %EXTRA_ARGS%
-
-after_build:
- - git rev-parse --short=9 HEAD > VERSION_HASH.txt
- - set /P VERSION_HASH= < VERSION_HASH.txt
- - cd bin
- - mv godot.windows.opt.tools.64.exe godot_%APPVEYOR_REPO_BRANCH%-%VERSION_HASH%_win64.exe
- - 7z a -mx9 godot_%APPVEYOR_REPO_BRANCH%-%VERSION_HASH%_win64.zip *.exe
-
-artifacts:
- - path: bin/godot_${APPVEYOR_REPO_BRANCH}-${VERSION_HASH}_win64.zip
- name: Win64 release_debug editor build
- type: zip
diff --git a/.github/workflows/android_builds.yml b/.github/workflows/android_builds.yml
new file mode 100644
index 00000000000..e05909f79e1
--- /dev/null
+++ b/.github/workflows/android_builds.yml
@@ -0,0 +1,72 @@
+name: Android Builds
+on: [push, pull_request]
+
+# Global Cache Settings
+env:
+ GODOT_BASE_BRANCH: 3.2
+ SCONS_CACHE_LIMIT: 4096
+
+jobs:
+ android-template:
+ runs-on: "ubuntu-20.04"
+
+ name: Template (target=release, tools=no)
+
+ steps:
+ - uses: actions/checkout@v2
+
+ # Azure repositories are not reliable, we need to prevent azure giving us packages.
+ - name: Make apt sources.list use the default Ubuntu repositories
+ run: |
+ sudo cp -f misc/ci/sources.list /etc/apt/sources.list
+ sudo apt-get update
+
+ # Install all packages (except scons)
+ - name: Configure dependencies
+ run: |
+ sudo apt-get install openjdk-8-jdk
+ echo "::set-env name=JAVA_HOME::usr/lib/jvm/java-8-openjdk-amd64"
+
+ - name: Install Android SDK and NDK
+ run: |
+ echo "::set-env name=PATH::/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:${PATH}"
+ java -version
+ echo "::set-env name=ANDROID_HOME::$(pwd)/godot-dev/build-tools/android-sdk"
+ echo "::set-env name=ANDROID_NDK_ROOT::$(pwd)/godot-dev/build-tools/android-ndk"
+ misc/ci/android-tools-linux.sh
+ source ~/.bashrc
+
+ # Upload cache on completion and check it out now
+ - name: Load .scons_cache directory
+ id: android-template-cache
+ uses: actions/cache@v2
+ with:
+ path: ${{github.workspace}}/.scons_cache/
+ key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ restore-keys: |
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}
+
+ # Use python 3.x release (works cross platform)
+ - name: Set up Python 3.x
+ uses: actions/setup-python@v2
+ with:
+ # Semantic version range syntax or exact version of a Python version
+ python-version: '3.x'
+ # Optional - x64 or x86 architecture, defaults to x64
+ architecture: 'x64'
+
+ # You can test your matrix by printing the current Python version
+ - name: Configuring Python packages
+ run: |
+ python -c "import sys; print(sys.version)"
+ python -m pip install scons
+ python --version
+ scons --version
+
+ - name: Compilation
+ env:
+ SCONS_CACHE: ${{github.workspace}}/.scons_cache/
+ run: |
+ scons -j2 verbose=yes warnings=all werror=yes platform=android target=release tools=no
diff --git a/.github/workflows/javascript_builds.yml b/.github/workflows/javascript_builds.yml
new file mode 100644
index 00000000000..be305c0c09f
--- /dev/null
+++ b/.github/workflows/javascript_builds.yml
@@ -0,0 +1,76 @@
+name: JavaScript Builds
+on: [push, pull_request]
+
+# Global Cache Settings
+env:
+ GODOT_BASE_BRANCH: 3.2
+ SCONS_CACHE_LIMIT: 4096
+ EM_VERSION: latest
+ EM_CACHE_FOLDER: 'emsdk-cache'
+
+jobs:
+ javascript-template:
+ runs-on: "ubuntu-20.04"
+ name: Template (target=release, tools=no)
+
+ steps:
+ - uses: actions/checkout@v2
+
+ # Azure repositories are not reliable, we need to prevent azure giving us packages.
+ - name: Make apt sources.list use the default Ubuntu repositories
+ run: |
+ sudo cp -f misc/ci/sources.list /etc/apt/sources.list
+ sudo apt-get update
+
+ # Upload cache on completion and check it out now
+ - name: Load .scons_cache directory
+ id: javascript-template-cache
+ uses: actions/cache@v2
+ with:
+ path: ${{github.workspace}}/.scons_cache/
+ key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ restore-keys: |
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}
+
+ # Additional cache for Emscripten generated system libraries
+ - name: Load Emscripten cache
+ id: javascript-template-emscripten-cache
+ uses: actions/cache@v2
+ with:
+ path: ${{env.EM_CACHE_FOLDER}}
+ key: ${{env.EM_VERSION}}-${{github.job}}
+
+ # Use python 3.x release (works cross platform)
+ - name: Set up Python 3.x
+ uses: actions/setup-python@v2
+ with:
+ # Semantic version range syntax or exact version of a Python version
+ python-version: '3.x'
+ # Optional - x64 or x86 architecture, defaults to x64
+ architecture: 'x64'
+
+ # You can test your matrix by printing the current Python version
+ - name: Configuring Python packages
+ run: |
+ python -c "import sys; print(sys.version)"
+ python -m pip install scons
+ python --version
+ scons --version
+
+ - name: Set up Emscripten latest
+ uses: mymindstorm/setup-emsdk@v6
+ with:
+ version: ${{env.EM_VERSION}}
+ actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
+
+ - name: Verify Emscripten setup
+ run: |
+ emcc -v
+
+ - name: Compilation
+ env:
+ SCONS_CACHE: ${{github.workspace}}/.scons_cache/
+ run: |
+ scons -j2 verbose=yes warnings=all werror=yes platform=javascript target=release tools=no use_closure_compiler=yes
diff --git a/.github/workflows/linux_builds.yml b/.github/workflows/linux_builds.yml
new file mode 100644
index 00000000000..701b705f142
--- /dev/null
+++ b/.github/workflows/linux_builds.yml
@@ -0,0 +1,117 @@
+name: Linux Builds
+on: [push, pull_request]
+
+# Global Cache Settings
+env:
+ GODOT_BASE_BRANCH: 3.2
+ SCONS_CACHE_LIMIT: 4096
+
+jobs:
+ linux-editor:
+ runs-on: "ubuntu-20.04"
+ name: Editor w/ Mono (target=release_debug, tools=yes)
+
+ steps:
+ - uses: actions/checkout@v2
+
+ # Azure repositories are not reliable, we need to prevent azure giving us packages.
+ - name: Make apt sources.list use the default Ubuntu repositories
+ run: |
+ sudo cp -f misc/ci/sources.list /etc/apt/sources.list
+ sudo apt-get update
+
+ # Install all packages (except scons)
+ - name: Configure dependencies
+ run: |
+ sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev \
+ libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev yasm
+
+ # Upload cache on completion and check it out now
+ - name: Load .scons_cache directory
+ id: linux-editor-cache
+ uses: actions/cache@v2
+ with:
+ path: ${{github.workspace}}/.scons_cache/
+ key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ restore-keys: |
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}
+
+ # Use python 3.x release (works cross platform; best to keep self contained in it's own step)
+ - name: Set up Python 3.x
+ uses: actions/setup-python@v2
+ with:
+ # Semantic version range syntax or exact version of a Python version
+ python-version: '3.x'
+ # Optional - x64 or x86 architecture, defaults to x64
+ architecture: 'x64'
+
+ # Setup scons, print python version and scons version info, so if anything is broken it won't run the build.
+ - name: Configuring Python packages
+ run: |
+ python -c "import sys; print(sys.version)"
+ python -m pip install scons
+ python --version
+ scons --version
+
+ # We should always be explicit with our flags usage here since it's gonna be sure to always set those flags
+ - name: Compilation
+ env:
+ SCONS_CACHE: ${{github.workspace}}/.scons_cache/
+ run: |
+ scons -j2 verbose=yes warnings=all werror=yes platform=x11 tools=yes target=release_debug module_mono_enabled=yes mono_glue=no
+
+ linux-template:
+ runs-on: "ubuntu-20.04"
+ name: Template w/ Mono (target=release, tools=no)
+
+ steps:
+ - uses: actions/checkout@v2
+
+ # Azure repositories are not reliable, we need to prevent azure giving us packages.
+ - name: Make apt sources.list use the default Ubuntu repositories
+ run: |
+ sudo cp -f misc/ci/sources.list /etc/apt/sources.list
+ sudo apt-get update
+
+ # Install all packages (except scons)
+ - name: Configure dependencies
+ run: |
+ sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev \
+ libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev yasm
+
+ # Upload cache on completion and check it out now
+ - name: Load .scons_cache directory
+ id: linux-template-cache
+ uses: actions/cache@v2
+ with:
+ path: ${{github.workspace}}/.scons_cache/
+ key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ restore-keys: |
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}
+
+ # Use python 3.x release (works cross platform)
+ - name: Set up Python 3.x
+ uses: actions/setup-python@v2
+ with:
+ # Semantic version range syntax or exact version of a Python version
+ python-version: '3.x'
+ # Optional - x64 or x86 architecture, defaults to x64
+ architecture: 'x64'
+
+ # You can test your matrix by printing the current Python version
+ - name: Configuring Python packages
+ run: |
+ python -c "import sys; print(sys.version)"
+ python -m pip install scons
+ python --version
+ scons --version
+
+ - name: Compilation
+ env:
+ SCONS_CACHE: ${{github.workspace}}/.scons_cache/
+ run: |
+ scons -j2 verbose=yes warnings=all werror=yes platform=x11 target=release tools=no module_mono_enabled=yes mono_glue=no
diff --git a/.github/workflows/macos_builds.yml b/.github/workflows/macos_builds.yml
new file mode 100644
index 00000000000..28fc4885d89
--- /dev/null
+++ b/.github/workflows/macos_builds.yml
@@ -0,0 +1,94 @@
+name: MacOS Builds
+on: [push, pull_request]
+
+# Global Cache Settings
+env:
+ GODOT_BASE_BRANCH: 3.2
+ SCONS_CACHE_LIMIT: 4096
+
+jobs:
+ macos-editor:
+ runs-on: "macos-latest"
+
+ name: Editor (target=release_debug, tools=yes)
+
+ steps:
+ - uses: actions/checkout@v2
+
+ # Upload cache on completion and check it out now
+ - name: Load .scons_cache directory
+ id: macos-editor-cache
+ uses: actions/cache@v2
+ with:
+ path: ${{github.workspace}}/.scons_cache/
+ key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ restore-keys: |
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}
+
+ # Use python 3.x release (works cross platform; best to keep self contained in it's own step)
+ - name: Set up Python 3.x
+ uses: actions/setup-python@v2
+ with:
+ # Semantic version range syntax or exact version of a Python version
+ python-version: '3.x'
+ # Optional - x64 or x86 architecture, defaults to x64
+ architecture: 'x64'
+
+ # Setup scons, print python version and scons version info, so if anything is broken it won't run the build.
+ - name: Configuring Python packages
+ run: |
+ python -c "import sys; print(sys.version)"
+ python -m pip install scons
+ python --version
+ scons --version
+
+ # We should always be explicit with our flags usage here since it's gonna be sure to always set those flags
+ - name: Compilation
+ env:
+ SCONS_CACHE: ${{github.workspace}}/.scons_cache/
+ run: |
+ scons -j2 verbose=yes warnings=all werror=yes platform=osx tools=yes target=release_debug
+
+ macos-template:
+ runs-on: "macos-latest"
+ name: Template (target=release, tools=no)
+
+ steps:
+ - uses: actions/checkout@v2
+
+ # Upload cache on completion and check it out now
+ - name: Load .scons_cache directory
+ id: macos-template-cache
+ uses: actions/cache@v2
+ with:
+ path: ${{github.workspace}}/.scons_cache/
+ key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ restore-keys: |
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}
+
+ # Use python 3.x release (works cross platform)
+ - name: Set up Python 3.x
+ uses: actions/setup-python@v2
+ with:
+ # Semantic version range syntax or exact version of a Python version
+ python-version: '3.x'
+ # Optional - x64 or x86 architecture, defaults to x64
+ architecture: 'x64'
+
+ # You can test your matrix by printing the current Python version
+ - name: Configuring Python packages
+ run: |
+ python -c "import sys; print(sys.version)"
+ python -m pip install scons
+ python --version
+ scons --version
+
+ - name: Compilation
+ env:
+ SCONS_CACHE: ${{github.workspace}}/.scons_cache/
+ run: |
+ scons -j2 verbose=yes warnings=all werror=yes platform=osx target=release tools=no
diff --git a/.github/workflows/static_checks.yml b/.github/workflows/static_checks.yml
new file mode 100644
index 00000000000..87339da776b
--- /dev/null
+++ b/.github/workflows/static_checks.yml
@@ -0,0 +1,32 @@
+name: Static Checks
+on: [push, pull_request]
+
+jobs:
+ static-checks:
+ name: Static Checks (clang-format, black format, file format, documentation checks)
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Install dependencies
+ run: |
+ sudo apt-get update -qq
+ sudo apt-get install -qq dos2unix recode clang-format
+ sudo pip3 install black pygments
+
+ - name: File formatting checks (file_format.sh)
+ run: |
+ bash ./misc/scripts/file_format.sh
+
+ - name: Style checks via clang-format (clang_format.sh)
+ run: |
+ bash ./misc/scripts/clang_format.sh
+
+ - name: Python style checks via black (black_format.sh)
+ run: |
+ bash ./misc/scripts/black_format.sh
+
+ - name: Documentation checks
+ run: |
+ doc/tools/makerst.py --dry-run doc/classes modules
diff --git a/.github/workflows/main.yml b/.github/workflows/windows_builds.yml
similarity index 71%
rename from .github/workflows/main.yml
rename to .github/workflows/windows_builds.yml
index 2ef335fe020..99f609a3fd8 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/windows_builds.yml
@@ -1,52 +1,45 @@
-# Engine build CI
-name: Godot CI
-
-on:
- # will build EVERY pull request
- pull_request:
-
- # will only build explicit branches
- push:
- branches: [ master, 3.2, 3.1, 3.0 ]
+name: Windows Builds
+on: [push, pull_request]
# Global Cache Settings
# SCONS_CACHE for windows must be set in the build environment
env:
+ GODOT_BASE_BRANCH: 3.2
SCONS_CACHE_MSVC_CONFIG: true
- SCONS_CACHE_LIMIT: 8192
+ SCONS_CACHE_LIMIT: 4096
+
jobs:
windows-editor:
# Windows 10 with latest image
runs-on: "windows-latest"
# Windows Editor - checkout with the plugin
- name: Windows Editor (target=release_debug, tools=yes)
+ name: Editor (target=release_debug, tools=yes)
steps:
- uses: actions/checkout@v2
- # Upload cache on completion and check it out now
- # Editing this is pretty dangerous for windows since it can break and needs properly tested with a fresh cache.
- # Linux with this will work reliably, so not as bad to edit for Linux.
+ # Upload cache on completion and check it out now
+ # Editing this is pretty dangerous for Windows since it can break and needs to be properly tested with a fresh cache.
- name: Load .scons_cache directory
id: windows-editor-cache
uses: RevoluPowered/cache@v2.1
with:
path: /.scons_cache/
- key: ${{runner.os}}-editor-${{github.sha}}
+ key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
restore-keys: |
- ${{runner.os}}-editor-${{github.sha}}
- ${{runner.os}}-editor
- ${{runner.os}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}
# Use python 3.x release (works cross platform; best to keep self contained in it's own step)
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
# Semantic version range syntax or exact version of a Python version
- python-version: '3.x'
+ python-version: '3.x'
# Optional - x64 or x86 architecture, defaults to x64
- architecture: 'x64'
+ architecture: 'x64'
# Setup scons, print python version and scons version info, so if anything is broken it won't run the build.
- name: Configuring Python packages
@@ -72,36 +65,34 @@ jobs:
# name: windows-editor (x64)
# path: bin/godot.windows.opt.tools.64.exe
-
windows-template:
runs-on: "windows-latest"
- name: Windows Template (target=release, tools=no)
+ name: Template (target=release, tools=no)
steps:
- uses: actions/checkout@v2
# Upload cache on completion and check it out now
- # Editing this is pretty dangerous for windows since it can break and needs properly tested with a fresh cache.
- # Linux with this will work reliably, so not as bad to edit for Linux.
+ # Editing this is pretty dangerous for Windows since it can break and needs to be properly tested with a fresh cache.
- name: Load .scons_cache directory
id: windows-template-cache
uses: RevoluPowered/cache@v2.1
with:
path: /.scons_cache/
- key: ${{runner.os}}-template-${{github.sha}}
+ key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
restore-keys: |
- ${{runner.os}}-template-${{github.sha}}
- ${{runner.os}}-template
- ${{runner.os}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
+ ${{github.job}}-${{env.GODOT_BASE_BRANCH}}
- # Use python 3.x release (works cross platform)
+ # Use python 3.x release (works cross platform)
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
# Semantic version range syntax or exact version of a Python version
- python-version: '3.x'
+ python-version: '3.x'
# Optional - x64 or x86 architecture, defaults to x64
- architecture: 'x64'
+ architecture: 'x64'
# You can test your matrix by printing the current Python version
- name: Configuring Python packages
@@ -110,6 +101,7 @@ jobs:
python -m pip install scons pywin32
python --version
scons --version
+
- name: Compilation
env:
SCONS_CACHE: /.scons_cache/
diff --git a/.gitignore b/.gitignore
index 2a9d52a388b..69393dc33db 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,6 +33,8 @@ platform/android/java/lib/.cxx/
*.os
*.Plo
*.lo
+# Binutils tmp linker output of the form "stXXXXXX" where "X" is alphanumeric
+st[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]
# Libs generated files
.deps/*
diff --git a/.travis.yml b/.travis.yml
index 6acd0ab0d9b..485e943dfd1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,16 +3,11 @@ language: cpp
# OS config, depends on actual 'os' in build matrix
dist: xenial
-stages:
- - check
- - build
-
env:
global:
- SCONS_CACHE=$HOME/.scons_cache/$TRAVIS_BRANCH
- SCONS_CACHE_LIMIT=1024
- - OPTIONS="debug_symbols=no verbose=yes progress=no builtin_libpng=yes"
- - secure: "uch9QszCgsl1qVbuzY41P7S2hWL2IiNFV4SbAYRCdi0oJ9MIu+pVyrQdpf3+jG4rH6j4Rffl+sN17Zz4dIDDioFL1JwqyCqyCyswR8uACC0Rr8gr4Mi3+HIRbv+2s2P4cIQq41JM8FJe84k9jLEMGCGh69w+ibCWoWs74CokYVA="
+ - OPTIONS="debug_symbols=no verbose=yes progress=no"
cache:
directories:
@@ -20,56 +15,9 @@ cache:
matrix:
include:
- - name: Static checks (clang-format) + Documentation checks
- stage: check
- env: STATIC_CHECKS=yes
- os: linux
- compiler: gcc
- addons:
- apt:
- sources:
- - llvm-toolchain-xenial-8
- packages:
- - clang-format-8
-
- - name: Linux editor (debug, GCC 9, with Mono)
+ - name: iOS export template (release, Clang)
stage: build
- env: PLATFORM=x11 TOOLS=yes TARGET=debug CACHE_NAME=${PLATFORM}-tools-mono-gcc-9 MATRIX_EVAL="CC=gcc-9 && CXX=g++-9" EXTRA_ARGS="module_mono_enabled=yes mono_glue=no warnings=extra werror=yes"
- os: linux
- compiler: gcc-9
- addons:
- apt:
- sources:
- - mono
- - ubuntu-toolchain-r-test
- packages:
- - &gcc9_deps [gcc-9, g++-9]
- - &linux_deps [libasound2-dev, libgl1-mesa-dev, libglu1-mesa-dev, libx11-dev, libxcursor-dev, libxi-dev, libxinerama-dev, libxrandr-dev]
- - &linux_mono_deps [mono-devel, msbuild, nuget]
-
- - name: Linux export template (release, Clang)
- stage: build
- env: PLATFORM=x11 TOOLS=no TARGET=release CACHE_NAME=${PLATFORM}-clang EXTRA_ARGS="warnings=extra werror=yes"
- os: linux
- compiler: clang
- addons:
- apt:
- packages:
- - *linux_deps
-
- - name: Android export template (release_debug, Clang)
- stage: build
- env: PLATFORM=android TOOLS=no TARGET=release_debug CACHE_NAME=${PLATFORM}-clang EXTRA_ARGS="warnings=extra werror=yes"
- os: linux
- compiler: clang
- addons:
- apt:
- packages:
- - openjdk-8-jdk
-
- - name: macOS editor (debug, Clang)
- stage: build
- env: PLATFORM=osx TOOLS=yes TARGET=debug CACHE_NAME=${PLATFORM}-tools-clang EXTRA_ARGS="warnings=extra werror=yes"
+ env: PLATFORM=iphone TOOLS=no TARGET=release CACHE_NAME=${PLATFORM}-clang
os: osx
compiler: clang
addons:
@@ -78,76 +26,9 @@ matrix:
- scons
update: true
- - name: iOS export template (debug, Clang)
- stage: build
- env: PLATFORM=iphone TOOLS=no TARGET=debug CACHE_NAME=${PLATFORM}-clang
- os: osx
- compiler: clang
- addons:
- homebrew:
- packages:
- - scons
- update: true
-
- - name: Linux headless editor (release_debug, GCC 9, testing project exporting and script running)
- stage: build
- env: PLATFORM=server TOOLS=yes TARGET=release_debug CACHE_NAME=${PLATFORM}-tools-gcc-9 MATRIX_EVAL="CC=gcc-9 && CXX=g++-9" EXTRA_ARGS="warnings=extra werror=yes" TEST_PROJECT=yes
- os: linux
- compiler: gcc-9
- addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- packages:
- - *gcc9_deps
- - *linux_deps
-
- - name: Linux export template (release_debug, GCC 5, without 3D support)
- stage: build
- env: PLATFORM=x11 TOOLS=no TARGET=release_debug CACHE_NAME=${PLATFORM}-gcc-5 EXTRA_ARGS="CXXFLAGS=-fno-strict-aliasing disable_3d=yes"
- os: linux
- compiler: gcc
- addons:
- apt:
- packages:
- - *linux_deps
-
before_install:
- eval "${MATRIX_EVAL}"
-
-install:
- - if [ "$TRAVIS_OS_NAME" = "linux" ]; then
- pyenv global 3.7.1 system;
- pip3 install --user scons;
- fi
- scons --version
- - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$PLATFORM" = "android" ]; then
- export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64;
- export PATH=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:${PATH};
- java -version;
- misc/travis/android-tools-linux.sh;
- fi
- - if [ "$STATIC_CHECKS" = "yes" ]; then
- unset SCONS_CACHE;
- pip3 install --user black pygments;
- fi
-
-before_script:
- - if [ "$PLATFORM" = "android" ]; then
- export ANDROID_HOME=$TRAVIS_BUILD_DIR/godot-dev/build-tools/android-sdk;
- export ANDROID_NDK_ROOT=$TRAVIS_BUILD_DIR/godot-dev/build-tools/android-ndk;
- fi
script:
- - if [ "$STATIC_CHECKS" = "yes" ]; then
- sh ./misc/travis/clang-format.sh &&
- sh ./misc/travis/black-format.sh &&
- doc/tools/makerst.py --dry-run doc/classes modules;
- else
- scons -j2 CC=$CC CXX=$CXX platform=$PLATFORM tools=$TOOLS target=$TARGET $OPTIONS $EXTRA_ARGS &&
- if [ "$TEST_PROJECT" = "yes" ]; then
- git clone --depth 1 "https://github.com/godotengine/godot-tests.git";
- sed -i "s:custom_template/release=\"\":custom_template/release=\"$(readlink -e bin/godot_server.x11.opt.tools.64)\":" godot-tests/tests/project_export/export_presets.cfg;
- godot-tests/tests/project_export/test_project.sh "bin/godot_server.x11.opt.tools.64";
- fi
- fi
+ - scons -j2 CC=$CC CXX=$CXX platform=$PLATFORM tools=$TOOLS target=$TARGET $OPTIONS $EXTRA_ARGS
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp
index 230ce3d1b2e..81f170645be 100644
--- a/core/bind/core_bind.cpp
+++ b/core/bind/core_bind.cpp
@@ -2436,7 +2436,7 @@ String _Directory::get_current_dir() {
return d->get_current_dir();
}
Error _Directory::make_dir(String p_dir) {
- ERR_FAIL_COND_V_MSG(!is_open(), ERR_UNCONFIGURED, "Directory must be opened before use.");
+ ERR_FAIL_COND_V_MSG(!d, ERR_UNCONFIGURED, "Directory is not configured properly.");
if (!p_dir.is_rel_path()) {
DirAccess *d = DirAccess::create_for_path(p_dir);
Error err = d->make_dir(p_dir);
@@ -2446,7 +2446,7 @@ Error _Directory::make_dir(String p_dir) {
return d->make_dir(p_dir);
}
Error _Directory::make_dir_recursive(String p_dir) {
- ERR_FAIL_COND_V_MSG(!is_open(), ERR_UNCONFIGURED, "Directory must be opened before use.");
+ ERR_FAIL_COND_V_MSG(!d, ERR_UNCONFIGURED, "Directory is not configured properly.");
if (!p_dir.is_rel_path()) {
DirAccess *d = DirAccess::create_for_path(p_dir);
Error err = d->make_dir_recursive(p_dir);
diff --git a/core/io/json.cpp b/core/io/json.cpp
index dbf1676e624..7183213a7c0 100644
--- a/core/io/json.cpp
+++ b/core/io/json.cpp
@@ -386,6 +386,7 @@ Error JSON::_parse_array(Array &array, const CharType *p_str, int &index, int p_
need_comma = true;
}
+ r_err_str = "Expected ']'";
return ERR_PARSE_ERROR;
}
@@ -453,6 +454,7 @@ Error JSON::_parse_object(Dictionary &object, const CharType *p_str, int &index,
}
}
+ r_err_str = "Expected '}'";
return ERR_PARSE_ERROR;
}
diff --git a/core/object_id.h b/core/object_id.h
index ae3f2980729..575731258d9 100644
--- a/core/object_id.h
+++ b/core/object_id.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* object_rc.h */
+/* object_id.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml
index 54cd4109cc0..f7c1d678a20 100644
--- a/doc/classes/Array.xml
+++ b/doc/classes/Array.xml
@@ -203,10 +203,10 @@
Returns [code]true[/code] if the array contains the given value.
[codeblock]
- ["inside", 7].has("inside") == true
- ["inside", 7].has("outside") == false
- ["inside", 7].has(7) == true
- ["inside", 7].has("7") == false
+ ["inside", 7].has("inside") # True
+ ["inside", 7].has("outside") # False
+ ["inside", 7].has(7) # True
+ ["inside", 7].has("7") # False
[/codeblock]
[b]Note:[/b] This is equivalent to using the [code]in[/code] operator as follows:
[codeblock]
diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml
index 7d6281efbba..85178146d71 100644
--- a/doc/classes/BaseButton.xml
+++ b/doc/classes/BaseButton.xml
@@ -13,7 +13,7 @@
- Called when the button is pressed.
+ Called when the button is pressed. If you need to know the button's pressed state (and [member toggle_mode] is active), use [method _toggled] instead.
@@ -89,6 +89,7 @@
Emitted when the button is toggled or pressed. This is on [signal button_down] if [member action_mode] is [constant ACTION_MODE_BUTTON_PRESS] and on [signal button_up] otherwise.
+ If you need to know the button's pressed state (and [member toggle_mode] is active), use [signal toggled] instead.
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index f99aaff0ae9..cb8bb064249 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -864,7 +864,9 @@
The node's rotation around its pivot, in degrees. See [member rect_pivot_offset] to change the pivot's position.
- The node's scale, relative to its [member rect_size]. Change this property to scale the node around its [member rect_pivot_offset].
+ The node's scale, relative to its [member rect_size]. Change this property to scale the node around its [member rect_pivot_offset]. The Control's [member hint_tooltip] will also scale according to this value.
+ [b]Note:[/b] This property is mainly intended to be used for animation purposes. Text inside the Control will look pixelated or blurry when the Control is scaled. To support multiple resolutions in your project, use an appropriate viewport stretch mode as described in the [url=https://docs.godotengine.org/en/latest/tutorials/viewports/multiple_resolutions.html]documentation[/url] instead of scaling Controls individually.
+ [b]Note:[/b] If the Control node is a child of a [Container] node, the scale will be reset to [code]Vector2(1, 1)[/code] when the scene is instanced. To set the Control's scale when it's instanced, wait for one frame using [code]yield(get_tree(), "idle_frame")[/code] then set its [member rect_scale] property.
The size of the node's bounding rectangle, in pixels. [Container] nodes update this property automatically.
diff --git a/doc/classes/EditorFileSystem.xml b/doc/classes/EditorFileSystem.xml
index aa4128fea91..bf25e0357d5 100644
--- a/doc/classes/EditorFileSystem.xml
+++ b/doc/classes/EditorFileSystem.xml
@@ -97,6 +97,7 @@
+ Emitted if at least one resource is reloaded when the filesystem is scanned.
diff --git a/doc/classes/EditorFileSystemDirectory.xml b/doc/classes/EditorFileSystemDirectory.xml
index fa803110b63..1746fc53739 100644
--- a/doc/classes/EditorFileSystemDirectory.xml
+++ b/doc/classes/EditorFileSystemDirectory.xml
@@ -67,6 +67,7 @@
+ Returns the base class of the script class defined in the file at index [code]idx[/code]. If the file doesn't define a script class using the [code]class_name[/code] syntax, this will return an empty string.
@@ -75,6 +76,7 @@
+ Returns the name of the script class defined in the file at index [code]idx[/code]. If the file doesn't define a script class using the [code]class_name[/code] syntax, this will return an empty string.
diff --git a/doc/classes/EditorImportPlugin.xml b/doc/classes/EditorImportPlugin.xml
index dd1b0610bb2..4dff818fccd 100644
--- a/doc/classes/EditorImportPlugin.xml
+++ b/doc/classes/EditorImportPlugin.xml
@@ -83,6 +83,16 @@
+ This method can be overridden to hide specific import options if conditions are met. This is mainly useful for hiding options that depend on others if one of them is disabled. For example:
+ [codeblock]
+ func get_option_visibility(option, options):
+ # Only show the lossy quality setting if the compression mode is set to "Lossy".
+ if option == "compress/lossy_quality" and options.has("compress/mode"):
+ return int(options["compress/mode"]) == COMPRESS_LOSSY
+
+ return true
+ [/codeblock]
+ Return [code]true[/code] to make all options always visible.
@@ -150,6 +160,8 @@
+ Imports [code]source_file[/code] into [code]save_path[/code] with the import [code]options[/code] specified. The [code]platform_variants[/code] and [code]gen_files[/code] arrays will be modified by this function.
+ This method must be overridden to do the actual importing work. See this class' description for an example of overriding this method.
diff --git a/doc/classes/EditorInspector.xml b/doc/classes/EditorInspector.xml
index f503cb6a075..d853cc1f8a4 100644
--- a/doc/classes/EditorInspector.xml
+++ b/doc/classes/EditorInspector.xml
@@ -14,35 +14,43 @@
+ Refreshes the inspector.
+ [b]Note:[/b] To save on CPU resources, calling this method will do nothing if the time specified in [code]docks/property_editor/auto_refresh_interval[/code] editor setting hasn't passed yet since this method was last called. (By default, this interval is set to 0.3 seconds.)
-
+
+ If [code]true[/code], horizontal scrolling is enabled. An horizontal scroll bar will display at the bottom of the inspector.
+
+ Emitted when the Edit button of an [Object] has been pressed in the inspector. This is mainly used in the remote scene tree inspector.
+ Emitted when a property is edited in the inspector.
+ Emitted when a property is keyed in the inspector. Properties can be keyed by clicking the "key" icon next to a property when the Animation panel is toggled.
+ Emitted when a property is selected in the inspector.
@@ -51,6 +59,8 @@
+ Emitted when a boolean property is toggled in the inspector.
+ [b]Note:[/b] This signal is never emitted if the internal [code]autoclear[/code] property enabled. Since this property is always enabled in the editor inspector, this signal is never emitted by the editor itself.
@@ -59,10 +69,12 @@
+ Emitted when a resource is selected in the inspector.
+ Emitted when a property that requires a restart to be applied is edited in the inspector. This is only used in the Project Settings and Editor Settings.
diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml
index 0805f4de362..7a236837fbd 100644
--- a/doc/classes/EditorInterface.xml
+++ b/doc/classes/EditorInterface.xml
@@ -23,13 +23,14 @@
- Returns the main container of Godot editor's window. You can use it, for example, to retrieve the size of the container and place your controls accordingly.
+ Returns the main container of Godot editor's window. For example, you can use it to retrieve the size of the container and place your controls accordingly.
+ Returns the current path being viewed in the [FileSystemDock].
@@ -43,26 +44,29 @@
- Returns the [EditorSettings].
+ Returns the editor's [EditorSettings] instance.
- Returns the editor [Viewport].
+ Returns the editor's [Viewport] instance.
+ [b]Note:[/b] This returns the main editor viewport containing the whole editor, not the 2D or 3D viewports specifically.
+ Returns the editor's [FileSystemDock] instance.
+ Returns the editor's [EditorInspector] instance.
@@ -83,34 +87,35 @@
- Returns the [EditorFileSystem].
+ Returns the editor's [EditorFileSystem] instance.
- Returns the [EditorResourcePreview].
+ Returns the editor's [EditorResourcePreview] instance.
- Returns the [ScriptEditor].
+ Returns the editor's [ScriptEditor] instance.
+ Returns the path of the directory currently selected in the [FileSystemDock]. If a file is selected, its base directory will be returned using [method String.get_base_dir] instead.
- Returns the [EditorSelection].
+ Returns the editor's [EditorSelection] instance.
@@ -121,14 +126,14 @@
- Shows the given property on the given [code]object[/code] in the Editor's Inspector dock.
+ Shows the given property on the given [code]object[/code] in the editor's Inspector dock.
- Returns [code]true[/code], if a scene is currently being played; [code]false[/code] otherwise. Paused scenes are considered as being played.
+ Returns [code]true[/code] if a scene is currently being played, [code]false[/code] otherwise. Paused scenes are considered as being played.
@@ -137,7 +142,7 @@
- Returns the enabled status of a plugin. The plugin name is the same as its directory name.
+ Returns [code]true[/code] if the specified [code]plugin[/code] is enabled. The plugin name is the same as its directory name.
@@ -225,6 +230,7 @@
+ Sets the editor's current main screen to the one specified in [code]name[/code]. [code]name[/code] must match the text of the tab in question exactly ([code]2D[/code], [code]3D[/code], [code]Script[/code], [code]AssetLib[/code]).
diff --git a/doc/classes/EditorProperty.xml b/doc/classes/EditorProperty.xml
index 09a040a71cc..0a477e83478 100644
--- a/doc/classes/EditorProperty.xml
+++ b/doc/classes/EditorProperty.xml
@@ -73,22 +73,22 @@
- Used by the inspector, set when property is checkable.
+ Used by the inspector, set to [code]true[/code] when the property is checkable.
- Used by the inspector, when the property is checked.
+ Used by the inspector, set to [code]true[/code] when the property is checked.
- Used by the inspector, when the property must draw with error color.
+ Used by the inspector, set to [code]true[/code] when the property must draw with error color. This is used for editable children's properties.
- Used by the inspector, when the property can add keys for animation.
+ Used by the inspector, set to [code]true[/code] when the property can add keys for animation.
- Sets this property to change the label (if you want to show one).
+ Set this property to change the label (if you want to show one).
- Used by the inspector, when the property is read-only.
+ Used by the inspector, set to [code]true[/code] when the property is read-only.
diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml
index 5a2a301ba53..406aa984e48 100644
--- a/doc/classes/EditorSettings.xml
+++ b/doc/classes/EditorSettings.xml
@@ -5,11 +5,16 @@
Object that holds the project-independent editor settings. These settings are generally visible in the [b]Editor > Editor Settings[/b] menu.
- Accessing the settings is done by using the regular [Object] API, such as:
+ Property names use slash delimiters to distinguish sections. Setting values can be of any [Variant] type. It's recommended to use [code]snake_case[/code] for editor settings to be consistent with the Godot editor itself.
+ Accessing the settings can be done using the following methods, such as:
[codeblock]
- settings.set(prop,value)
- settings.get(prop)
- list_of_settings = settings.get_property_list()
+ # `settings.set("some/property", value)` also works as this class overrides `_set()` internally.
+ settings.set_setting("some/property",value)
+
+ # `settings.get("some/property", value)` also works as this class overrides `_get()` internally.
+ settings.get_setting("some/property")
+
+ var list_of_settings = settings.get_property_list()
[/codeblock]
[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_editor_settings].
@@ -47,14 +52,14 @@
- Erase a given setting (pass full property path).
+ Erases the setting whose name is specified by [code]property[/code].
- Gets the list of favorite files and directories for this project.
+ Returns the list of favorite files and directories for this project.
@@ -67,20 +72,21 @@
+ Returns project-specific metadata for the [code]section[/code] and [code]key[/code] specified. If the metadata doesn't exist, [code]default[/code] will be returned instead. See also [method set_project_metadata].
- Gets the specific project settings path. Projects all have a unique sub-directory inside the settings path where project specific settings are saved.
+ Returns the project-specific settings path. Projects all have a unique subdirectory inside the settings path where project-specific settings are saved.
- Gets the list of recently visited folders in the file dialog for this project.
+ Returns the list of recently visited folders in the file dialog for this project.
@@ -89,6 +95,7 @@
+ Returns the value of the setting specified by [code]name[/code]. This is equivalent to using [method Object.get] on the EditorSettings instance.
@@ -106,6 +113,7 @@
+ Returns [code]true[/code] if the setting specified by [code]name[/code] exists, [code]false[/code] otherwise.
@@ -114,6 +122,7 @@
+ Returns [code]true[/code] if the setting specified by [code]name[/code] can have its value reverted to the default value, [code]false[/code] otherwise. When this method returns [code]true[/code], a Revert button will display next to the setting in the Editor Settings.
@@ -122,6 +131,7 @@
+ Returns the default value of the setting specified by [code]name[/code]. This is the value that would be applied when clicking the Revert button in the Editor Settings.
@@ -143,6 +153,7 @@
+ Sets the initial value of the setting specified by [code]name[/code] to [code]value[/code]. This is used to provide a value for the Revert button in the Editor Settings. If [code]update_current[/code] is true, the current value of the setting will be set to [code]value[/code] as well.
@@ -155,6 +166,7 @@
+ Sets project-specific metadata with the [code]section[/code], [code]key[/code] and [code]data[/code] specified. This metadata is stored outside the project folder and therefore won't be checked into version control. See also [method get_project_metadata].
@@ -174,19 +186,20 @@
+ Sets the [code]value[/code] of the setting specified by [code]name[/code]. This is equivalent to using [method Object.set] on the EditorSettings instance.
- Emitted when editor settings change.
+ Emitted after any editor setting has changed.
- Emitted when editor settings change. It used by various editor plugins to update their visuals on theme changes or logic on configuration changes.
+ Emitted after any editor setting has changed. It's used by various editor plugins to update their visuals on theme changes or logic on configuration changes.
diff --git a/doc/classes/EditorSpatialGizmo.xml b/doc/classes/EditorSpatialGizmo.xml
index d98b61329d2..1f627e4a8f2 100644
--- a/doc/classes/EditorSpatialGizmo.xml
+++ b/doc/classes/EditorSpatialGizmo.xml
@@ -15,6 +15,7 @@
+ Adds the specified [code]segments[/code] to the gizmo's collision shape for picking. Call this function during [method redraw].
@@ -69,6 +70,7 @@
+ Adds a mesh to the gizmo with the specified [code]billboard[/code] state, [code]skeleton[/code] and [code]material[/code]. If [code]billboard[/code] is [code]true[/code], the mesh will rotate to always face the camera. Call this function during [method redraw].
@@ -88,6 +90,7 @@
+ Removes everything in the gizmo including meshes, collisions and handles.
@@ -143,14 +146,14 @@
- Gets whether a handle is highlighted or not.
+ Returns [code]true[/code] if the handle at index [code]index[/code] is highlighted by being hovered with the mouse.
- This function is called when the Spatial this gizmo refers to changes (the [method Spatial.update_gizmo] is called).
+ This function is called when the [Spatial] this gizmo refers to changes (the [method Spatial.update_gizmo] is called).
@@ -173,6 +176,7 @@
+ Sets the gizmo's hidden state. If [code]true[/code], the gizmo will be hidden. If [code]false[/code], it will be shown.
@@ -181,6 +185,7 @@
+ Sets the reference [Spatial] node for the gizmo. [code]node[/code] must inherit from [Spatial].
diff --git a/doc/classes/EditorSpatialGizmoPlugin.xml b/doc/classes/EditorSpatialGizmoPlugin.xml
index 9ed1600e1d7..c9494cf78f4 100644
--- a/doc/classes/EditorSpatialGizmoPlugin.xml
+++ b/doc/classes/EditorSpatialGizmoPlugin.xml
@@ -139,6 +139,8 @@
+ Override this method to set the gizmo's priority. Higher values correspond to higher priority. If a gizmo with higher priority conflicts with another gizmo, only the gizmo with higher priority will be used.
+ All built-in editor gizmos return a priority of [code]-1[/code]. If not overridden, this method will return [code]0[/code], which means custom gizmos will automatically override built-in gizmos.
diff --git a/doc/classes/File.xml b/doc/classes/File.xml
index dbba0267460..a6a435ff43f 100644
--- a/doc/classes/File.xml
+++ b/doc/classes/File.xml
@@ -20,6 +20,7 @@
file.close()
return content
[/codeblock]
+ In the example above, the file will be saved in the user data folder as specified in the [url=https://docs.godotengine.org/en/latest/tutorials/io/data_paths.html]Data paths[/url] documentation.
https://docs.godotengine.org/en/latest/getting_started/step_by_step/filesystem.html
diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml
index 90202dd0d79..401d8074e69 100644
--- a/doc/classes/HTTPClient.xml
+++ b/doc/classes/HTTPClient.xml
@@ -8,6 +8,7 @@
[b]Note:[/b] This client only needs to connect to a host once (see [method connect_to_host]) to send multiple requests. Because of this, methods that take URLs usually take just the part after the host instead of the full URL, as the client is already connected to a host. See [method request] for a full example and to get started.
A [HTTPClient] should be reused between multiple requests or to connect to different hosts instead of creating one client per request. Supports SSL and SSL server certificate verification. HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "try again, but over here"), 4xx something was wrong with the request, and 5xx something went wrong on the server's side.
For more information on HTTP, see https://developer.mozilla.org/en-US/docs/Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools.ietf.org/html/rfc2616).
+ [b]Note:[/b] When performing HTTP requests from a project exported to HTML5, keep in mind the remote server may not allow requests from foreign origins due to [url=https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS]CORS[/url]. If you host the server in question, you should modify its backend to allow requests from foreign origins by adding the [code]Access-Control-Allow-Origin: *[/code] HTTP header.
https://docs.godotengine.org/en/latest/tutorials/networking/http_client_class.html
diff --git a/doc/classes/HTTPRequest.xml b/doc/classes/HTTPRequest.xml
index c3540d64d5a..ddd3464bdad 100644
--- a/doc/classes/HTTPRequest.xml
+++ b/doc/classes/HTTPRequest.xml
@@ -64,6 +64,7 @@
add_child(texture_rect)
texture_rect.texture = texture
[/codeblock]
+ [b]Note:[/b] When performing HTTP requests from a project exported to HTML5, keep in mind the remote server may not allow requests from foreign origins due to [url=https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS]CORS[/url]. If you host the server in question, you should modify its backend to allow requests from foreign origins by adding the [code]Access-Control-Allow-Origin: *[/code] HTTP header.
https://docs.godotengine.org/en/latest/tutorials/networking/http_request_class.html
diff --git a/doc/classes/InputEventMouseMotion.xml b/doc/classes/InputEventMouseMotion.xml
index 82b6d25d523..e72334cac78 100644
--- a/doc/classes/InputEventMouseMotion.xml
+++ b/doc/classes/InputEventMouseMotion.xml
@@ -5,6 +5,7 @@
Contains mouse and pen motion information. Supports relative, absolute positions and speed. See [method Node._input].
+ [b]Note:[/b] By default, this event is only emitted once per frame rendered at most. If you need more precise input reporting, call [method Input.set_use_accumulated_input] with [code]false[/code] to make events emitted as often as possible. If you use InputEventMouseMotion to draw lines, consider implementing [url=https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm]Bresenham's line algorithm[/url] as well to avoid visible gaps in lines if the user is moving the mouse quickly.
https://docs.godotengine.org/en/latest/tutorials/inputs/mouse_and_input_coordinates.html
@@ -16,7 +17,7 @@
Represents the pressure the user puts on the pen. Ranges from [code]0.0[/code] to [code]1.0[/code].
- The mouse position relative to the previous position (position at the last frame).
+ The mouse position relative to the previous position (position at the last frame).
[b]Note:[/b] Since [InputEventMouseMotion] is only emitted when the mouse moves, the last event won't have a relative position of [code]Vector2(0, 0)[/code] when the user stops moving the mouse.
diff --git a/doc/classes/KinematicBody.xml b/doc/classes/KinematicBody.xml
index b238f530dcb..62a2f623b1c 100644
--- a/doc/classes/KinematicBody.xml
+++ b/doc/classes/KinematicBody.xml
@@ -106,7 +106,7 @@
Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [KinematicBody] or [RigidBody], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
This method should be used in [method Node._physics_process] (or in a method called by [method Node._physics_process]), as it uses the physics step's [code]delta[/code] value automatically in calculations. Otherwise, the simulation will run at an incorrect speed.
- [code]linear_velocity[/code] is the velocity vector (typically meters per second). Unlike in [method move_and_collide], you should [i]not[/i] multiply it by [code]delta[/code] — the physics engine handles applying the velocity.
+ [code]linear_velocity[/code] is the velocity vector (typically meters per second). Unlike in [method move_and_collide], you should [i]not[/i] multiply it by [code]delta[/code] — the physics engine handles applying the velocity.
[code]up_direction[/code] is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of [code]Vector3(0, 0, 0)[/code], everything is considered a wall.
If [code]stop_on_slope[/code] is [code]true[/code], body will not slide on slopes when you include gravity in [code]linear_velocity[/code] and the body is standing still.
If the body collides, it will change direction a maximum of [code]max_slides[/code] times before it stops.
diff --git a/doc/classes/KinematicBody2D.xml b/doc/classes/KinematicBody2D.xml
index 666a4bcf404..5f6edae536f 100644
--- a/doc/classes/KinematicBody2D.xml
+++ b/doc/classes/KinematicBody2D.xml
@@ -104,7 +104,7 @@
Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [KinematicBody2D] or [RigidBody2D], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
This method should be used in [method Node._physics_process] (or in a method called by [method Node._physics_process]), as it uses the physics step's [code]delta[/code] value automatically in calculations. Otherwise, the simulation will run at an incorrect speed.
- [code]linear_velocity[/code] is the velocity vector in pixels per second. Unlike in [method move_and_collide], you should [i]not[/i] multiply it by [code]delta[/code] — the physics engine handles applying the velocity.
+ [code]linear_velocity[/code] is the velocity vector in pixels per second. Unlike in [method move_and_collide], you should [i]not[/i] multiply it by [code]delta[/code] — the physics engine handles applying the velocity.
[code]up_direction[/code] is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of [code]Vector2(0, 0)[/code], everything is considered a wall. This is useful for topdown games.
If [code]stop_on_slope[/code] is [code]true[/code], body will not slide on slopes when you include gravity in [code]linear_velocity[/code] and the body is standing still.
If the body collides, it will change direction a maximum of [code]max_slides[/code] times before it stops.
diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml
index 09296fb624a..18065ee48d4 100644
--- a/doc/classes/LineEdit.xml
+++ b/doc/classes/LineEdit.xml
@@ -165,6 +165,9 @@
String value of the [LineEdit].
[b]Note:[/b] Changing text using this property won't emit the [signal text_changed] signal.
+
+ If [code]true[/code], the native virtual keyboard is shown when focused on platforms that support it.
+
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index b089b03b6e5..43ddf5ef395 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -153,7 +153,18 @@
- Returns the command line arguments passed to the engine.
+ Returns the command-line arguments passed to the engine.
+ Command-line arguments can be written in any form, including both [code]--key value[/code] and [code]--key=value[/code] forms so they can be properly parsed, as long as custom command-line arguments do not conflict with engine arguments.
+ You can also incorporate environment variables using the [method get_environment] method.
+ You can set [code]editor/main_run_args[/code] in the Project Settings to define command-line arguments to be passed by the editor when running the project.
+ Here's a minimal example on how to parse command-line arguments into a dictionary using the [code]--key=value[/code] form for arguments:
+ [codeblock]
+ var arguments = {}
+ for argument in OS.get_cmdline_args():
+ if argument.find("=") > -1:
+ var key_value = argument.split("=")
+ arguments[key_value[0].lstrip("--")] = key_value[1]
+ [/codeblock]
diff --git a/doc/classes/PrimitiveMesh.xml b/doc/classes/PrimitiveMesh.xml
index e2c6b921e63..44ec10470bf 100644
--- a/doc/classes/PrimitiveMesh.xml
+++ b/doc/classes/PrimitiveMesh.xml
@@ -13,7 +13,12 @@
- Returns mesh arrays used to constitute surface of [Mesh]. Mesh arrays can be used with [ArrayMesh] to create new surfaces.
+ Returns mesh arrays used to constitute surface of [Mesh]. The result can be passed to [method ArrayMesh.add_surface_from_arrays] to create a new surface. For example:
+ [codeblock]
+ var c := CylinderMesh.new()
+ var arr_mesh := ArrayMesh.new()
+ arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, c.get_mesh_arrays())
+ [/codeblock]
diff --git a/doc/classes/RayCast.xml b/doc/classes/RayCast.xml
index b33afa0305d..72a718e3af8 100644
--- a/doc/classes/RayCast.xml
+++ b/doc/classes/RayCast.xml
@@ -45,7 +45,7 @@
Updates the collision information for the ray.
Use this method to update the collision information immediately instead of waiting for the next [code]_physics_process[/code] call, for example if the ray or its parent has changed state.
- [b]Note:[/b] [code]enabled == true[/code] is not required for this to work.
+ [b]Note:[/b] [code]enabled[/code] is not required for this to work.
diff --git a/doc/classes/RayCast2D.xml b/doc/classes/RayCast2D.xml
index 2c67931e6d0..dd20e25f4e0 100644
--- a/doc/classes/RayCast2D.xml
+++ b/doc/classes/RayCast2D.xml
@@ -44,7 +44,7 @@
Updates the collision information for the ray. Use this method to update the collision information immediately instead of waiting for the next [code]_physics_process[/code] call, for example if the ray or its parent has changed state.
- [b]Note:[/b] [code]enabled == true[/code] is not required for this to work.
+ [b]Note:[/b] [code]enabled[/code] is not required for this to work.
diff --git a/doc/classes/Skeleton.xml b/doc/classes/Skeleton.xml
index 3731ba875b3..3d027bf647a 100644
--- a/doc/classes/Skeleton.xml
+++ b/doc/classes/Skeleton.xml
@@ -230,7 +230,7 @@
- Returns the pose transform for bone [code]bone_idx[/code].
+ Sets the pose transform for bone [code]bone_idx[/code].
diff --git a/doc/classes/SpringArm.xml b/doc/classes/SpringArm.xml
index f72156b3ade..6fc3cd187bb 100644
--- a/doc/classes/SpringArm.xml
+++ b/doc/classes/SpringArm.xml
@@ -32,7 +32,7 @@
- Returns the proportion between the current arm length (after checking for collisions) and the [member spring_length]. Ranges from 0 to 1.
+ Returns the spring arm's current length.
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index c66f16ae07e..3aa56a0e502 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -253,7 +253,8 @@
- Returns a copy of the string with escaped characters replaced by their meanings according to the C language standard.
+ Returns a copy of the string with escaped characters replaced by their meanings. Supported escape sequences are [code]\'[/code], [code]\"[/code], [code]\?[/code], [code]\\[/code], [code]\a[/code], [code]\b[/code], [code]\f[/code], [code]\n[/code], [code]\r[/code], [code]\t[/code], [code]\v[/code].
+ [b]Note:[/b] Unlike the GDScript parser, this method doesn't support the [code]\uXXXX[/code] escape sequence.
diff --git a/doc/classes/VisibilityEnabler.xml b/doc/classes/VisibilityEnabler.xml
index 763e3c49785..4917eba8ca8 100644
--- a/doc/classes/VisibilityEnabler.xml
+++ b/doc/classes/VisibilityEnabler.xml
@@ -5,7 +5,8 @@
The VisibilityEnabler will disable [RigidBody] and [AnimationPlayer] nodes when they are not visible. It will only affect other nodes within the same scene as the VisibilityEnabler itself.
- [b]Note:[/b] VisibilityEnabler uses an approximate heuristic for performance reasons. It doesn't take walls and other occlusion into account. If you need exact visibility checking, use another method such as adding an [Area] node as a child of a [Camera] node.
+ If you just want to receive notifications, use [VisibilityNotifier] instead.
+ [b]Note:[/b] VisibilityEnabler uses an approximate heuristic for performance reasons. It doesn't take walls and other occlusion into account. The heuristic is an implementation detail and may change in future versions. If you need precise visibility checking, use another method such as adding an [Area] node as a child of a [Camera] node and/or [method Vector3.dot].
[b]Note:[/b] VisibilityEnabler will not affect nodes added after scene initialization.
diff --git a/doc/classes/VisibilityEnabler2D.xml b/doc/classes/VisibilityEnabler2D.xml
index 1cb0c3fc5ab..e00f9dc03e7 100644
--- a/doc/classes/VisibilityEnabler2D.xml
+++ b/doc/classes/VisibilityEnabler2D.xml
@@ -5,7 +5,8 @@
The VisibilityEnabler2D will disable [RigidBody2D], [AnimationPlayer], and other nodes when they are not visible. It will only affect nodes with the same root node as the VisibilityEnabler2D, and the root node itself.
- [b]Note:[/b] For performance reasons, VisibilityEnabler2D uses an approximate heuristic with precision determined by [member ProjectSettings.world/2d/cell_size]. If you need exact visibility checking, use another method such as adding an [Area2D] node as a child of a [Camera2D] node.
+ If you just want to receive notifications, use [VisibilityNotifier2D] instead.
+ [b]Note:[/b] For performance reasons, VisibilityEnabler2D uses an approximate heuristic with precision determined by [member ProjectSettings.world/2d/cell_size]. If you need precise visibility checking, use another method such as adding an [Area2D] node as a child of a [Camera2D] node.
[b]Note:[/b] VisibilityEnabler2D will not affect nodes added after scene initialization.
diff --git a/doc/classes/VisibilityNotifier.xml b/doc/classes/VisibilityNotifier.xml
index 67d650db8b5..5b628a1487f 100644
--- a/doc/classes/VisibilityNotifier.xml
+++ b/doc/classes/VisibilityNotifier.xml
@@ -5,7 +5,8 @@
The VisibilityNotifier detects when it is visible on the screen. It also notifies when its bounding rectangle enters or exits the screen or a [Camera]'s view.
- [b]Note:[/b] VisibilityNotifier uses an approximate heuristic for performance reasons. It doesn't take walls and other occlusion into account. If you need exact visibility checking, use another method such as adding an [Area] node as a child of a [Camera] node.
+ If you want nodes to be disabled automatically when they exit the screen, use [VisibilityEnabler] instead.
+ [b]Note:[/b] VisibilityNotifier uses an approximate heuristic for performance reasons. It does't take walls and other occlusion into account. The heuristic is an implementation detail and may change in future versions. If you need precise visibility checking, use another method such as adding an [Area] node as a child of a [Camera] node and/or [method Vector3.dot].
diff --git a/doc/classes/VisibilityNotifier2D.xml b/doc/classes/VisibilityNotifier2D.xml
index a86ba38126c..fb0fa7a8d78 100644
--- a/doc/classes/VisibilityNotifier2D.xml
+++ b/doc/classes/VisibilityNotifier2D.xml
@@ -5,7 +5,8 @@
The VisibilityNotifier2D detects when it is visible on the screen. It also notifies when its bounding rectangle enters or exits the screen or a viewport.
- [b]Note:[/b] For performance reasons, VisibilityNotifier2D uses an approximate heuristic with precision determined by [member ProjectSettings.world/2d/cell_size]. If you need exact visibility checking, use another method such as adding an [Area2D] node as a child of a [Camera2D] node.
+ If you want nodes to be disabled automatically when they exit the screen, use [VisibilityEnabler2D] instead.
+ [b]Note:[/b] For performance reasons, VisibilityNotifier2D uses an approximate heuristic with precision determined by [member ProjectSettings.world/2d/cell_size]. If you need precise visibility checking, use another method such as adding an [Area2D] node as a child of a [Camera2D] node.
diff --git a/drivers/gles2/rasterizer_array_gles2.h b/drivers/gles2/rasterizer_array_gles2.h
index 30a4dd823a9..b7f8615c917 100644
--- a/drivers/gles2/rasterizer_array_gles2.h
+++ b/drivers/gles2/rasterizer_array_gles2.h
@@ -1,3 +1,33 @@
+/*************************************************************************/
+/* rasterizer_array_gles2.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
#pragma once
/*************************************************************************/
diff --git a/drivers/unix/syslog_logger.cpp b/drivers/unix/syslog_logger.cpp
index 59001f057d8..dc9112bf140 100644
--- a/drivers/unix/syslog_logger.cpp
+++ b/drivers/unix/syslog_logger.cpp
@@ -68,4 +68,4 @@ void SyslogLogger::print_error(const char *p_function, const char *p_file, int p
SyslogLogger::~SyslogLogger() {
}
-#endif
\ No newline at end of file
+#endif
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index 9746d4be2a5..d7dc4aa042e 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -175,12 +175,127 @@
EditorNode *EditorNode::singleton = NULL;
+void EditorNode::disambiguate_filenames(const Vector p_full_paths, Vector &r_filenames) {
+ // Keep track of a list of "index sets," i.e. sets of indices
+ // within disambiguated_scene_names which contain the same name.
+ Vector > index_sets;
+ Map scene_name_to_set_index;
+ for (int i = 0; i < r_filenames.size(); i++) {
+ String scene_name = r_filenames[i];
+ if (!scene_name_to_set_index.has(scene_name)) {
+ index_sets.push_back(Set());
+ scene_name_to_set_index.insert(r_filenames[i], index_sets.size() - 1);
+ }
+ index_sets.write[scene_name_to_set_index[scene_name]].insert(i);
+ }
+
+ // For each index set with a size > 1, we need to disambiguate
+ for (int i = 0; i < index_sets.size(); i++) {
+ Set iset = index_sets[i];
+ while (iset.size() > 1) {
+ // Append the parent folder to each scene name
+ for (Set::Element *E = iset.front(); E; E = E->next()) {
+ int set_idx = E->get();
+ String scene_name = r_filenames[set_idx];
+ String full_path = p_full_paths[set_idx];
+
+ // Get rid of file extensions and res:// prefixes
+ if (scene_name.rfind(".") >= 0) {
+ scene_name = scene_name.substr(0, scene_name.rfind("."));
+ }
+ if (full_path.begins_with("res://")) {
+ full_path = full_path.substr(6);
+ }
+ if (full_path.rfind(".") >= 0) {
+ full_path = full_path.substr(0, full_path.rfind("."));
+ }
+
+ int scene_name_size = scene_name.size();
+ int full_path_size = full_path.size();
+ int difference = full_path_size - scene_name_size;
+
+ // Find just the parent folder of the current path and append it.
+ // If the current name is foo.tscn, and the full path is /some/folder/foo.tscn
+ // then slash_idx is the second '/', so that we select just "folder", and
+ // append that to yield "folder/foo.tscn".
+ if (difference > 0) {
+ String parent = full_path.substr(0, difference);
+ int slash_idx = parent.rfind("/");
+ slash_idx = parent.rfind("/", slash_idx - 1);
+ parent = slash_idx >= 0 ? parent.substr(slash_idx + 1) : parent;
+ r_filenames.write[set_idx] = parent + r_filenames[set_idx];
+ }
+ }
+
+ // Loop back through scene names and remove non-ambiguous names
+ bool can_proceed = false;
+ Set::Element *E = iset.front();
+ while (E) {
+ String scene_name = r_filenames[E->get()];
+ bool duplicate_found = false;
+ for (Set::Element *F = iset.front(); F; F = F->next()) {
+ if (E->get() == F->get()) {
+ continue;
+ }
+ String other_scene_name = r_filenames[F->get()];
+ if (other_scene_name == scene_name) {
+ duplicate_found = true;
+ break;
+ }
+ }
+
+ Set::Element *to_erase = duplicate_found ? nullptr : E;
+
+ // We need to check that we could actually append anymore names
+ // if we wanted to for disambiguation. If we can't, then we have
+ // to abort even with ambiguous names. We clean the full path
+ // and the scene name first to remove extensions so that this
+ // comparison actually works.
+ String path = p_full_paths[E->get()];
+ if (path.begins_with("res://")) {
+ path = path.substr(6);
+ }
+ if (path.rfind(".") >= 0) {
+ path = path.substr(0, path.rfind("."));
+ }
+ if (scene_name.rfind(".") >= 0) {
+ scene_name = scene_name.substr(0, scene_name.rfind("."));
+ }
+
+ // We can proceed iff the full path is longer than the scene name,
+ // meaning that there is at least one more parent folder we can
+ // tack onto the name.
+ can_proceed = can_proceed || (path.size() - scene_name.size()) >= 1;
+
+ E = E->next();
+ if (to_erase) {
+ iset.erase(to_erase);
+ }
+ }
+
+ if (!can_proceed) {
+ break;
+ }
+ }
+ }
+}
+
void EditorNode::_update_scene_tabs() {
bool show_rb = EditorSettings::get_singleton()->get("interface/scene_tabs/show_script_button");
OS::get_singleton()->global_menu_clear("_dock");
+ // Get all scene names, which may be ambiguous
+ Vector disambiguated_scene_names;
+ Vector full_path_names;
+ for (int i = 0; i < editor_data.get_edited_scene_count(); i++) {
+ disambiguated_scene_names.push_back(editor_data.get_scene_title(i));
+ full_path_names.push_back(editor_data.get_scene_path(i));
+ }
+
+ disambiguate_filenames(full_path_names, disambiguated_scene_names);
+
scene_tabs->clear_tabs();
Ref script_icon = gui_base->get_icon("Script", "EditorIcons");
for (int i = 0; i < editor_data.get_edited_scene_count(); i++) {
@@ -193,7 +308,7 @@ void EditorNode::_update_scene_tabs() {
int current = editor_data.get_edited_scene();
bool unsaved = (i == current) ? saved_version != editor_data.get_undo_redo().get_version() : editor_data.get_scene_version(i) != 0;
- scene_tabs->add_tab(editor_data.get_scene_title(i) + (unsaved ? "(*)" : ""), icon);
+ scene_tabs->add_tab(disambiguated_scene_names[i] + (unsaved ? "(*)" : ""), icon);
OS::get_singleton()->global_menu_add_item("_dock", editor_data.get_scene_title(i) + (unsaved ? "(*)" : ""), GLOBAL_SCENE, i);
@@ -1971,8 +2086,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
String args;
bool skip_breakpoints;
- if (p_current || (editor_data.get_edited_scene_root() && p_custom == editor_data.get_edited_scene_root()->get_filename())) {
-
+ if (p_current || (editor_data.get_edited_scene_root() && p_custom != String() && p_custom == editor_data.get_edited_scene_root()->get_filename())) {
Node *scene = editor_data.get_edited_scene_root();
if (!scene) {
@@ -2005,14 +2119,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
Node *scene = editor_data.get_edited_scene_root();
- if (scene) { //only autosave if there is a scene obviously
-
- if (scene->get_filename() == "") {
-
- show_accept(TTR("Current scene was never saved, please save it prior to running."), TTR("OK"));
- return;
- }
-
+ if (scene && scene->get_filename() != "") { // Only autosave if there is a scene and if it has a path.
_save_scene_with_preview(scene->get_filename());
}
}
@@ -3590,10 +3697,14 @@ void EditorNode::_quick_opened() {
Vector files = quick_open->get_selected_files();
+ bool open_scene_dialog = quick_open->get_base_type() == "PackedScene";
for (int i = 0; i < files.size(); i++) {
String res_path = files[i];
- if (quick_open->get_base_type() == "PackedScene") {
+ List scene_extensions;
+ ResourceLoader::get_recognized_extensions_for_type("PackedScene", &scene_extensions);
+
+ if (open_scene_dialog || scene_extensions.find(files[i].get_extension())) {
open_request(res_path);
} else {
load_resource(res_path);
diff --git a/editor/editor_node.h b/editor/editor_node.h
index 1ff879ce3c1..e5708a8e212 100644
--- a/editor/editor_node.h
+++ b/editor/editor_node.h
@@ -685,6 +685,8 @@ public:
static void add_editor_plugin(EditorPlugin *p_editor, bool p_config_changed = false);
static void remove_editor_plugin(EditorPlugin *p_editor, bool p_config_changed = false);
+ static void disambiguate_filenames(const Vector p_full_paths, Vector &r_filenames);
+
void new_inherited_scene() { _menu_option_confirm(FILE_NEW_INHERITED_SCENE, false); }
void set_docks_visible(bool p_show);
diff --git a/editor/editor_spin_slider.cpp b/editor/editor_spin_slider.cpp
index 74984cef03b..64e6f874a60 100644
--- a/editor/editor_spin_slider.cpp
+++ b/editor/editor_spin_slider.cpp
@@ -31,6 +31,7 @@
#include "editor_spin_slider.h"
#include "core/math/expression.h"
#include "core/os/input.h"
+#include "editor_node.h"
#include "editor_scale.h"
String EditorSpinSlider::get_tooltip(const Point2 &p_pos) const {
@@ -203,6 +204,19 @@ void EditorSpinSlider::_notification(int p_what) {
}
}
+ if (p_what == NOTIFICATION_READY) {
+ // Add a left margin to the stylebox to make the number align with the Label
+ // when it's edited. The LineEdit "focus" stylebox uses the "normal" stylebox's
+ // default margins.
+ Ref stylebox =
+ EditorNode::get_singleton()->get_theme_base()->get_stylebox("normal", "LineEdit")->duplicate();
+ // EditorSpinSliders with a label have more space on the left, so add an
+ // higher margin to match the location where the text begins.
+ // The margin values below were determined by empirical testing.
+ stylebox->set_default_margin(MARGIN_LEFT, (get_label() != String() ? 23 : 16) * EDSCALE);
+ value_input->add_style_override("normal", stylebox);
+ }
+
if (p_what == NOTIFICATION_DRAW) {
updown_offset = -1;
diff --git a/editor/icons/icon_2_d.svg b/editor/icons/icon_2_d.svg
index e1a96aeab6e..afb9f4b45f1 100644
--- a/editor/icons/icon_2_d.svg
+++ b/editor/icons/icon_2_d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_3_d.svg b/editor/icons/icon_3_d.svg
index 2a1d5ff36d8..501b47aca12 100644
--- a/editor/icons/icon_3_d.svg
+++ b/editor/icons/icon_3_d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_checked.svg b/editor/icons/icon_GUI_checked.svg
index 8d00eca8d35..9bdf5dcb195 100644
--- a/editor/icons/icon_GUI_checked.svg
+++ b/editor/icons/icon_GUI_checked.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_dropdown.svg b/editor/icons/icon_GUI_dropdown.svg
index 3ed9466f4a2..ef37cda6ff1 100644
--- a/editor/icons/icon_GUI_dropdown.svg
+++ b/editor/icons/icon_GUI_dropdown.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_ellipsis.svg b/editor/icons/icon_GUI_ellipsis.svg
index 4d530d635e7..d96929725ca 100644
--- a/editor/icons/icon_GUI_ellipsis.svg
+++ b/editor/icons/icon_GUI_ellipsis.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_h_tick.svg b/editor/icons/icon_GUI_h_tick.svg
index 01fecf5d120..a8a2fe58f6b 100644
--- a/editor/icons/icon_GUI_h_tick.svg
+++ b/editor/icons/icon_GUI_h_tick.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_hsplitter.svg b/editor/icons/icon_GUI_hsplitter.svg
index f94a81cb1ea..6d4505685e3 100644
--- a/editor/icons/icon_GUI_hsplitter.svg
+++ b/editor/icons/icon_GUI_hsplitter.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_mini_checkerboard.svg b/editor/icons/icon_GUI_mini_checkerboard.svg
index dc6c7e37d19..0ae6a855bdf 100644
--- a/editor/icons/icon_GUI_mini_checkerboard.svg
+++ b/editor/icons/icon_GUI_mini_checkerboard.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_option_arrow.svg b/editor/icons/icon_GUI_option_arrow.svg
index 28435e08c39..832793068fd 100644
--- a/editor/icons/icon_GUI_option_arrow.svg
+++ b/editor/icons/icon_GUI_option_arrow.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_progress_bar.svg b/editor/icons/icon_GUI_progress_bar.svg
index a7a57adaa72..b1ce44c645a 100644
--- a/editor/icons/icon_GUI_progress_bar.svg
+++ b/editor/icons/icon_GUI_progress_bar.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_progress_fill.svg b/editor/icons/icon_GUI_progress_fill.svg
index a75bf93edd0..f8070cadc44 100644
--- a/editor/icons/icon_GUI_progress_fill.svg
+++ b/editor/icons/icon_GUI_progress_fill.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_radio_checked.svg b/editor/icons/icon_GUI_radio_checked.svg
index 447b57f8aec..771337116db 100644
--- a/editor/icons/icon_GUI_radio_checked.svg
+++ b/editor/icons/icon_GUI_radio_checked.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_radio_unchecked.svg b/editor/icons/icon_GUI_radio_unchecked.svg
index 1e8117bd10c..6a21d316bef 100644
--- a/editor/icons/icon_GUI_radio_unchecked.svg
+++ b/editor/icons/icon_GUI_radio_unchecked.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_scroll_arrow_left.svg b/editor/icons/icon_GUI_scroll_arrow_left.svg
index a118f04e176..50cca02ac13 100644
--- a/editor/icons/icon_GUI_scroll_arrow_left.svg
+++ b/editor/icons/icon_GUI_scroll_arrow_left.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_scroll_arrow_left_hl.svg b/editor/icons/icon_GUI_scroll_arrow_left_hl.svg
index 046356f18b9..6adb4931b56 100644
--- a/editor/icons/icon_GUI_scroll_arrow_left_hl.svg
+++ b/editor/icons/icon_GUI_scroll_arrow_left_hl.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_scroll_arrow_right.svg b/editor/icons/icon_GUI_scroll_arrow_right.svg
index 4e0a8b53276..fea26043c1a 100644
--- a/editor/icons/icon_GUI_scroll_arrow_right.svg
+++ b/editor/icons/icon_GUI_scroll_arrow_right.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_scroll_arrow_right_hl.svg b/editor/icons/icon_GUI_scroll_arrow_right_hl.svg
index 4224ca8de48..8a90890a0f2 100644
--- a/editor/icons/icon_GUI_scroll_arrow_right_hl.svg
+++ b/editor/icons/icon_GUI_scroll_arrow_right_hl.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_scroll_bg.svg b/editor/icons/icon_GUI_scroll_bg.svg
index 263b42ea613..dd5c60e534b 100644
--- a/editor/icons/icon_GUI_scroll_bg.svg
+++ b/editor/icons/icon_GUI_scroll_bg.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_scroll_grabber.svg b/editor/icons/icon_GUI_scroll_grabber.svg
index 9f6e9f2e25a..16edfb567c2 100644
--- a/editor/icons/icon_GUI_scroll_grabber.svg
+++ b/editor/icons/icon_GUI_scroll_grabber.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_scroll_grabber_hl.svg b/editor/icons/icon_GUI_scroll_grabber_hl.svg
index bf5bce69348..cec53330f01 100644
--- a/editor/icons/icon_GUI_scroll_grabber_hl.svg
+++ b/editor/icons/icon_GUI_scroll_grabber_hl.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_scroll_grabber_pressed.svg b/editor/icons/icon_GUI_scroll_grabber_pressed.svg
index da26032474f..13f8427d35c 100644
--- a/editor/icons/icon_GUI_scroll_grabber_pressed.svg
+++ b/editor/icons/icon_GUI_scroll_grabber_pressed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_slider_grabber.svg b/editor/icons/icon_GUI_slider_grabber.svg
index dd751ead80a..ddd1b1d9b81 100644
--- a/editor/icons/icon_GUI_slider_grabber.svg
+++ b/editor/icons/icon_GUI_slider_grabber.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_slider_grabber_hl.svg b/editor/icons/icon_GUI_slider_grabber_hl.svg
index 90d62934ece..3af977ae4ac 100644
--- a/editor/icons/icon_GUI_slider_grabber_hl.svg
+++ b/editor/icons/icon_GUI_slider_grabber_hl.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_space.svg b/editor/icons/icon_GUI_space.svg
index b43e97b6e13..db4b1745e2c 100644
--- a/editor/icons/icon_GUI_space.svg
+++ b/editor/icons/icon_GUI_space.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_spinbox_updown.svg b/editor/icons/icon_GUI_spinbox_updown.svg
index a6776728e34..5bfa6a1c09d 100644
--- a/editor/icons/icon_GUI_spinbox_updown.svg
+++ b/editor/icons/icon_GUI_spinbox_updown.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_tab.svg b/editor/icons/icon_GUI_tab.svg
index 8451ebe5c0c..b6ba1bb3dde 100644
--- a/editor/icons/icon_GUI_tab.svg
+++ b/editor/icons/icon_GUI_tab.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_tab_menu.svg b/editor/icons/icon_GUI_tab_menu.svg
index 55e98143a69..8bb6bbc012e 100644
--- a/editor/icons/icon_GUI_tab_menu.svg
+++ b/editor/icons/icon_GUI_tab_menu.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_tab_menu_hl.svg b/editor/icons/icon_GUI_tab_menu_hl.svg
index e4c5b7bf1e5..b20bd8097fa 100644
--- a/editor/icons/icon_GUI_tab_menu_hl.svg
+++ b/editor/icons/icon_GUI_tab_menu_hl.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_toggle_off.svg b/editor/icons/icon_GUI_toggle_off.svg
index 46f13d198db..928b55b2011 100644
--- a/editor/icons/icon_GUI_toggle_off.svg
+++ b/editor/icons/icon_GUI_toggle_off.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_toggle_on.svg b/editor/icons/icon_GUI_toggle_on.svg
index 0316680daa7..a79a8290b1e 100644
--- a/editor/icons/icon_GUI_toggle_on.svg
+++ b/editor/icons/icon_GUI_toggle_on.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_tree_arrow_down.svg b/editor/icons/icon_GUI_tree_arrow_down.svg
index fd2d900711b..7b320152ff6 100644
--- a/editor/icons/icon_GUI_tree_arrow_down.svg
+++ b/editor/icons/icon_GUI_tree_arrow_down.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_tree_arrow_right.svg b/editor/icons/icon_GUI_tree_arrow_right.svg
index e20c92e2e70..cf1b5dac7cb 100644
--- a/editor/icons/icon_GUI_tree_arrow_right.svg
+++ b/editor/icons/icon_GUI_tree_arrow_right.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_tree_arrow_up.svg b/editor/icons/icon_GUI_tree_arrow_up.svg
index 464363a8b1c..f5399bc7f9b 100644
--- a/editor/icons/icon_GUI_tree_arrow_up.svg
+++ b/editor/icons/icon_GUI_tree_arrow_up.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_tree_updown.svg b/editor/icons/icon_GUI_tree_updown.svg
index 66716845df3..c6b9014e827 100644
--- a/editor/icons/icon_GUI_tree_updown.svg
+++ b/editor/icons/icon_GUI_tree_updown.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_unchecked.svg b/editor/icons/icon_GUI_unchecked.svg
index 9575422df38..74d6106dc90 100644
--- a/editor/icons/icon_GUI_unchecked.svg
+++ b/editor/icons/icon_GUI_unchecked.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_v_tick.svg b/editor/icons/icon_GUI_v_tick.svg
index 4205237952f..c0af1df8fb4 100644
--- a/editor/icons/icon_GUI_v_tick.svg
+++ b/editor/icons/icon_GUI_v_tick.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_viewport_hdiagsplitter.svg b/editor/icons/icon_GUI_viewport_hdiagsplitter.svg
index b1705582dc3..ceba2c9cfb0 100644
--- a/editor/icons/icon_GUI_viewport_hdiagsplitter.svg
+++ b/editor/icons/icon_GUI_viewport_hdiagsplitter.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_viewport_vdiagsplitter.svg b/editor/icons/icon_GUI_viewport_vdiagsplitter.svg
index 0817529ff14..af52e1ec62f 100644
--- a/editor/icons/icon_GUI_viewport_vdiagsplitter.svg
+++ b/editor/icons/icon_GUI_viewport_vdiagsplitter.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_viewport_vhsplitter.svg b/editor/icons/icon_GUI_viewport_vhsplitter.svg
index a11fbd1b4c3..b53a23f62ae 100644
--- a/editor/icons/icon_GUI_viewport_vhsplitter.svg
+++ b/editor/icons/icon_GUI_viewport_vhsplitter.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_visibility_hidden.svg b/editor/icons/icon_GUI_visibility_hidden.svg
index 1d1e61d1bb2..6152fe8acf7 100644
--- a/editor/icons/icon_GUI_visibility_hidden.svg
+++ b/editor/icons/icon_GUI_visibility_hidden.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_visibility_visible.svg b/editor/icons/icon_GUI_visibility_visible.svg
index 2e56f57ed8f..32eaea633bc 100644
--- a/editor/icons/icon_GUI_visibility_visible.svg
+++ b/editor/icons/icon_GUI_visibility_visible.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_visibility_xray.svg b/editor/icons/icon_GUI_visibility_xray.svg
index 241ff3e7e58..109911df451 100644
--- a/editor/icons/icon_GUI_visibility_xray.svg
+++ b/editor/icons/icon_GUI_visibility_xray.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_vsplit_bg.svg b/editor/icons/icon_GUI_vsplit_bg.svg
index fa572c797e2..9844fc2018b 100644
--- a/editor/icons/icon_GUI_vsplit_bg.svg
+++ b/editor/icons/icon_GUI_vsplit_bg.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_GUI_vsplitter.svg b/editor/icons/icon_GUI_vsplitter.svg
index 8629801713d..add4301a4b6 100644
--- a/editor/icons/icon_GUI_vsplitter.svg
+++ b/editor/icons/icon_GUI_vsplitter.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_a_a_b_b.svg b/editor/icons/icon_a_a_b_b.svg
index d6fbc525417..03ec25caf23 100644
--- a/editor/icons/icon_a_a_b_b.svg
+++ b/editor/icons/icon_a_a_b_b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_a_r_v_r_anchor.svg b/editor/icons/icon_a_r_v_r_anchor.svg
index f1571b3fcca..0f6282a0859 100644
--- a/editor/icons/icon_a_r_v_r_anchor.svg
+++ b/editor/icons/icon_a_r_v_r_anchor.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_a_r_v_r_camera.svg b/editor/icons/icon_a_r_v_r_camera.svg
index f59a8c8b4ab..9f9072fc1ed 100644
--- a/editor/icons/icon_a_r_v_r_camera.svg
+++ b/editor/icons/icon_a_r_v_r_camera.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_a_r_v_r_controller.svg b/editor/icons/icon_a_r_v_r_controller.svg
index 40e5b8dce1f..9296b11c8ec 100644
--- a/editor/icons/icon_a_r_v_r_controller.svg
+++ b/editor/icons/icon_a_r_v_r_controller.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_a_r_v_r_origin.svg b/editor/icons/icon_a_r_v_r_origin.svg
index dbb93ba7a59..dda24e7530f 100644
--- a/editor/icons/icon_a_r_v_r_origin.svg
+++ b/editor/icons/icon_a_r_v_r_origin.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_accept_dialog.svg b/editor/icons/icon_accept_dialog.svg
index e0bf7b83369..974ae28a16f 100644
--- a/editor/icons/icon_accept_dialog.svg
+++ b/editor/icons/icon_accept_dialog.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_action_copy.svg b/editor/icons/icon_action_copy.svg
index d7a1e1097ab..0d682901476 100644
--- a/editor/icons/icon_action_copy.svg
+++ b/editor/icons/icon_action_copy.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_action_cut.svg b/editor/icons/icon_action_cut.svg
index 97df9b2d5a3..a4ed2a2a150 100644
--- a/editor/icons/icon_action_cut.svg
+++ b/editor/icons/icon_action_cut.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_action_paste.svg b/editor/icons/icon_action_paste.svg
index 6d46f899f8a..423bc7baabb 100644
--- a/editor/icons/icon_action_paste.svg
+++ b/editor/icons/icon_action_paste.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_add.svg b/editor/icons/icon_add.svg
index a241829603a..afad08a2e0c 100644
--- a/editor/icons/icon_add.svg
+++ b/editor/icons/icon_add.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_add_atlas_tile.svg b/editor/icons/icon_add_atlas_tile.svg
index 97d3590678e..a6d94005a8f 100644
--- a/editor/icons/icon_add_atlas_tile.svg
+++ b/editor/icons/icon_add_atlas_tile.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_add_autotile.svg b/editor/icons/icon_add_autotile.svg
index c6f1df422d5..52664b3eb63 100644
--- a/editor/icons/icon_add_autotile.svg
+++ b/editor/icons/icon_add_autotile.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_add_single_tile.svg b/editor/icons/icon_add_single_tile.svg
index 319fef80781..64bf1c99c0f 100644
--- a/editor/icons/icon_add_single_tile.svg
+++ b/editor/icons/icon_add_single_tile.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_add_split.svg b/editor/icons/icon_add_split.svg
index 1f33e8c72b3..5c034d8d124 100644
--- a/editor/icons/icon_add_split.svg
+++ b/editor/icons/icon_add_split.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_anchor.svg b/editor/icons/icon_anchor.svg
index 119960d1770..cb40970ba33 100644
--- a/editor/icons/icon_anchor.svg
+++ b/editor/icons/icon_anchor.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_animated_sprite.svg b/editor/icons/icon_animated_sprite.svg
index 411ddda015a..0c9d2933eea 100644
--- a/editor/icons/icon_animated_sprite.svg
+++ b/editor/icons/icon_animated_sprite.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_animated_sprite_3d.svg b/editor/icons/icon_animated_sprite_3d.svg
index 974c4e04eba..b25ebae6836 100644
--- a/editor/icons/icon_animated_sprite_3d.svg
+++ b/editor/icons/icon_animated_sprite_3d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_animated_texture.svg b/editor/icons/icon_animated_texture.svg
index 3719b647470..532573103f5 100644
--- a/editor/icons/icon_animated_texture.svg
+++ b/editor/icons/icon_animated_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_animation.svg b/editor/icons/icon_animation.svg
index 2cb738a8a6b..917784baddf 100644
--- a/editor/icons/icon_animation.svg
+++ b/editor/icons/icon_animation.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_animation_filter.svg b/editor/icons/icon_animation_filter.svg
index 45c323543d3..8a2b0593485 100644
--- a/editor/icons/icon_animation_filter.svg
+++ b/editor/icons/icon_animation_filter.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_animation_player.svg b/editor/icons/icon_animation_player.svg
index a5f7804e0de..52b6b02c154 100644
--- a/editor/icons/icon_animation_player.svg
+++ b/editor/icons/icon_animation_player.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_animation_track_group.svg b/editor/icons/icon_animation_track_group.svg
index d0d14b7c44e..c5811e1bfa9 100644
--- a/editor/icons/icon_animation_track_group.svg
+++ b/editor/icons/icon_animation_track_group.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_animation_track_list.svg b/editor/icons/icon_animation_track_list.svg
index e47c8b18cbd..3ba49153506 100644
--- a/editor/icons/icon_animation_track_list.svg
+++ b/editor/icons/icon_animation_track_list.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_animation_tree.svg b/editor/icons/icon_animation_tree.svg
index 718eaac2d28..d6484097c98 100644
--- a/editor/icons/icon_animation_tree.svg
+++ b/editor/icons/icon_animation_tree.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_animation_tree_player.svg b/editor/icons/icon_animation_tree_player.svg
index 718eaac2d28..d6484097c98 100644
--- a/editor/icons/icon_animation_tree_player.svg
+++ b/editor/icons/icon_animation_tree_player.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_area.svg b/editor/icons/icon_area.svg
index 21ebe3c2519..4be8a2cced9 100644
--- a/editor/icons/icon_area.svg
+++ b/editor/icons/icon_area.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_area_2d.svg b/editor/icons/icon_area_2d.svg
index e374205b13e..005f70ed480 100644
--- a/editor/icons/icon_area_2d.svg
+++ b/editor/icons/icon_area_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_array.svg b/editor/icons/icon_array.svg
index d499fcac3a2..068007bb292 100644
--- a/editor/icons/icon_array.svg
+++ b/editor/icons/icon_array.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_array_mesh.svg b/editor/icons/icon_array_mesh.svg
index 394a18623d5..3a33a966aaa 100644
--- a/editor/icons/icon_array_mesh.svg
+++ b/editor/icons/icon_array_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_arrow_down.svg b/editor/icons/icon_arrow_down.svg
index 49a93e6e28b..d24357d2c57 100644
--- a/editor/icons/icon_arrow_down.svg
+++ b/editor/icons/icon_arrow_down.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_arrow_left.svg b/editor/icons/icon_arrow_left.svg
index fbbe5d90753..ddd2f4e3536 100644
--- a/editor/icons/icon_arrow_left.svg
+++ b/editor/icons/icon_arrow_left.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_arrow_right.svg b/editor/icons/icon_arrow_right.svg
index 7895158bb1a..a0c78dc1ebe 100644
--- a/editor/icons/icon_arrow_right.svg
+++ b/editor/icons/icon_arrow_right.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_arrow_up.svg b/editor/icons/icon_arrow_up.svg
index 9bf19a6a124..f71f95c7b18 100644
--- a/editor/icons/icon_arrow_up.svg
+++ b/editor/icons/icon_arrow_up.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_atlas_texture.svg b/editor/icons/icon_atlas_texture.svg
index 28a44e179a5..e261d372d1b 100644
--- a/editor/icons/icon_atlas_texture.svg
+++ b/editor/icons/icon_atlas_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_audio_bus_bypass.svg b/editor/icons/icon_audio_bus_bypass.svg
index c251a7c83f8..2723f847ebe 100644
--- a/editor/icons/icon_audio_bus_bypass.svg
+++ b/editor/icons/icon_audio_bus_bypass.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_audio_bus_layout.svg b/editor/icons/icon_audio_bus_layout.svg
index f95794a7c78..3b1f3e7a0de 100644
--- a/editor/icons/icon_audio_bus_layout.svg
+++ b/editor/icons/icon_audio_bus_layout.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_audio_bus_mute.svg b/editor/icons/icon_audio_bus_mute.svg
index 4750b0fec04..dbfcc811078 100644
--- a/editor/icons/icon_audio_bus_mute.svg
+++ b/editor/icons/icon_audio_bus_mute.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_audio_bus_solo.svg b/editor/icons/icon_audio_bus_solo.svg
index 5be72a89612..4065bdc6308 100644
--- a/editor/icons/icon_audio_bus_solo.svg
+++ b/editor/icons/icon_audio_bus_solo.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_audio_stream_o_g_g_vorbis.svg b/editor/icons/icon_audio_stream_o_g_g_vorbis.svg
index a8d6fb6bf17..900d5873fe8 100644
--- a/editor/icons/icon_audio_stream_o_g_g_vorbis.svg
+++ b/editor/icons/icon_audio_stream_o_g_g_vorbis.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_audio_stream_player.svg b/editor/icons/icon_audio_stream_player.svg
index bbe2793407d..48aa7c29046 100644
--- a/editor/icons/icon_audio_stream_player.svg
+++ b/editor/icons/icon_audio_stream_player.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_audio_stream_player_2_d.svg b/editor/icons/icon_audio_stream_player_2_d.svg
index 090b23ff7c8..21cf751c924 100644
--- a/editor/icons/icon_audio_stream_player_2_d.svg
+++ b/editor/icons/icon_audio_stream_player_2_d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_audio_stream_player_3_d.svg b/editor/icons/icon_audio_stream_player_3_d.svg
index 95da9818aac..d1e39e62f32 100644
--- a/editor/icons/icon_audio_stream_player_3_d.svg
+++ b/editor/icons/icon_audio_stream_player_3_d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_audio_stream_sample.svg b/editor/icons/icon_audio_stream_sample.svg
index a8d6fb6bf17..900d5873fe8 100644
--- a/editor/icons/icon_audio_stream_sample.svg
+++ b/editor/icons/icon_audio_stream_sample.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_auto_end.svg b/editor/icons/icon_auto_end.svg
index 35f5fb2b1c9..b5d925c92ee 100644
--- a/editor/icons/icon_auto_end.svg
+++ b/editor/icons/icon_auto_end.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_auto_key.svg b/editor/icons/icon_auto_key.svg
index 3d5569397fd..9852d1360e5 100644
--- a/editor/icons/icon_auto_key.svg
+++ b/editor/icons/icon_auto_key.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_auto_play.svg b/editor/icons/icon_auto_play.svg
index dbe41f244f4..f1a6d426c95 100644
--- a/editor/icons/icon_auto_play.svg
+++ b/editor/icons/icon_auto_play.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_auto_triangle.svg b/editor/icons/icon_auto_triangle.svg
index 13b8f7c5d2d..fbd212f2ba0 100644
--- a/editor/icons/icon_auto_triangle.svg
+++ b/editor/icons/icon_auto_triangle.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_back.svg b/editor/icons/icon_back.svg
index c8ea97fa5c8..e98a5838552 100644
--- a/editor/icons/icon_back.svg
+++ b/editor/icons/icon_back.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_back_buffer_copy.svg b/editor/icons/icon_back_buffer_copy.svg
index c16cfe9009c..9bd40395c0d 100644
--- a/editor/icons/icon_back_buffer_copy.svg
+++ b/editor/icons/icon_back_buffer_copy.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bake.svg b/editor/icons/icon_bake.svg
index 9bcfb174dc7..9c652c76b35 100644
--- a/editor/icons/icon_bake.svg
+++ b/editor/icons/icon_bake.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_baked_lightmap.svg b/editor/icons/icon_baked_lightmap.svg
index 338a1000224..ea9efa55ba6 100644
--- a/editor/icons/icon_baked_lightmap.svg
+++ b/editor/icons/icon_baked_lightmap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_baked_lightmap_data.svg b/editor/icons/icon_baked_lightmap_data.svg
index e8d471c2af4..f5dcfb618be 100644
--- a/editor/icons/icon_baked_lightmap_data.svg
+++ b/editor/icons/icon_baked_lightmap_data.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_basis.svg b/editor/icons/icon_basis.svg
index ecdb0f4ec08..5ff892888ae 100644
--- a/editor/icons/icon_basis.svg
+++ b/editor/icons/icon_basis.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bezier_handles_balanced.svg b/editor/icons/icon_bezier_handles_balanced.svg
index 6656d3f5eb9..e4b8ae12e32 100644
--- a/editor/icons/icon_bezier_handles_balanced.svg
+++ b/editor/icons/icon_bezier_handles_balanced.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bezier_handles_free.svg b/editor/icons/icon_bezier_handles_free.svg
index 06abfe34ab8..88f8146871a 100644
--- a/editor/icons/icon_bezier_handles_free.svg
+++ b/editor/icons/icon_bezier_handles_free.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bezier_handles_mirror.svg b/editor/icons/icon_bezier_handles_mirror.svg
index be85f170c72..3a4b75ee96f 100644
--- a/editor/icons/icon_bezier_handles_mirror.svg
+++ b/editor/icons/icon_bezier_handles_mirror.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bit_map.svg b/editor/icons/icon_bit_map.svg
index b61c1b7dc55..703c958ee3a 100644
--- a/editor/icons/icon_bit_map.svg
+++ b/editor/icons/icon_bit_map.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bitmap_font.svg b/editor/icons/icon_bitmap_font.svg
index 5e5bd859c9b..d3ab5f7dd7f 100644
--- a/editor/icons/icon_bitmap_font.svg
+++ b/editor/icons/icon_bitmap_font.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_blend.svg b/editor/icons/icon_blend.svg
index c78b9287fa0..4de2fa5a43c 100644
--- a/editor/icons/icon_blend.svg
+++ b/editor/icons/icon_blend.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bone.svg b/editor/icons/icon_bone.svg
index fafebb0394c..cbfa4794edc 100644
--- a/editor/icons/icon_bone.svg
+++ b/editor/icons/icon_bone.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bone_2_d.svg b/editor/icons/icon_bone_2_d.svg
index 94bfff61e47..2298022d6ab 100644
--- a/editor/icons/icon_bone_2_d.svg
+++ b/editor/icons/icon_bone_2_d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bone_attachment.svg b/editor/icons/icon_bone_attachment.svg
index 0b7dede0b6e..2f2a9cdae56 100644
--- a/editor/icons/icon_bone_attachment.svg
+++ b/editor/icons/icon_bone_attachment.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bone_track.svg b/editor/icons/icon_bone_track.svg
index 0f6f9bb6cd8..34fb76e696c 100644
--- a/editor/icons/icon_bone_track.svg
+++ b/editor/icons/icon_bone_track.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bool.svg b/editor/icons/icon_bool.svg
index 5ffd40a8155..e6e32001ef3 100644
--- a/editor/icons/icon_bool.svg
+++ b/editor/icons/icon_bool.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_box_shape.svg b/editor/icons/icon_box_shape.svg
index 171e95f4fa2..f9012d1fe4b 100644
--- a/editor/icons/icon_box_shape.svg
+++ b/editor/icons/icon_box_shape.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bucket.svg b/editor/icons/icon_bucket.svg
index fc3481290d9..a30fce3112e 100644
--- a/editor/icons/icon_bucket.svg
+++ b/editor/icons/icon_bucket.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bus_vu_empty.svg b/editor/icons/icon_bus_vu_empty.svg
index 5260b9e2520..32a27e26b57 100644
--- a/editor/icons/icon_bus_vu_empty.svg
+++ b/editor/icons/icon_bus_vu_empty.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bus_vu_frozen.svg b/editor/icons/icon_bus_vu_frozen.svg
index c10bb5a1a2f..a78b83a6442 100644
--- a/editor/icons/icon_bus_vu_frozen.svg
+++ b/editor/icons/icon_bus_vu_frozen.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_bus_vu_full.svg b/editor/icons/icon_bus_vu_full.svg
index 377ac60bc15..acfa742d18b 100644
--- a/editor/icons/icon_bus_vu_full.svg
+++ b/editor/icons/icon_bus_vu_full.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_button.svg b/editor/icons/icon_button.svg
index 6ea5663dda8..60460382890 100644
--- a/editor/icons/icon_button.svg
+++ b/editor/icons/icon_button.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_button_group.svg b/editor/icons/icon_button_group.svg
index 683a8c3054e..0fd49f06468 100644
--- a/editor/icons/icon_button_group.svg
+++ b/editor/icons/icon_button_group.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_c_p_u_particles.svg b/editor/icons/icon_c_p_u_particles.svg
index af4115c93f2..072703cfa96 100644
--- a/editor/icons/icon_c_p_u_particles.svg
+++ b/editor/icons/icon_c_p_u_particles.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_c_p_u_particles_2_d.svg b/editor/icons/icon_c_p_u_particles_2_d.svg
index 25afc35bece..29770bc2404 100644
--- a/editor/icons/icon_c_p_u_particles_2_d.svg
+++ b/editor/icons/icon_c_p_u_particles_2_d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_camera.svg b/editor/icons/icon_camera.svg
index af1cb8a2e96..f6e99cb56e4 100644
--- a/editor/icons/icon_camera.svg
+++ b/editor/icons/icon_camera.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_camera_2d.svg b/editor/icons/icon_camera_2d.svg
index 9a91b3017b5..b6aa869be33 100644
--- a/editor/icons/icon_camera_2d.svg
+++ b/editor/icons/icon_camera_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_camera_texture.svg b/editor/icons/icon_camera_texture.svg
index e61b5902f09..adb47620821 100644
--- a/editor/icons/icon_camera_texture.svg
+++ b/editor/icons/icon_camera_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_canvas_item.svg b/editor/icons/icon_canvas_item.svg
index eefe501ca8a..f3962904368 100644
--- a/editor/icons/icon_canvas_item.svg
+++ b/editor/icons/icon_canvas_item.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_canvas_item_material.svg b/editor/icons/icon_canvas_item_material.svg
index 7df06ed6869..241184f8b92 100644
--- a/editor/icons/icon_canvas_item_material.svg
+++ b/editor/icons/icon_canvas_item_material.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_canvas_item_shader.svg b/editor/icons/icon_canvas_item_shader.svg
index 834fe61472f..b8b15888431 100644
--- a/editor/icons/icon_canvas_item_shader.svg
+++ b/editor/icons/icon_canvas_item_shader.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_canvas_item_shader_graph.svg b/editor/icons/icon_canvas_item_shader_graph.svg
index 3e837516982..838ca45178f 100644
--- a/editor/icons/icon_canvas_item_shader_graph.svg
+++ b/editor/icons/icon_canvas_item_shader_graph.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_canvas_layer.svg b/editor/icons/icon_canvas_layer.svg
index a3fcc903d70..6e98fd1ba9b 100644
--- a/editor/icons/icon_canvas_layer.svg
+++ b/editor/icons/icon_canvas_layer.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_canvas_modulate.svg b/editor/icons/icon_canvas_modulate.svg
index a7b788d6383..6096beb732d 100644
--- a/editor/icons/icon_canvas_modulate.svg
+++ b/editor/icons/icon_canvas_modulate.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_capsule_mesh.svg b/editor/icons/icon_capsule_mesh.svg
index 1c9470105f0..f7424310aac 100644
--- a/editor/icons/icon_capsule_mesh.svg
+++ b/editor/icons/icon_capsule_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_capsule_shape.svg b/editor/icons/icon_capsule_shape.svg
index ba035ca1968..4d5bc522b18 100644
--- a/editor/icons/icon_capsule_shape.svg
+++ b/editor/icons/icon_capsule_shape.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_capsule_shape_2d.svg b/editor/icons/icon_capsule_shape_2d.svg
index 81de995cb4f..99a67d4641e 100644
--- a/editor/icons/icon_capsule_shape_2d.svg
+++ b/editor/icons/icon_capsule_shape_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_center_container.svg b/editor/icons/icon_center_container.svg
index 5d854a3cc3b..af1958c2d8b 100644
--- a/editor/icons/icon_center_container.svg
+++ b/editor/icons/icon_center_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_check_box.svg b/editor/icons/icon_check_box.svg
index 6cb1f2aacda..8707dfce0c6 100644
--- a/editor/icons/icon_check_box.svg
+++ b/editor/icons/icon_check_box.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_check_button.svg b/editor/icons/icon_check_button.svg
index f689c5fe477..4b8106ecc05 100644
--- a/editor/icons/icon_check_button.svg
+++ b/editor/icons/icon_check_button.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_checkerboard.svg b/editor/icons/icon_checkerboard.svg
index 7923291017e..38b537e8729 100644
--- a/editor/icons/icon_checkerboard.svg
+++ b/editor/icons/icon_checkerboard.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_circle_shape_2d.svg b/editor/icons/icon_circle_shape_2d.svg
index e41fc8807c7..d23ca6d8a38 100644
--- a/editor/icons/icon_circle_shape_2d.svg
+++ b/editor/icons/icon_circle_shape_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_class_list.svg b/editor/icons/icon_class_list.svg
index ae2494724da..11713b125a5 100644
--- a/editor/icons/icon_class_list.svg
+++ b/editor/icons/icon_class_list.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_clear.svg b/editor/icons/icon_clear.svg
index 91343ca6aff..43c00311bca 100644
--- a/editor/icons/icon_clear.svg
+++ b/editor/icons/icon_clear.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_clipped_camera.svg b/editor/icons/icon_clipped_camera.svg
index 8c80c04e27a..a66f7844a9d 100644
--- a/editor/icons/icon_clipped_camera.svg
+++ b/editor/icons/icon_clipped_camera.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_close.svg b/editor/icons/icon_close.svg
index 4147c7bcdd1..331727ab913 100644
--- a/editor/icons/icon_close.svg
+++ b/editor/icons/icon_close.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_collapse.svg b/editor/icons/icon_collapse.svg
index 62b5e55d814..5e5611adb26 100644
--- a/editor/icons/icon_collapse.svg
+++ b/editor/icons/icon_collapse.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_collision_polygon.svg b/editor/icons/icon_collision_polygon.svg
index 5e849ae4e34..9b8b13c5145 100644
--- a/editor/icons/icon_collision_polygon.svg
+++ b/editor/icons/icon_collision_polygon.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_collision_polygon_2d.svg b/editor/icons/icon_collision_polygon_2d.svg
index 54148f3fd47..524efd1e65d 100644
--- a/editor/icons/icon_collision_polygon_2d.svg
+++ b/editor/icons/icon_collision_polygon_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_collision_shape.svg b/editor/icons/icon_collision_shape.svg
index 8f14996a97b..cf5925ce791 100644
--- a/editor/icons/icon_collision_shape.svg
+++ b/editor/icons/icon_collision_shape.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_collision_shape_2d.svg b/editor/icons/icon_collision_shape_2d.svg
index 8210bf917f4..d366ddb6307 100644
--- a/editor/icons/icon_collision_shape_2d.svg
+++ b/editor/icons/icon_collision_shape_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_color.svg b/editor/icons/icon_color.svg
index de0540763e7..91bc0d1d2dd 100644
--- a/editor/icons/icon_color.svg
+++ b/editor/icons/icon_color.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_color_pick.svg b/editor/icons/icon_color_pick.svg
index d73225bd607..ff44937a21e 100644
--- a/editor/icons/icon_color_pick.svg
+++ b/editor/icons/icon_color_pick.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_color_picker.svg b/editor/icons/icon_color_picker.svg
index 3d03615708e..c4f48cd3475 100644
--- a/editor/icons/icon_color_picker.svg
+++ b/editor/icons/icon_color_picker.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_color_picker_button.svg b/editor/icons/icon_color_picker_button.svg
index b9fa86db6a6..fa2a6154285 100644
--- a/editor/icons/icon_color_picker_button.svg
+++ b/editor/icons/icon_color_picker_button.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_color_ramp.svg b/editor/icons/icon_color_ramp.svg
index e0f0a674833..13e05dd1eeb 100644
--- a/editor/icons/icon_color_ramp.svg
+++ b/editor/icons/icon_color_ramp.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_color_rect.svg b/editor/icons/icon_color_rect.svg
index c2054de9d35..306401191a9 100644
--- a/editor/icons/icon_color_rect.svg
+++ b/editor/icons/icon_color_rect.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_color_track_vu.svg b/editor/icons/icon_color_track_vu.svg
index 5760f810705..faf82d86a97 100644
--- a/editor/icons/icon_color_track_vu.svg
+++ b/editor/icons/icon_color_track_vu.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_concave_polygon_shape.svg b/editor/icons/icon_concave_polygon_shape.svg
index 001ab82826a..60d1a6234fb 100644
--- a/editor/icons/icon_concave_polygon_shape.svg
+++ b/editor/icons/icon_concave_polygon_shape.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_concave_polygon_shape_2d.svg b/editor/icons/icon_concave_polygon_shape_2d.svg
index 38a92095c91..463fece525a 100644
--- a/editor/icons/icon_concave_polygon_shape_2d.svg
+++ b/editor/icons/icon_concave_polygon_shape_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_cone_twist_joint.svg b/editor/icons/icon_cone_twist_joint.svg
index 0e5e98a17b4..9eff38d0dc9 100644
--- a/editor/icons/icon_cone_twist_joint.svg
+++ b/editor/icons/icon_cone_twist_joint.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_confirmation_dialog.svg b/editor/icons/icon_confirmation_dialog.svg
index d1f13fbb3b9..4852da9a888 100644
--- a/editor/icons/icon_confirmation_dialog.svg
+++ b/editor/icons/icon_confirmation_dialog.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_container.svg b/editor/icons/icon_container.svg
index aaea67faa19..a7be8802685 100644
--- a/editor/icons/icon_container.svg
+++ b/editor/icons/icon_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control.svg b/editor/icons/icon_control.svg
index ff6a52e29a0..0ec9c4c6fee 100644
--- a/editor/icons/icon_control.svg
+++ b/editor/icons/icon_control.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_bottom_center.svg b/editor/icons/icon_control_align_bottom_center.svg
index 7aee8caa794..ca7f0c2e01e 100644
--- a/editor/icons/icon_control_align_bottom_center.svg
+++ b/editor/icons/icon_control_align_bottom_center.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_bottom_left.svg b/editor/icons/icon_control_align_bottom_left.svg
index aa26eb570ad..34904b5c6a2 100644
--- a/editor/icons/icon_control_align_bottom_left.svg
+++ b/editor/icons/icon_control_align_bottom_left.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_bottom_right.svg b/editor/icons/icon_control_align_bottom_right.svg
index 737328e6f0a..169ca2840f2 100644
--- a/editor/icons/icon_control_align_bottom_right.svg
+++ b/editor/icons/icon_control_align_bottom_right.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_bottom_wide.svg b/editor/icons/icon_control_align_bottom_wide.svg
index ad0d7fac859..f51043789f4 100644
--- a/editor/icons/icon_control_align_bottom_wide.svg
+++ b/editor/icons/icon_control_align_bottom_wide.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_center.svg b/editor/icons/icon_control_align_center.svg
index 14dd5005007..44dda03e47d 100644
--- a/editor/icons/icon_control_align_center.svg
+++ b/editor/icons/icon_control_align_center.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_center_left.svg b/editor/icons/icon_control_align_center_left.svg
index 52f1d4d1437..fc4674af487 100644
--- a/editor/icons/icon_control_align_center_left.svg
+++ b/editor/icons/icon_control_align_center_left.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_center_right.svg b/editor/icons/icon_control_align_center_right.svg
index 201796f1723..c66a3d59b5f 100644
--- a/editor/icons/icon_control_align_center_right.svg
+++ b/editor/icons/icon_control_align_center_right.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_left_center.svg b/editor/icons/icon_control_align_left_center.svg
index 8135c9d8517..612c36b4d65 100644
--- a/editor/icons/icon_control_align_left_center.svg
+++ b/editor/icons/icon_control_align_left_center.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_left_wide.svg b/editor/icons/icon_control_align_left_wide.svg
index 56d16bec76f..82f4911cb48 100644
--- a/editor/icons/icon_control_align_left_wide.svg
+++ b/editor/icons/icon_control_align_left_wide.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_right_center.svg b/editor/icons/icon_control_align_right_center.svg
index 69c4dba40dd..43f8618c803 100644
--- a/editor/icons/icon_control_align_right_center.svg
+++ b/editor/icons/icon_control_align_right_center.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_right_wide.svg b/editor/icons/icon_control_align_right_wide.svg
index b0a46cdb827..0ee0e095e2e 100644
--- a/editor/icons/icon_control_align_right_wide.svg
+++ b/editor/icons/icon_control_align_right_wide.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_top_center.svg b/editor/icons/icon_control_align_top_center.svg
index cafb3ff8565..dca9c84ce6c 100644
--- a/editor/icons/icon_control_align_top_center.svg
+++ b/editor/icons/icon_control_align_top_center.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_top_left.svg b/editor/icons/icon_control_align_top_left.svg
index ad288647fb9..68a81738357 100644
--- a/editor/icons/icon_control_align_top_left.svg
+++ b/editor/icons/icon_control_align_top_left.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_top_right.svg b/editor/icons/icon_control_align_top_right.svg
index d9955de7280..c862d205043 100644
--- a/editor/icons/icon_control_align_top_right.svg
+++ b/editor/icons/icon_control_align_top_right.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_top_wide.svg b/editor/icons/icon_control_align_top_wide.svg
index 2526b45ad9d..01d96907064 100644
--- a/editor/icons/icon_control_align_top_wide.svg
+++ b/editor/icons/icon_control_align_top_wide.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_align_wide.svg b/editor/icons/icon_control_align_wide.svg
index 5d1467cd9be..0099e04896e 100644
--- a/editor/icons/icon_control_align_wide.svg
+++ b/editor/icons/icon_control_align_wide.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_hcenter_wide.svg b/editor/icons/icon_control_hcenter_wide.svg
index 51c9aeb22d6..af3f9b495bf 100644
--- a/editor/icons/icon_control_hcenter_wide.svg
+++ b/editor/icons/icon_control_hcenter_wide.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_layout.svg b/editor/icons/icon_control_layout.svg
index e39e6b474cc..c4aa64113d3 100644
--- a/editor/icons/icon_control_layout.svg
+++ b/editor/icons/icon_control_layout.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_control_vcenter_wide.svg b/editor/icons/icon_control_vcenter_wide.svg
index 93bbc5748bc..decd1cbd127 100644
--- a/editor/icons/icon_control_vcenter_wide.svg
+++ b/editor/icons/icon_control_vcenter_wide.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_convex_polygon_shape.svg b/editor/icons/icon_convex_polygon_shape.svg
index bfb9230586f..3478289ab1c 100644
--- a/editor/icons/icon_convex_polygon_shape.svg
+++ b/editor/icons/icon_convex_polygon_shape.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_convex_polygon_shape_2d.svg b/editor/icons/icon_convex_polygon_shape_2d.svg
index 8d16523d939..dc2b0faf819 100644
--- a/editor/icons/icon_convex_polygon_shape_2d.svg
+++ b/editor/icons/icon_convex_polygon_shape_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_copy_node_path.svg b/editor/icons/icon_copy_node_path.svg
index 2cabe0a44ef..1adec4ade33 100644
--- a/editor/icons/icon_copy_node_path.svg
+++ b/editor/icons/icon_copy_node_path.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_create_new_scene_from.svg b/editor/icons/icon_create_new_scene_from.svg
index ffeaa36bc4e..094a0aae39e 100644
--- a/editor/icons/icon_create_new_scene_from.svg
+++ b/editor/icons/icon_create_new_scene_from.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_crypto_key.svg b/editor/icons/icon_crypto_key.svg
index 45b53c815d9..c5d1af1d23a 100644
--- a/editor/icons/icon_crypto_key.svg
+++ b/editor/icons/icon_crypto_key.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_cube_map.svg b/editor/icons/icon_cube_map.svg
index c9e6f1fa7d1..b3ec2bd3e7f 100644
--- a/editor/icons/icon_cube_map.svg
+++ b/editor/icons/icon_cube_map.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_cube_mesh.svg b/editor/icons/icon_cube_mesh.svg
index aeb5324b1b8..d5408582482 100644
--- a/editor/icons/icon_cube_mesh.svg
+++ b/editor/icons/icon_cube_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve.svg b/editor/icons/icon_curve.svg
index 14895337c6a..34d537a46da 100644
--- a/editor/icons/icon_curve.svg
+++ b/editor/icons/icon_curve.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_2d.svg b/editor/icons/icon_curve_2d.svg
index 23f585c7c5f..4470e660b38 100644
--- a/editor/icons/icon_curve_2d.svg
+++ b/editor/icons/icon_curve_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_3d.svg b/editor/icons/icon_curve_3d.svg
index f14c581ec37..f61b344966c 100644
--- a/editor/icons/icon_curve_3d.svg
+++ b/editor/icons/icon_curve_3d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_close.svg b/editor/icons/icon_curve_close.svg
index 7d7bae88c21..26e30cdb1cb 100644
--- a/editor/icons/icon_curve_close.svg
+++ b/editor/icons/icon_curve_close.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_constant.svg b/editor/icons/icon_curve_constant.svg
index 713a3a982a7..656bdd75806 100644
--- a/editor/icons/icon_curve_constant.svg
+++ b/editor/icons/icon_curve_constant.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_create.svg b/editor/icons/icon_curve_create.svg
index 43811f93f5b..962abd0b3fb 100644
--- a/editor/icons/icon_curve_create.svg
+++ b/editor/icons/icon_curve_create.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_curve.svg b/editor/icons/icon_curve_curve.svg
index 60f965abc1e..35770543af7 100644
--- a/editor/icons/icon_curve_curve.svg
+++ b/editor/icons/icon_curve_curve.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_delete.svg b/editor/icons/icon_curve_delete.svg
index afb545840f7..5bce6d0c1c6 100644
--- a/editor/icons/icon_curve_delete.svg
+++ b/editor/icons/icon_curve_delete.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_edit.svg b/editor/icons/icon_curve_edit.svg
index 5d1d6560e1b..84b56fbccbe 100644
--- a/editor/icons/icon_curve_edit.svg
+++ b/editor/icons/icon_curve_edit.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_in.svg b/editor/icons/icon_curve_in.svg
index b9e203dea06..2ad44dc6549 100644
--- a/editor/icons/icon_curve_in.svg
+++ b/editor/icons/icon_curve_in.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_in_out.svg b/editor/icons/icon_curve_in_out.svg
index 6d3c57d4f56..292dac45733 100644
--- a/editor/icons/icon_curve_in_out.svg
+++ b/editor/icons/icon_curve_in_out.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_linear.svg b/editor/icons/icon_curve_linear.svg
index 2256f493ce7..3c1fb2a0e22 100644
--- a/editor/icons/icon_curve_linear.svg
+++ b/editor/icons/icon_curve_linear.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_out.svg b/editor/icons/icon_curve_out.svg
index 9b04df6b6cb..dfa9a26144f 100644
--- a/editor/icons/icon_curve_out.svg
+++ b/editor/icons/icon_curve_out.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_out_in.svg b/editor/icons/icon_curve_out_in.svg
index 4a08d30966c..9a6463d0e9a 100644
--- a/editor/icons/icon_curve_out_in.svg
+++ b/editor/icons/icon_curve_out_in.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_curve_texture.svg b/editor/icons/icon_curve_texture.svg
index 05f9d627758..761fb9a45b6 100644
--- a/editor/icons/icon_curve_texture.svg
+++ b/editor/icons/icon_curve_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_cylinder_mesh.svg b/editor/icons/icon_cylinder_mesh.svg
index f204edc985f..85483aeeca0 100644
--- a/editor/icons/icon_cylinder_mesh.svg
+++ b/editor/icons/icon_cylinder_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_cylinder_shape.svg b/editor/icons/icon_cylinder_shape.svg
index f0aa5833d26..cbff4c88970 100644
--- a/editor/icons/icon_cylinder_shape.svg
+++ b/editor/icons/icon_cylinder_shape.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_damped_spring_joint_2d.svg b/editor/icons/icon_damped_spring_joint_2d.svg
index 9bd842bcc80..02a7033106e 100644
--- a/editor/icons/icon_damped_spring_joint_2d.svg
+++ b/editor/icons/icon_damped_spring_joint_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_debug.svg b/editor/icons/icon_debug.svg
index 7490862c4aa..769fada054a 100644
--- a/editor/icons/icon_debug.svg
+++ b/editor/icons/icon_debug.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_debug_continue.svg b/editor/icons/icon_debug_continue.svg
index 69c64c4fd46..cf9e0724c25 100644
--- a/editor/icons/icon_debug_continue.svg
+++ b/editor/icons/icon_debug_continue.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_debug_next.svg b/editor/icons/icon_debug_next.svg
index 133be255e19..d510aff828f 100644
--- a/editor/icons/icon_debug_next.svg
+++ b/editor/icons/icon_debug_next.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_debug_skip_breakpoints_off.svg b/editor/icons/icon_debug_skip_breakpoints_off.svg
index f8923510bb2..e7228c599f7 100644
--- a/editor/icons/icon_debug_skip_breakpoints_off.svg
+++ b/editor/icons/icon_debug_skip_breakpoints_off.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_debug_skip_breakpoints_on.svg b/editor/icons/icon_debug_skip_breakpoints_on.svg
index d4a4b4c1380..0836954bbbf 100644
--- a/editor/icons/icon_debug_skip_breakpoints_on.svg
+++ b/editor/icons/icon_debug_skip_breakpoints_on.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_debug_step.svg b/editor/icons/icon_debug_step.svg
index c0356463fec..b26e9b7b257 100644
--- a/editor/icons/icon_debug_step.svg
+++ b/editor/icons/icon_debug_step.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_default_project_icon.svg b/editor/icons/icon_default_project_icon.svg
index 10ecbd019d5..f81ba4d3907 100644
--- a/editor/icons/icon_default_project_icon.svg
+++ b/editor/icons/icon_default_project_icon.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_delete_split.svg b/editor/icons/icon_delete_split.svg
index 7424de3b8ab..4ae590f78be 100644
--- a/editor/icons/icon_delete_split.svg
+++ b/editor/icons/icon_delete_split.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_dictionary.svg b/editor/icons/icon_dictionary.svg
index 668ef37a866..c8353988366 100644
--- a/editor/icons/icon_dictionary.svg
+++ b/editor/icons/icon_dictionary.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_directional_light.svg b/editor/icons/icon_directional_light.svg
index faac2be1344..ff033636be7 100644
--- a/editor/icons/icon_directional_light.svg
+++ b/editor/icons/icon_directional_light.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_distraction_free.svg b/editor/icons/icon_distraction_free.svg
index 8608b33f580..d4778930d2e 100644
--- a/editor/icons/icon_distraction_free.svg
+++ b/editor/icons/icon_distraction_free.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_duplicate.svg b/editor/icons/icon_duplicate.svg
index d506b7a8c7c..a7381f919ff 100644
--- a/editor/icons/icon_duplicate.svg
+++ b/editor/icons/icon_duplicate.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_dynamic_font.svg b/editor/icons/icon_dynamic_font.svg
index fe5eca2e35e..bbaa12ea1bb 100644
--- a/editor/icons/icon_dynamic_font.svg
+++ b/editor/icons/icon_dynamic_font.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_dynamic_font_data.svg b/editor/icons/icon_dynamic_font_data.svg
index 56426dd33e9..7ee88582a52 100644
--- a/editor/icons/icon_dynamic_font_data.svg
+++ b/editor/icons/icon_dynamic_font_data.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_edit.svg b/editor/icons/icon_edit.svg
index bb7ffa2fce0..6fc7ae012db 100644
--- a/editor/icons/icon_edit.svg
+++ b/editor/icons/icon_edit.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_edit_bezier.svg b/editor/icons/icon_edit_bezier.svg
index be9e2f22b8c..3feff790dcc 100644
--- a/editor/icons/icon_edit_bezier.svg
+++ b/editor/icons/icon_edit_bezier.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_edit_internal.svg b/editor/icons/icon_edit_internal.svg
index 2a538102cef..7daf7ec29aa 100644
--- a/editor/icons/icon_edit_internal.svg
+++ b/editor/icons/icon_edit_internal.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_edit_key.svg b/editor/icons/icon_edit_key.svg
index 883ddfda710..455c544e6a9 100644
--- a/editor/icons/icon_edit_key.svg
+++ b/editor/icons/icon_edit_key.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_edit_pivot.svg b/editor/icons/icon_edit_pivot.svg
index ae303535b49..140fbd629fc 100644
--- a/editor/icons/icon_edit_pivot.svg
+++ b/editor/icons/icon_edit_pivot.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_edit_resource.svg b/editor/icons/icon_edit_resource.svg
index e16ca003559..3b14428b903 100644
--- a/editor/icons/icon_edit_resource.svg
+++ b/editor/icons/icon_edit_resource.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_3d_handle.svg b/editor/icons/icon_editor_3d_handle.svg
index 687a5b184dc..f63234f4105 100644
--- a/editor/icons/icon_editor_3d_handle.svg
+++ b/editor/icons/icon_editor_3d_handle.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_control_anchor.svg b/editor/icons/icon_editor_control_anchor.svg
index 11e2bb51754..4574f5d7be3 100644
--- a/editor/icons/icon_editor_control_anchor.svg
+++ b/editor/icons/icon_editor_control_anchor.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_curve_handle.svg b/editor/icons/icon_editor_curve_handle.svg
index c405ceab9da..ea69f4e4ccc 100644
--- a/editor/icons/icon_editor_curve_handle.svg
+++ b/editor/icons/icon_editor_curve_handle.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_handle.svg b/editor/icons/icon_editor_handle.svg
index 8b11e782dbf..a56e64bde37 100644
--- a/editor/icons/icon_editor_handle.svg
+++ b/editor/icons/icon_editor_handle.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_handle_add.svg b/editor/icons/icon_editor_handle_add.svg
index bf3b604d5c2..82d3730d3cc 100644
--- a/editor/icons/icon_editor_handle_add.svg
+++ b/editor/icons/icon_editor_handle_add.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_internal_handle.svg b/editor/icons/icon_editor_internal_handle.svg
index 244e6b5d6c7..dbb7bc289f4 100644
--- a/editor/icons/icon_editor_internal_handle.svg
+++ b/editor/icons/icon_editor_internal_handle.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_path_sharp_handle.svg b/editor/icons/icon_editor_path_sharp_handle.svg
index db160dfeaec..328dc04677d 100644
--- a/editor/icons/icon_editor_path_sharp_handle.svg
+++ b/editor/icons/icon_editor_path_sharp_handle.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_path_smooth_handle.svg b/editor/icons/icon_editor_path_smooth_handle.svg
index 34f3d290bd3..b498345d5a2 100644
--- a/editor/icons/icon_editor_path_smooth_handle.svg
+++ b/editor/icons/icon_editor_path_smooth_handle.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_pivot.svg b/editor/icons/icon_editor_pivot.svg
index 8e00f605305..ecb5dd95b77 100644
--- a/editor/icons/icon_editor_pivot.svg
+++ b/editor/icons/icon_editor_pivot.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_plugin.svg b/editor/icons/icon_editor_plugin.svg
index 72f2bd5c28d..7008762fa8c 100644
--- a/editor/icons/icon_editor_plugin.svg
+++ b/editor/icons/icon_editor_plugin.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_position.svg b/editor/icons/icon_editor_position.svg
index 7b17fb5aa36..09f09feffce 100644
--- a/editor/icons/icon_editor_position.svg
+++ b/editor/icons/icon_editor_position.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_position_previous.svg b/editor/icons/icon_editor_position_previous.svg
index 8c1d2992a57..ba69650d817 100644
--- a/editor/icons/icon_editor_position_previous.svg
+++ b/editor/icons/icon_editor_position_previous.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_editor_position_unselected.svg b/editor/icons/icon_editor_position_unselected.svg
index b9a38ca371d..881fcab0790 100644
--- a/editor/icons/icon_editor_position_unselected.svg
+++ b/editor/icons/icon_editor_position_unselected.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_enum.svg b/editor/icons/icon_enum.svg
index efa3050e95f..45d2c7e24c2 100644
--- a/editor/icons/icon_enum.svg
+++ b/editor/icons/icon_enum.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_environment.svg b/editor/icons/icon_environment.svg
index ee29342942e..f42ae39bc09 100644
--- a/editor/icons/icon_environment.svg
+++ b/editor/icons/icon_environment.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_error.svg b/editor/icons/icon_error.svg
index 05e548068dd..4b306ae1cad 100644
--- a/editor/icons/icon_error.svg
+++ b/editor/icons/icon_error.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_error_sign.svg b/editor/icons/icon_error_sign.svg
index 96aace5c0cb..85a2cda3462 100644
--- a/editor/icons/icon_error_sign.svg
+++ b/editor/icons/icon_error_sign.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_error_warning.svg b/editor/icons/icon_error_warning.svg
index 72b5037e50a..53b7be2763f 100644
--- a/editor/icons/icon_error_warning.svg
+++ b/editor/icons/icon_error_warning.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_expand_bottom_dock.svg b/editor/icons/icon_expand_bottom_dock.svg
index 09cc3b9b07a..636d4f8b833 100644
--- a/editor/icons/icon_expand_bottom_dock.svg
+++ b/editor/icons/icon_expand_bottom_dock.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_favorites.svg b/editor/icons/icon_favorites.svg
index 79e0c8475e2..67f62f26d50 100644
--- a/editor/icons/icon_favorites.svg
+++ b/editor/icons/icon_favorites.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_file.svg b/editor/icons/icon_file.svg
index 22d330fd56b..d3c01ca45ed 100644
--- a/editor/icons/icon_file.svg
+++ b/editor/icons/icon_file.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_file_big_thumb.svg b/editor/icons/icon_file_big_thumb.svg
index 50900ab6842..214bd1d56bb 100644
--- a/editor/icons/icon_file_big_thumb.svg
+++ b/editor/icons/icon_file_big_thumb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_file_broken.svg b/editor/icons/icon_file_broken.svg
index af79f02c124..2f5099aa29c 100644
--- a/editor/icons/icon_file_broken.svg
+++ b/editor/icons/icon_file_broken.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_file_broken_big_thumb.svg b/editor/icons/icon_file_broken_big_thumb.svg
index 08dee26f1c7..effaa0afe95 100644
--- a/editor/icons/icon_file_broken_big_thumb.svg
+++ b/editor/icons/icon_file_broken_big_thumb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_file_dead.svg b/editor/icons/icon_file_dead.svg
index c40aa1b9a44..f8df831a22b 100644
--- a/editor/icons/icon_file_dead.svg
+++ b/editor/icons/icon_file_dead.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_file_dead_big_thumb.svg b/editor/icons/icon_file_dead_big_thumb.svg
index 79369873a66..ca4578e7b72 100644
--- a/editor/icons/icon_file_dead_big_thumb.svg
+++ b/editor/icons/icon_file_dead_big_thumb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_file_dead_medium_thumb.svg b/editor/icons/icon_file_dead_medium_thumb.svg
index 62496daaaeb..2d1808b90a7 100644
--- a/editor/icons/icon_file_dead_medium_thumb.svg
+++ b/editor/icons/icon_file_dead_medium_thumb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_file_dialog.svg b/editor/icons/icon_file_dialog.svg
index 7708659c217..0897767b608 100644
--- a/editor/icons/icon_file_dialog.svg
+++ b/editor/icons/icon_file_dialog.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_file_list.svg b/editor/icons/icon_file_list.svg
index e47c8b18cbd..3ba49153506 100644
--- a/editor/icons/icon_file_list.svg
+++ b/editor/icons/icon_file_list.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_file_medium_thumb.svg b/editor/icons/icon_file_medium_thumb.svg
index 4c7d78b58ea..0c2b467bf9d 100644
--- a/editor/icons/icon_file_medium_thumb.svg
+++ b/editor/icons/icon_file_medium_thumb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_file_thumbnail.svg b/editor/icons/icon_file_thumbnail.svg
index 571335a9352..5cf0ddc3f8d 100644
--- a/editor/icons/icon_file_thumbnail.svg
+++ b/editor/icons/icon_file_thumbnail.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_filesystem.svg b/editor/icons/icon_filesystem.svg
index da6fa2ad604..a5e1c2f8a91 100644
--- a/editor/icons/icon_filesystem.svg
+++ b/editor/icons/icon_filesystem.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_fixed_material.svg b/editor/icons/icon_fixed_material.svg
index 903691689b9..2c30ecac244 100644
--- a/editor/icons/icon_fixed_material.svg
+++ b/editor/icons/icon_fixed_material.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_fixed_spatial_material.svg b/editor/icons/icon_fixed_spatial_material.svg
index ba1e2510886..67012085604 100644
--- a/editor/icons/icon_fixed_spatial_material.svg
+++ b/editor/icons/icon_fixed_spatial_material.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_float.svg b/editor/icons/icon_float.svg
index 5c09d4c244d..1e931ad9306 100644
--- a/editor/icons/icon_float.svg
+++ b/editor/icons/icon_float.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_folder.svg b/editor/icons/icon_folder.svg
index 00ff7a95e94..c2def257ea0 100644
--- a/editor/icons/icon_folder.svg
+++ b/editor/icons/icon_folder.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_folder_big_thumb.svg b/editor/icons/icon_folder_big_thumb.svg
index a620d17b8f4..db7d9aa550c 100644
--- a/editor/icons/icon_folder_big_thumb.svg
+++ b/editor/icons/icon_folder_big_thumb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_folder_medium_thumb.svg b/editor/icons/icon_folder_medium_thumb.svg
index 431650aff0e..4e9f72e760d 100644
--- a/editor/icons/icon_folder_medium_thumb.svg
+++ b/editor/icons/icon_folder_medium_thumb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_font.svg b/editor/icons/icon_font.svg
index 4b71b59d2e5..2c8d7cb43ed 100644
--- a/editor/icons/icon_font.svg
+++ b/editor/icons/icon_font.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_forward.svg b/editor/icons/icon_forward.svg
index aecd4b362c1..6eab4884bc5 100644
--- a/editor/icons/icon_forward.svg
+++ b/editor/icons/icon_forward.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_g_i_probe.svg b/editor/icons/icon_g_i_probe.svg
index 5a5bfd3c5a9..b66c937317b 100644
--- a/editor/icons/icon_g_i_probe.svg
+++ b/editor/icons/icon_g_i_probe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_g_i_probe_data.svg b/editor/icons/icon_g_i_probe_data.svg
index d4765be30f8..5975115f4c6 100644
--- a/editor/icons/icon_g_i_probe_data.svg
+++ b/editor/icons/icon_g_i_probe_data.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_generic_6_d_o_f_joint.svg b/editor/icons/icon_generic_6_d_o_f_joint.svg
index 30d892e7a1d..63df5fc507f 100644
--- a/editor/icons/icon_generic_6_d_o_f_joint.svg
+++ b/editor/icons/icon_generic_6_d_o_f_joint.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_baked_lightmap.svg b/editor/icons/icon_gizmo_baked_lightmap.svg
index 9568f7ff254..a7828615fd0 100644
--- a/editor/icons/icon_gizmo_baked_lightmap.svg
+++ b/editor/icons/icon_gizmo_baked_lightmap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_c_p_u_particles.svg b/editor/icons/icon_gizmo_c_p_u_particles.svg
index d4e86d9c429..785cd81625a 100644
--- a/editor/icons/icon_gizmo_c_p_u_particles.svg
+++ b/editor/icons/icon_gizmo_c_p_u_particles.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_camera.svg b/editor/icons/icon_gizmo_camera.svg
index f28efb813e1..1fa21861970 100644
--- a/editor/icons/icon_gizmo_camera.svg
+++ b/editor/icons/icon_gizmo_camera.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_directional_light.svg b/editor/icons/icon_gizmo_directional_light.svg
index dc2d6bf82d6..041a6947735 100644
--- a/editor/icons/icon_gizmo_directional_light.svg
+++ b/editor/icons/icon_gizmo_directional_light.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_g_i_probe.svg b/editor/icons/icon_gizmo_g_i_probe.svg
index c792dc5a280..ff3cafa1f58 100644
--- a/editor/icons/icon_gizmo_g_i_probe.svg
+++ b/editor/icons/icon_gizmo_g_i_probe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_light.svg b/editor/icons/icon_gizmo_light.svg
index 1e47082a0a0..ab828c800ef 100644
--- a/editor/icons/icon_gizmo_light.svg
+++ b/editor/icons/icon_gizmo_light.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_listener.svg b/editor/icons/icon_gizmo_listener.svg
index 9e28c7730f8..9d3ddf8b857 100644
--- a/editor/icons/icon_gizmo_listener.svg
+++ b/editor/icons/icon_gizmo_listener.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_particles.svg b/editor/icons/icon_gizmo_particles.svg
index 1c5d8c5f2dc..126ece6d4da 100644
--- a/editor/icons/icon_gizmo_particles.svg
+++ b/editor/icons/icon_gizmo_particles.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_reflection_probe.svg b/editor/icons/icon_gizmo_reflection_probe.svg
index 82136821c77..60895a18af7 100644
--- a/editor/icons/icon_gizmo_reflection_probe.svg
+++ b/editor/icons/icon_gizmo_reflection_probe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_spatial_sample_player.svg b/editor/icons/icon_gizmo_spatial_sample_player.svg
index ee471124dc6..d174bcfe072 100644
--- a/editor/icons/icon_gizmo_spatial_sample_player.svg
+++ b/editor/icons/icon_gizmo_spatial_sample_player.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_spatial_stream_player.svg b/editor/icons/icon_gizmo_spatial_stream_player.svg
index 473fd2c2cde..b37b14d8a86 100644
--- a/editor/icons/icon_gizmo_spatial_stream_player.svg
+++ b/editor/icons/icon_gizmo_spatial_stream_player.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gizmo_spot_light.svg b/editor/icons/icon_gizmo_spot_light.svg
index 23a8364679c..18696c2cdc2 100644
--- a/editor/icons/icon_gizmo_spot_light.svg
+++ b/editor/icons/icon_gizmo_spot_light.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_godot.svg b/editor/icons/icon_godot.svg
index 8ca9fdcabd5..4887425f4cf 100644
--- a/editor/icons/icon_godot.svg
+++ b/editor/icons/icon_godot.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_godot_docs.svg b/editor/icons/icon_godot_docs.svg
index e38885aed94..97010d5fde0 100644
--- a/editor/icons/icon_godot_docs.svg
+++ b/editor/icons/icon_godot_docs.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gradient.svg b/editor/icons/icon_gradient.svg
index b67a9e6f8a9..47dde294fcf 100644
--- a/editor/icons/icon_gradient.svg
+++ b/editor/icons/icon_gradient.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gradient_texture.svg b/editor/icons/icon_gradient_texture.svg
index 1388c141bd2..ec4c4546e13 100644
--- a/editor/icons/icon_gradient_texture.svg
+++ b/editor/icons/icon_gradient_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_graph_edit.svg b/editor/icons/icon_graph_edit.svg
index 7ab72452607..b879259ffc2 100644
--- a/editor/icons/icon_graph_edit.svg
+++ b/editor/icons/icon_graph_edit.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_graph_node.svg b/editor/icons/icon_graph_node.svg
index c8d4fda9103..bcd7bfc1c1b 100644
--- a/editor/icons/icon_graph_node.svg
+++ b/editor/icons/icon_graph_node.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_grid.svg b/editor/icons/icon_grid.svg
index 869bc649fe2..8353ad7d196 100644
--- a/editor/icons/icon_grid.svg
+++ b/editor/icons/icon_grid.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_grid_container.svg b/editor/icons/icon_grid_container.svg
index 9fffd8b3423..fb6207d94b4 100644
--- a/editor/icons/icon_grid_container.svg
+++ b/editor/icons/icon_grid_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_groove_joint_2d.svg b/editor/icons/icon_groove_joint_2d.svg
index a2c7b741adf..41cf64ad660 100644
--- a/editor/icons/icon_groove_joint_2d.svg
+++ b/editor/icons/icon_groove_joint_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_group.svg b/editor/icons/icon_group.svg
index 7e0b2f36753..19601795d8c 100644
--- a/editor/icons/icon_group.svg
+++ b/editor/icons/icon_group.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_group_viewport.svg b/editor/icons/icon_group_viewport.svg
index 768c87e18df..1c22046ba19 100644
--- a/editor/icons/icon_group_viewport.svg
+++ b/editor/icons/icon_group_viewport.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_groups.svg b/editor/icons/icon_groups.svg
index 5c8bd73f0fc..80dc6b74457 100644
--- a/editor/icons/icon_groups.svg
+++ b/editor/icons/icon_groups.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gui_close.svg b/editor/icons/icon_gui_close.svg
index 35960618772..d8ffa12cfa8 100644
--- a/editor/icons/icon_gui_close.svg
+++ b/editor/icons/icon_gui_close.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gui_close_customizable.svg b/editor/icons/icon_gui_close_customizable.svg
index 35960618772..d8ffa12cfa8 100644
--- a/editor/icons/icon_gui_close_customizable.svg
+++ b/editor/icons/icon_gui_close_customizable.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gui_graph_node_port.svg b/editor/icons/icon_gui_graph_node_port.svg
index 2023a30ead6..f87f361825d 100644
--- a/editor/icons/icon_gui_graph_node_port.svg
+++ b/editor/icons/icon_gui_graph_node_port.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_gui_resizer.svg b/editor/icons/icon_gui_resizer.svg
index 545a1c96121..c7bee36b494 100644
--- a/editor/icons/icon_gui_resizer.svg
+++ b/editor/icons/icon_gui_resizer.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_h_box_container.svg b/editor/icons/icon_h_box_container.svg
index 0ddbaf5a2e5..791fca0ebc9 100644
--- a/editor/icons/icon_h_box_container.svg
+++ b/editor/icons/icon_h_box_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_h_scroll_bar.svg b/editor/icons/icon_h_scroll_bar.svg
index 039ebdf0c1d..5828ccb388a 100644
--- a/editor/icons/icon_h_scroll_bar.svg
+++ b/editor/icons/icon_h_scroll_bar.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_h_separator.svg b/editor/icons/icon_h_separator.svg
index 762992acb83..d786767be87 100644
--- a/editor/icons/icon_h_separator.svg
+++ b/editor/icons/icon_h_separator.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_h_slider.svg b/editor/icons/icon_h_slider.svg
index 20fbf0d00b3..0ab453bbce3 100644
--- a/editor/icons/icon_h_slider.svg
+++ b/editor/icons/icon_h_slider.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_h_split_container.svg b/editor/icons/icon_h_split_container.svg
index ae7c05ee615..796e331ef57 100644
--- a/editor/icons/icon_h_split_container.svg
+++ b/editor/icons/icon_h_split_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_h_t_t_p_request.svg b/editor/icons/icon_h_t_t_p_request.svg
index c79af15a431..1a2187fe15c 100644
--- a/editor/icons/icon_h_t_t_p_request.svg
+++ b/editor/icons/icon_h_t_t_p_request.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_headphones.svg b/editor/icons/icon_headphones.svg
index 82ef7acb297..76f92d58a75 100644
--- a/editor/icons/icon_headphones.svg
+++ b/editor/icons/icon_headphones.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_height_map_shape.svg b/editor/icons/icon_height_map_shape.svg
index 2e0bf53565a..0ffff968505 100644
--- a/editor/icons/icon_height_map_shape.svg
+++ b/editor/icons/icon_height_map_shape.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_help.svg b/editor/icons/icon_help.svg
index d993c95982a..65f3100164e 100644
--- a/editor/icons/icon_help.svg
+++ b/editor/icons/icon_help.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_help_search.svg b/editor/icons/icon_help_search.svg
index 4a82ba23c76..89c8735432f 100644
--- a/editor/icons/icon_help_search.svg
+++ b/editor/icons/icon_help_search.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_hinge_joint.svg b/editor/icons/icon_hinge_joint.svg
index 21b3e29cb59..ca97169d82b 100644
--- a/editor/icons/icon_hinge_joint.svg
+++ b/editor/icons/icon_hinge_joint.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_history.svg b/editor/icons/icon_history.svg
index 48eed7b0c8c..45bc5650885 100644
--- a/editor/icons/icon_history.svg
+++ b/editor/icons/icon_history.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_hsize.svg b/editor/icons/icon_hsize.svg
index 075bab1050d..c7b62e58c89 100644
--- a/editor/icons/icon_hsize.svg
+++ b/editor/icons/icon_hsize.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_image.svg b/editor/icons/icon_image.svg
index f3beda898e1..ddf97ec59e4 100644
--- a/editor/icons/icon_image.svg
+++ b/editor/icons/icon_image.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_image_texture.svg b/editor/icons/icon_image_texture.svg
index 6e9905881bb..013e847db30 100644
--- a/editor/icons/icon_image_texture.svg
+++ b/editor/icons/icon_image_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_immediate_geometry.svg b/editor/icons/icon_immediate_geometry.svg
index 5679d5906fd..876d752cedf 100644
--- a/editor/icons/icon_immediate_geometry.svg
+++ b/editor/icons/icon_immediate_geometry.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_import_check.svg b/editor/icons/icon_import_check.svg
index b2b967f37a4..0e6b0a7105b 100644
--- a/editor/icons/icon_import_check.svg
+++ b/editor/icons/icon_import_check.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_import_fail.svg b/editor/icons/icon_import_fail.svg
index 6c81f88d9f3..6e34dfc4057 100644
--- a/editor/icons/icon_import_fail.svg
+++ b/editor/icons/icon_import_fail.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_information_sign.svg b/editor/icons/icon_information_sign.svg
index a99be1b0420..8cf1ac78e3c 100644
--- a/editor/icons/icon_information_sign.svg
+++ b/editor/icons/icon_information_sign.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_insert_after.svg b/editor/icons/icon_insert_after.svg
index cab00048ac2..b75df837bde 100644
--- a/editor/icons/icon_insert_after.svg
+++ b/editor/icons/icon_insert_after.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_insert_before.svg b/editor/icons/icon_insert_before.svg
index 366be3a1e60..44c876fc767 100644
--- a/editor/icons/icon_insert_before.svg
+++ b/editor/icons/icon_insert_before.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_instance.svg b/editor/icons/icon_instance.svg
index 8fc985bb51e..f0b8a04c7d3 100644
--- a/editor/icons/icon_instance.svg
+++ b/editor/icons/icon_instance.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_instance_options.svg b/editor/icons/icon_instance_options.svg
index ca9a5bcc877..c9ff474fee8 100644
--- a/editor/icons/icon_instance_options.svg
+++ b/editor/icons/icon_instance_options.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_int.svg b/editor/icons/icon_int.svg
index 4226c8cb7e7..f8c88300f7b 100644
--- a/editor/icons/icon_int.svg
+++ b/editor/icons/icon_int.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_interp_cubic.svg b/editor/icons/icon_interp_cubic.svg
index c2dd7db08c3..ad2ed51ee17 100644
--- a/editor/icons/icon_interp_cubic.svg
+++ b/editor/icons/icon_interp_cubic.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_interp_linear.svg b/editor/icons/icon_interp_linear.svg
index 368be15315d..241a82fc8f5 100644
--- a/editor/icons/icon_interp_linear.svg
+++ b/editor/icons/icon_interp_linear.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_interp_raw.svg b/editor/icons/icon_interp_raw.svg
index 1c6ae0062ac..6344155c4b2 100644
--- a/editor/icons/icon_interp_raw.svg
+++ b/editor/icons/icon_interp_raw.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_interp_wrap_clamp.svg b/editor/icons/icon_interp_wrap_clamp.svg
index 9634dc8a07b..6ba8e785009 100644
--- a/editor/icons/icon_interp_wrap_clamp.svg
+++ b/editor/icons/icon_interp_wrap_clamp.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_interp_wrap_loop.svg b/editor/icons/icon_interp_wrap_loop.svg
index 6fbb4356c8d..57670f97ce8 100644
--- a/editor/icons/icon_interp_wrap_loop.svg
+++ b/editor/icons/icon_interp_wrap_loop.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_interpolated_camera.svg b/editor/icons/icon_interpolated_camera.svg
index 4bc4ba1ee99..6cbd879326e 100644
--- a/editor/icons/icon_interpolated_camera.svg
+++ b/editor/icons/icon_interpolated_camera.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_inverse_kinematics.svg b/editor/icons/icon_inverse_kinematics.svg
index a98c989cccd..e4a076fbbdf 100644
--- a/editor/icons/icon_inverse_kinematics.svg
+++ b/editor/icons/icon_inverse_kinematics.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_issue.svg b/editor/icons/icon_issue.svg
index ddaaf414408..457d070d89d 100644
--- a/editor/icons/icon_issue.svg
+++ b/editor/icons/icon_issue.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_item_list.svg b/editor/icons/icon_item_list.svg
index 311ed08a446..fb98a706a9a 100644
--- a/editor/icons/icon_item_list.svg
+++ b/editor/icons/icon_item_list.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_joy_axis.svg b/editor/icons/icon_joy_axis.svg
index cb7b5cdf8fd..1ab65f0af09 100644
--- a/editor/icons/icon_joy_axis.svg
+++ b/editor/icons/icon_joy_axis.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_joy_button.svg b/editor/icons/icon_joy_button.svg
index 9f4fbfdf2d4..080d91ad53a 100644
--- a/editor/icons/icon_joy_button.svg
+++ b/editor/icons/icon_joy_button.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_joypad.svg b/editor/icons/icon_joypad.svg
index 8cb5de0c0e2..3c6bbf2980d 100644
--- a/editor/icons/icon_joypad.svg
+++ b/editor/icons/icon_joypad.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key.svg b/editor/icons/icon_key.svg
index d134735c537..544ebe5a479 100644
--- a/editor/icons/icon_key.svg
+++ b/editor/icons/icon_key.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_animation.svg b/editor/icons/icon_key_animation.svg
index 6db513ca26d..5afd5bdb704 100644
--- a/editor/icons/icon_key_animation.svg
+++ b/editor/icons/icon_key_animation.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_audio.svg b/editor/icons/icon_key_audio.svg
index 75576885ec5..e1a93529a6c 100644
--- a/editor/icons/icon_key_audio.svg
+++ b/editor/icons/icon_key_audio.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_bezier.svg b/editor/icons/icon_key_bezier.svg
index dc5800fd5aa..cd41f953b15 100644
--- a/editor/icons/icon_key_bezier.svg
+++ b/editor/icons/icon_key_bezier.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_bezier_handle.svg b/editor/icons/icon_key_bezier_handle.svg
index 9f00f613045..a2b58118e34 100644
--- a/editor/icons/icon_key_bezier_handle.svg
+++ b/editor/icons/icon_key_bezier_handle.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_bezier_point.svg b/editor/icons/icon_key_bezier_point.svg
index 0edb55cda13..266da4c2002 100644
--- a/editor/icons/icon_key_bezier_point.svg
+++ b/editor/icons/icon_key_bezier_point.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_bezier_selected.svg b/editor/icons/icon_key_bezier_selected.svg
index 9e50e2bdf1d..e8536e97b40 100644
--- a/editor/icons/icon_key_bezier_selected.svg
+++ b/editor/icons/icon_key_bezier_selected.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_call.svg b/editor/icons/icon_key_call.svg
index 6cc442c391a..dd47272d4f5 100644
--- a/editor/icons/icon_key_call.svg
+++ b/editor/icons/icon_key_call.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_hover.svg b/editor/icons/icon_key_hover.svg
index 417621716b9..b67d7ff78db 100644
--- a/editor/icons/icon_key_hover.svg
+++ b/editor/icons/icon_key_hover.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_invalid.svg b/editor/icons/icon_key_invalid.svg
index 8ac9445b31d..4a04c1ee659 100644
--- a/editor/icons/icon_key_invalid.svg
+++ b/editor/icons/icon_key_invalid.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_next.svg b/editor/icons/icon_key_next.svg
index 2d064e7e862..a2b616072b7 100644
--- a/editor/icons/icon_key_next.svg
+++ b/editor/icons/icon_key_next.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_position.svg b/editor/icons/icon_key_position.svg
index d152b76e8d6..260a6f582f7 100644
--- a/editor/icons/icon_key_position.svg
+++ b/editor/icons/icon_key_position.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_rotation.svg b/editor/icons/icon_key_rotation.svg
index 0d3577eac49..284a8354679 100644
--- a/editor/icons/icon_key_rotation.svg
+++ b/editor/icons/icon_key_rotation.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_scale.svg b/editor/icons/icon_key_scale.svg
index a1214db62ed..84805191f2c 100644
--- a/editor/icons/icon_key_scale.svg
+++ b/editor/icons/icon_key_scale.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_selected.svg b/editor/icons/icon_key_selected.svg
index 6594aec6eec..32f900bdd6b 100644
--- a/editor/icons/icon_key_selected.svg
+++ b/editor/icons/icon_key_selected.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_value.svg b/editor/icons/icon_key_value.svg
index 8a4787d6ed6..2a112e210aa 100644
--- a/editor/icons/icon_key_value.svg
+++ b/editor/icons/icon_key_value.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_key_xform.svg b/editor/icons/icon_key_xform.svg
index 4a567075a72..12f27d32a98 100644
--- a/editor/icons/icon_key_xform.svg
+++ b/editor/icons/icon_key_xform.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_keyboard.svg b/editor/icons/icon_keyboard.svg
index bd8736278d3..75b62fc0e30 100644
--- a/editor/icons/icon_keyboard.svg
+++ b/editor/icons/icon_keyboard.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_kinematic_body.svg b/editor/icons/icon_kinematic_body.svg
index 16078fbdeca..06e9275ec16 100644
--- a/editor/icons/icon_kinematic_body.svg
+++ b/editor/icons/icon_kinematic_body.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_kinematic_body_2d.svg b/editor/icons/icon_kinematic_body_2d.svg
index be9dfa2d271..70faad6a49b 100644
--- a/editor/icons/icon_kinematic_body_2d.svg
+++ b/editor/icons/icon_kinematic_body_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_label.svg b/editor/icons/icon_label.svg
index 24de3985019..bfb1c903f3b 100644
--- a/editor/icons/icon_label.svg
+++ b/editor/icons/icon_label.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_large_texture.svg b/editor/icons/icon_large_texture.svg
index 15920bf3d37..137a761e1d7 100644
--- a/editor/icons/icon_large_texture.svg
+++ b/editor/icons/icon_large_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_light_2d.svg b/editor/icons/icon_light_2d.svg
index 87cfb291494..d660b82c347 100644
--- a/editor/icons/icon_light_2d.svg
+++ b/editor/icons/icon_light_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_light_occluder_2d.svg b/editor/icons/icon_light_occluder_2d.svg
index 2905f9baddc..8c5bb89218c 100644
--- a/editor/icons/icon_light_occluder_2d.svg
+++ b/editor/icons/icon_light_occluder_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_line_2d.svg b/editor/icons/icon_line_2d.svg
index 9728262e50c..a0f9d1e33ce 100644
--- a/editor/icons/icon_line_2d.svg
+++ b/editor/icons/icon_line_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_line_edit.svg b/editor/icons/icon_line_edit.svg
index 4df7a3b2485..54e3190259f 100644
--- a/editor/icons/icon_line_edit.svg
+++ b/editor/icons/icon_line_edit.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_line_shape_2d.svg b/editor/icons/icon_line_shape_2d.svg
index 758c0fbef25..f1dbe97c6f7 100644
--- a/editor/icons/icon_line_shape_2d.svg
+++ b/editor/icons/icon_line_shape_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_link_button.svg b/editor/icons/icon_link_button.svg
index bf7f7657eb6..3a99d241c30 100644
--- a/editor/icons/icon_link_button.svg
+++ b/editor/icons/icon_link_button.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_list_select.svg b/editor/icons/icon_list_select.svg
index 42feb1922bd..9e2bf381d30 100644
--- a/editor/icons/icon_list_select.svg
+++ b/editor/icons/icon_list_select.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_listener.svg b/editor/icons/icon_listener.svg
index 96eaeaffa91..7afbdccd43a 100644
--- a/editor/icons/icon_listener.svg
+++ b/editor/icons/icon_listener.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_load.svg b/editor/icons/icon_load.svg
index 7ee6ae2a2d9..a049454ebba 100644
--- a/editor/icons/icon_load.svg
+++ b/editor/icons/icon_load.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_lock.svg b/editor/icons/icon_lock.svg
index 4136dad5577..1988b9b3313 100644
--- a/editor/icons/icon_lock.svg
+++ b/editor/icons/icon_lock.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_lock_viewport.svg b/editor/icons/icon_lock_viewport.svg
index 99c066055d3..c8b8a57be69 100644
--- a/editor/icons/icon_lock_viewport.svg
+++ b/editor/icons/icon_lock_viewport.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_logo.svg b/editor/icons/icon_logo.svg
index f5379c48d4c..d7aef39cc94 100644
--- a/editor/icons/icon_logo.svg
+++ b/editor/icons/icon_logo.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_loop.svg b/editor/icons/icon_loop.svg
index bbb8dadc064..7fd8561bc43 100644
--- a/editor/icons/icon_loop.svg
+++ b/editor/icons/icon_loop.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_loop_interpolation.svg b/editor/icons/icon_loop_interpolation.svg
index 052a34ab360..5e3f9190433 100644
--- a/editor/icons/icon_loop_interpolation.svg
+++ b/editor/icons/icon_loop_interpolation.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_main_play.svg b/editor/icons/icon_main_play.svg
index 5fd62b94535..5a1d195530f 100644
--- a/editor/icons/icon_main_play.svg
+++ b/editor/icons/icon_main_play.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_margin_container.svg b/editor/icons/icon_margin_container.svg
index f11b415c06d..82e72c0da92 100644
--- a/editor/icons/icon_margin_container.svg
+++ b/editor/icons/icon_margin_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_match_case.svg b/editor/icons/icon_match_case.svg
index 1b348f3d46d..0787b0aa56b 100644
--- a/editor/icons/icon_match_case.svg
+++ b/editor/icons/icon_match_case.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_material_preview_cube.svg b/editor/icons/icon_material_preview_cube.svg
index 7992ce05c1f..29baa9f0303 100644
--- a/editor/icons/icon_material_preview_cube.svg
+++ b/editor/icons/icon_material_preview_cube.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_material_preview_cube_off.svg b/editor/icons/icon_material_preview_cube_off.svg
index 6dfe169eaee..14564c558ea 100644
--- a/editor/icons/icon_material_preview_cube_off.svg
+++ b/editor/icons/icon_material_preview_cube_off.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_material_preview_light_1.svg b/editor/icons/icon_material_preview_light_1.svg
index 3003793013c..8e6954b6abf 100644
--- a/editor/icons/icon_material_preview_light_1.svg
+++ b/editor/icons/icon_material_preview_light_1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_material_preview_light_1_off.svg b/editor/icons/icon_material_preview_light_1_off.svg
index 6948e3d77e2..2f84612e82f 100644
--- a/editor/icons/icon_material_preview_light_1_off.svg
+++ b/editor/icons/icon_material_preview_light_1_off.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_material_preview_light_2.svg b/editor/icons/icon_material_preview_light_2.svg
index 08c05379e4d..cbc5204b3a4 100644
--- a/editor/icons/icon_material_preview_light_2.svg
+++ b/editor/icons/icon_material_preview_light_2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_material_preview_light_2_off.svg b/editor/icons/icon_material_preview_light_2_off.svg
index cc48927ecee..d6ec546e3f1 100644
--- a/editor/icons/icon_material_preview_light_2_off.svg
+++ b/editor/icons/icon_material_preview_light_2_off.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_material_preview_sphere.svg b/editor/icons/icon_material_preview_sphere.svg
index 4f4ef67e202..22c9eef0fb8 100644
--- a/editor/icons/icon_material_preview_sphere.svg
+++ b/editor/icons/icon_material_preview_sphere.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_material_preview_sphere_off.svg b/editor/icons/icon_material_preview_sphere_off.svg
index f702b4fd271..52bb095210c 100644
--- a/editor/icons/icon_material_preview_sphere_off.svg
+++ b/editor/icons/icon_material_preview_sphere_off.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_member_constant.svg b/editor/icons/icon_member_constant.svg
index ec82749cf47..72a6a8363d6 100644
--- a/editor/icons/icon_member_constant.svg
+++ b/editor/icons/icon_member_constant.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_member_method.svg b/editor/icons/icon_member_method.svg
index ea5c64482ca..073525a5aa8 100644
--- a/editor/icons/icon_member_method.svg
+++ b/editor/icons/icon_member_method.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_member_property.svg b/editor/icons/icon_member_property.svg
index 4b6b7ab5df7..475de2be0bc 100644
--- a/editor/icons/icon_member_property.svg
+++ b/editor/icons/icon_member_property.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_member_signal.svg b/editor/icons/icon_member_signal.svg
index 5159e4acd75..07ff88f7c90 100644
--- a/editor/icons/icon_member_signal.svg
+++ b/editor/icons/icon_member_signal.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_member_theme.svg b/editor/icons/icon_member_theme.svg
index 7aaaf2b808f..ad770afafa8 100644
--- a/editor/icons/icon_member_theme.svg
+++ b/editor/icons/icon_member_theme.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_menu_button.svg b/editor/icons/icon_menu_button.svg
index 8c23927783e..ca129bacede 100644
--- a/editor/icons/icon_menu_button.svg
+++ b/editor/icons/icon_menu_button.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_mesh.svg b/editor/icons/icon_mesh.svg
index 0fb9e74584a..c02d5d0613b 100644
--- a/editor/icons/icon_mesh.svg
+++ b/editor/icons/icon_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_mesh_instance.svg b/editor/icons/icon_mesh_instance.svg
index 68344b7dbdc..aa0cf7740b3 100644
--- a/editor/icons/icon_mesh_instance.svg
+++ b/editor/icons/icon_mesh_instance.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_mesh_instance_2d.svg b/editor/icons/icon_mesh_instance_2d.svg
index a173d027714..b8df0768d2c 100644
--- a/editor/icons/icon_mesh_instance_2d.svg
+++ b/editor/icons/icon_mesh_instance_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_mesh_library.svg b/editor/icons/icon_mesh_library.svg
index 13ae8fece76..6e824af1771 100644
--- a/editor/icons/icon_mesh_library.svg
+++ b/editor/icons/icon_mesh_library.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_mesh_texture.svg b/editor/icons/icon_mesh_texture.svg
index b3beff05c0d..988882c960d 100644
--- a/editor/icons/icon_mesh_texture.svg
+++ b/editor/icons/icon_mesh_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_mini_object.svg b/editor/icons/icon_mini_object.svg
index 0b34a9fdbbd..b4a336923d1 100644
--- a/editor/icons/icon_mini_object.svg
+++ b/editor/icons/icon_mini_object.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_mirror_x.svg b/editor/icons/icon_mirror_x.svg
index 445a4e058d9..fa668986ac6 100644
--- a/editor/icons/icon_mirror_x.svg
+++ b/editor/icons/icon_mirror_x.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_mirror_y.svg b/editor/icons/icon_mirror_y.svg
index ebfcf8cabd5..bb4e4d35430 100644
--- a/editor/icons/icon_mirror_y.svg
+++ b/editor/icons/icon_mirror_y.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_mouse.svg b/editor/icons/icon_mouse.svg
index 571288675a6..217512085e9 100644
--- a/editor/icons/icon_mouse.svg
+++ b/editor/icons/icon_mouse.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_move_down.svg b/editor/icons/icon_move_down.svg
index ba0c5d80baa..3c2d771cd5b 100644
--- a/editor/icons/icon_move_down.svg
+++ b/editor/icons/icon_move_down.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_move_left.svg b/editor/icons/icon_move_left.svg
index f4ad280ae16..8f96ee00605 100644
--- a/editor/icons/icon_move_left.svg
+++ b/editor/icons/icon_move_left.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_move_point.svg b/editor/icons/icon_move_point.svg
index a8c11e7cb3e..03b15e47b52 100644
--- a/editor/icons/icon_move_point.svg
+++ b/editor/icons/icon_move_point.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_move_right.svg b/editor/icons/icon_move_right.svg
index 4d1c3b1145e..ee8d1b45a41 100644
--- a/editor/icons/icon_move_right.svg
+++ b/editor/icons/icon_move_right.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_move_up.svg b/editor/icons/icon_move_up.svg
index 87c7834597a..f1302b29846 100644
--- a/editor/icons/icon_move_up.svg
+++ b/editor/icons/icon_move_up.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_multi_edit.svg b/editor/icons/icon_multi_edit.svg
index 9a5b3237b29..d1409e16ca7 100644
--- a/editor/icons/icon_multi_edit.svg
+++ b/editor/icons/icon_multi_edit.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_multi_line.svg b/editor/icons/icon_multi_line.svg
index dd79bb50d8a..634086fd51f 100644
--- a/editor/icons/icon_multi_line.svg
+++ b/editor/icons/icon_multi_line.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_multi_mesh.svg b/editor/icons/icon_multi_mesh.svg
index d317129ef4f..6ee638db4c9 100644
--- a/editor/icons/icon_multi_mesh.svg
+++ b/editor/icons/icon_multi_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_multi_mesh_instance.svg b/editor/icons/icon_multi_mesh_instance.svg
index c114a725dba..61d728c4be6 100644
--- a/editor/icons/icon_multi_mesh_instance.svg
+++ b/editor/icons/icon_multi_mesh_instance.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_multi_mesh_instance_2d.svg b/editor/icons/icon_multi_mesh_instance_2d.svg
index 6c54a63ae2d..07c72aeed12 100644
--- a/editor/icons/icon_multi_mesh_instance_2d.svg
+++ b/editor/icons/icon_multi_mesh_instance_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_navigation.svg b/editor/icons/icon_navigation.svg
index d5a8f8618b1..74c8e204a34 100644
--- a/editor/icons/icon_navigation.svg
+++ b/editor/icons/icon_navigation.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_navigation_2d.svg b/editor/icons/icon_navigation_2d.svg
index 79dc532aee0..6725400e92c 100644
--- a/editor/icons/icon_navigation_2d.svg
+++ b/editor/icons/icon_navigation_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_navigation_mesh.svg b/editor/icons/icon_navigation_mesh.svg
index 9bc4a00d53f..45bc51ac31d 100644
--- a/editor/icons/icon_navigation_mesh.svg
+++ b/editor/icons/icon_navigation_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_navigation_mesh_instance.svg b/editor/icons/icon_navigation_mesh_instance.svg
index 737d9c319df..c976e51bfc2 100644
--- a/editor/icons/icon_navigation_mesh_instance.svg
+++ b/editor/icons/icon_navigation_mesh_instance.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_navigation_polygon.svg b/editor/icons/icon_navigation_polygon.svg
index df2ddb07f6f..d0fc822f425 100644
--- a/editor/icons/icon_navigation_polygon.svg
+++ b/editor/icons/icon_navigation_polygon.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_navigation_polygon_instance.svg b/editor/icons/icon_navigation_polygon_instance.svg
index e16d10614ec..3e9a452c9f6 100644
--- a/editor/icons/icon_navigation_polygon_instance.svg
+++ b/editor/icons/icon_navigation_polygon_instance.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_new.svg b/editor/icons/icon_new.svg
index a3199e3fba0..efc897cb4f9 100644
--- a/editor/icons/icon_new.svg
+++ b/editor/icons/icon_new.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_new_root.svg b/editor/icons/icon_new_root.svg
index d32777d507b..061ff6043a0 100644
--- a/editor/icons/icon_new_root.svg
+++ b/editor/icons/icon_new_root.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_nil.svg b/editor/icons/icon_nil.svg
index 04a29abaaad..e4fbb903898 100644
--- a/editor/icons/icon_nil.svg
+++ b/editor/icons/icon_nil.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_nine_patch_rect.svg b/editor/icons/icon_nine_patch_rect.svg
index c5b04ec049b..d857b71a46c 100644
--- a/editor/icons/icon_nine_patch_rect.svg
+++ b/editor/icons/icon_nine_patch_rect.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_node.svg b/editor/icons/icon_node.svg
index 93f0ce80b16..199f94e890a 100644
--- a/editor/icons/icon_node.svg
+++ b/editor/icons/icon_node.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_node_2d.svg b/editor/icons/icon_node_2d.svg
index 5ca5754daab..7f27e0695fa 100644
--- a/editor/icons/icon_node_2d.svg
+++ b/editor/icons/icon_node_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_node_path.svg b/editor/icons/icon_node_path.svg
index 580283b75a3..3ecb830bec6 100644
--- a/editor/icons/icon_node_path.svg
+++ b/editor/icons/icon_node_path.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_node_warning.svg b/editor/icons/icon_node_warning.svg
index 587a49412e3..f40d539a39c 100644
--- a/editor/icons/icon_node_warning.svg
+++ b/editor/icons/icon_node_warning.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_non_favorite.svg b/editor/icons/icon_non_favorite.svg
index eb0ebf052c3..29bdc8bdfd4 100644
--- a/editor/icons/icon_non_favorite.svg
+++ b/editor/icons/icon_non_favorite.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_object.svg b/editor/icons/icon_object.svg
index c3d1b47538a..b1fa85d6085 100644
--- a/editor/icons/icon_object.svg
+++ b/editor/icons/icon_object.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_occluder_polygon_2d.svg b/editor/icons/icon_occluder_polygon_2d.svg
index 19244f35caa..cdceb164417 100644
--- a/editor/icons/icon_occluder_polygon_2d.svg
+++ b/editor/icons/icon_occluder_polygon_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_omni_light.svg b/editor/icons/icon_omni_light.svg
index 6fa0454e8c8..06b3786ebef 100644
--- a/editor/icons/icon_omni_light.svg
+++ b/editor/icons/icon_omni_light.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_onion.svg b/editor/icons/icon_onion.svg
index ff1376c3160..ec4137eab9d 100644
--- a/editor/icons/icon_onion.svg
+++ b/editor/icons/icon_onion.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_option_button.svg b/editor/icons/icon_option_button.svg
index 6b4402481d2..50e6fae2180 100644
--- a/editor/icons/icon_option_button.svg
+++ b/editor/icons/icon_option_button.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_overbright_indicator.svg b/editor/icons/icon_overbright_indicator.svg
index 9e6f53b7272..70894361cef 100644
--- a/editor/icons/icon_overbright_indicator.svg
+++ b/editor/icons/icon_overbright_indicator.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_override.svg b/editor/icons/icon_override.svg
index 2d8a1fb3091..cfa9313d8e0 100644
--- a/editor/icons/icon_override.svg
+++ b/editor/icons/icon_override.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_packed_data_container.svg b/editor/icons/icon_packed_data_container.svg
index 18bad53f661..dd08ee4cc0e 100644
--- a/editor/icons/icon_packed_data_container.svg
+++ b/editor/icons/icon_packed_data_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_packed_scene.svg b/editor/icons/icon_packed_scene.svg
index 9c1d88db1c4..6294989a57a 100644
--- a/editor/icons/icon_packed_scene.svg
+++ b/editor/icons/icon_packed_scene.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_paint_vertex.svg b/editor/icons/icon_paint_vertex.svg
index cab3716bf5b..5a13e4b7d0f 100644
--- a/editor/icons/icon_paint_vertex.svg
+++ b/editor/icons/icon_paint_vertex.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_panel.svg b/editor/icons/icon_panel.svg
index 10a67bae7ee..f82822c5a16 100644
--- a/editor/icons/icon_panel.svg
+++ b/editor/icons/icon_panel.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_panel_container.svg b/editor/icons/icon_panel_container.svg
index 08c5492f7e8..017941ba364 100644
--- a/editor/icons/icon_panel_container.svg
+++ b/editor/icons/icon_panel_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_panels_1.svg b/editor/icons/icon_panels_1.svg
index 850aad2cffd..a6fc65a6a56 100644
--- a/editor/icons/icon_panels_1.svg
+++ b/editor/icons/icon_panels_1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_panels_2.svg b/editor/icons/icon_panels_2.svg
index 5f3fc6cf48d..620a2c41c3d 100644
--- a/editor/icons/icon_panels_2.svg
+++ b/editor/icons/icon_panels_2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_panels_2_alt.svg b/editor/icons/icon_panels_2_alt.svg
index edee3a660f7..8d76c785522 100644
--- a/editor/icons/icon_panels_2_alt.svg
+++ b/editor/icons/icon_panels_2_alt.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_panels_3.svg b/editor/icons/icon_panels_3.svg
index 3ddcb5e2efa..1155b5b217b 100644
--- a/editor/icons/icon_panels_3.svg
+++ b/editor/icons/icon_panels_3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_panels_3_alt.svg b/editor/icons/icon_panels_3_alt.svg
index 0f36a24da8c..3ab3b191063 100644
--- a/editor/icons/icon_panels_3_alt.svg
+++ b/editor/icons/icon_panels_3_alt.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_panels_4.svg b/editor/icons/icon_panels_4.svg
index 7b2189087ff..3b12eae80ad 100644
--- a/editor/icons/icon_panels_4.svg
+++ b/editor/icons/icon_panels_4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_panorama_sky.svg b/editor/icons/icon_panorama_sky.svg
index bfff6840bd2..39af3c402fa 100644
--- a/editor/icons/icon_panorama_sky.svg
+++ b/editor/icons/icon_panorama_sky.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_parallax_background.svg b/editor/icons/icon_parallax_background.svg
index 09e6a7d19d9..9d13f3a65d8 100644
--- a/editor/icons/icon_parallax_background.svg
+++ b/editor/icons/icon_parallax_background.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_parallax_layer.svg b/editor/icons/icon_parallax_layer.svg
index d8a5ef5e1f6..64bf68f6047 100644
--- a/editor/icons/icon_parallax_layer.svg
+++ b/editor/icons/icon_parallax_layer.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_particle_attractor_2d.svg b/editor/icons/icon_particle_attractor_2d.svg
index 85f289dc4be..092b77081dd 100644
--- a/editor/icons/icon_particle_attractor_2d.svg
+++ b/editor/icons/icon_particle_attractor_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_particles.svg b/editor/icons/icon_particles.svg
index f1378e3f8c4..25377f9f5ff 100644
--- a/editor/icons/icon_particles.svg
+++ b/editor/icons/icon_particles.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_particles_2d.svg b/editor/icons/icon_particles_2d.svg
index 7151194e368..b291bcda95c 100644
--- a/editor/icons/icon_particles_2d.svg
+++ b/editor/icons/icon_particles_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_particles_material.svg b/editor/icons/icon_particles_material.svg
index af45f9888ad..f9a25530efb 100644
--- a/editor/icons/icon_particles_material.svg
+++ b/editor/icons/icon_particles_material.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_path.svg b/editor/icons/icon_path.svg
index cde9a069030..913fe8abf6d 100644
--- a/editor/icons/icon_path.svg
+++ b/editor/icons/icon_path.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_path_2d.svg b/editor/icons/icon_path_2d.svg
index 8aa0453b88b..5633dcf923e 100644
--- a/editor/icons/icon_path_2d.svg
+++ b/editor/icons/icon_path_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_path_follow.svg b/editor/icons/icon_path_follow.svg
index 8e904ab5a50..c9bd7009dc0 100644
--- a/editor/icons/icon_path_follow.svg
+++ b/editor/icons/icon_path_follow.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_path_follow_2d.svg b/editor/icons/icon_path_follow_2d.svg
index 20a32f2d831..ac0f17240eb 100644
--- a/editor/icons/icon_path_follow_2d.svg
+++ b/editor/icons/icon_path_follow_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pause.svg b/editor/icons/icon_pause.svg
index 14c99713830..724a84f458c 100644
--- a/editor/icons/icon_pause.svg
+++ b/editor/icons/icon_pause.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_physical_bone.svg b/editor/icons/icon_physical_bone.svg
index 0a34eb6e482..55df1f1e19e 100644
--- a/editor/icons/icon_physical_bone.svg
+++ b/editor/icons/icon_physical_bone.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pin.svg b/editor/icons/icon_pin.svg
index 85cd815b647..708eab93332 100644
--- a/editor/icons/icon_pin.svg
+++ b/editor/icons/icon_pin.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pin_joint.svg b/editor/icons/icon_pin_joint.svg
index 147553d3162..12f388b2f76 100644
--- a/editor/icons/icon_pin_joint.svg
+++ b/editor/icons/icon_pin_joint.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pin_joint_2d.svg b/editor/icons/icon_pin_joint_2d.svg
index f1dcafb9234..4e701df7fb3 100644
--- a/editor/icons/icon_pin_joint_2d.svg
+++ b/editor/icons/icon_pin_joint_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pin_pressed.svg b/editor/icons/icon_pin_pressed.svg
index 85cd815b647..708eab93332 100644
--- a/editor/icons/icon_pin_pressed.svg
+++ b/editor/icons/icon_pin_pressed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_plane.svg b/editor/icons/icon_plane.svg
index 3a943af0b3d..edaa86e7727 100644
--- a/editor/icons/icon_plane.svg
+++ b/editor/icons/icon_plane.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_plane_mesh.svg b/editor/icons/icon_plane_mesh.svg
index ddcc623c674..ea9518fc3af 100644
--- a/editor/icons/icon_plane_mesh.svg
+++ b/editor/icons/icon_plane_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_plane_shape.svg b/editor/icons/icon_plane_shape.svg
index 2c90cf6d53d..a73e74ad333 100644
--- a/editor/icons/icon_plane_shape.svg
+++ b/editor/icons/icon_plane_shape.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_play.svg b/editor/icons/icon_play.svg
index 4c16215a683..0be543d1ae5 100644
--- a/editor/icons/icon_play.svg
+++ b/editor/icons/icon_play.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_play_backwards.svg b/editor/icons/icon_play_backwards.svg
index c98f15ea50b..846a6aec199 100644
--- a/editor/icons/icon_play_backwards.svg
+++ b/editor/icons/icon_play_backwards.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_play_custom.svg b/editor/icons/icon_play_custom.svg
index e19a8e70288..118545ec628 100644
--- a/editor/icons/icon_play_custom.svg
+++ b/editor/icons/icon_play_custom.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_play_overlay.svg b/editor/icons/icon_play_overlay.svg
index 1fb2da65969..9b3299d1b94 100644
--- a/editor/icons/icon_play_overlay.svg
+++ b/editor/icons/icon_play_overlay.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_play_scene.svg b/editor/icons/icon_play_scene.svg
index 5e5097fd663..7f8e40fa63b 100644
--- a/editor/icons/icon_play_scene.svg
+++ b/editor/icons/icon_play_scene.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_play_start.svg b/editor/icons/icon_play_start.svg
index 2ade7371e0c..afd12515607 100644
--- a/editor/icons/icon_play_start.svg
+++ b/editor/icons/icon_play_start.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_play_start_backwards.svg b/editor/icons/icon_play_start_backwards.svg
index 195f9a646e8..7d1624a397a 100644
--- a/editor/icons/icon_play_start_backwards.svg
+++ b/editor/icons/icon_play_start_backwards.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_play_travel.svg b/editor/icons/icon_play_travel.svg
index d772476e156..be4ac1fb7ec 100644
--- a/editor/icons/icon_play_travel.svg
+++ b/editor/icons/icon_play_travel.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_plugin_script.svg b/editor/icons/icon_plugin_script.svg
index 0d080c132e4..3fb34879fe3 100644
--- a/editor/icons/icon_plugin_script.svg
+++ b/editor/icons/icon_plugin_script.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_point_mesh.svg b/editor/icons/icon_point_mesh.svg
index 0504b7ff011..184200c5284 100644
--- a/editor/icons/icon_point_mesh.svg
+++ b/editor/icons/icon_point_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_polygon_2_d.svg b/editor/icons/icon_polygon_2_d.svg
index 6767992581a..b74ba3e3421 100644
--- a/editor/icons/icon_polygon_2_d.svg
+++ b/editor/icons/icon_polygon_2_d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_polygon_path_finder.svg b/editor/icons/icon_polygon_path_finder.svg
index b41067d08a9..f400037d808 100644
--- a/editor/icons/icon_polygon_path_finder.svg
+++ b/editor/icons/icon_polygon_path_finder.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pool_byte_array.svg b/editor/icons/icon_pool_byte_array.svg
index 5409a47bc43..95534e44105 100644
--- a/editor/icons/icon_pool_byte_array.svg
+++ b/editor/icons/icon_pool_byte_array.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pool_color_array.svg b/editor/icons/icon_pool_color_array.svg
index 7a312d0e91c..206819ffb6e 100644
--- a/editor/icons/icon_pool_color_array.svg
+++ b/editor/icons/icon_pool_color_array.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pool_int_array.svg b/editor/icons/icon_pool_int_array.svg
index a664b2d5fd8..a1dc417c119 100644
--- a/editor/icons/icon_pool_int_array.svg
+++ b/editor/icons/icon_pool_int_array.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pool_real_array.svg b/editor/icons/icon_pool_real_array.svg
index 734f40cd056..503b0e7b6f6 100644
--- a/editor/icons/icon_pool_real_array.svg
+++ b/editor/icons/icon_pool_real_array.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pool_string_array.svg b/editor/icons/icon_pool_string_array.svg
index 7e66f5f5e57..e9285e21926 100644
--- a/editor/icons/icon_pool_string_array.svg
+++ b/editor/icons/icon_pool_string_array.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pool_vector2_array.svg b/editor/icons/icon_pool_vector2_array.svg
index 170512eb39c..a5c89210457 100644
--- a/editor/icons/icon_pool_vector2_array.svg
+++ b/editor/icons/icon_pool_vector2_array.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_pool_vector3_array.svg b/editor/icons/icon_pool_vector3_array.svg
index cd3578182f6..e1de83908d7 100644
--- a/editor/icons/icon_pool_vector3_array.svg
+++ b/editor/icons/icon_pool_vector3_array.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_popup.svg b/editor/icons/icon_popup.svg
index 93f7e5000d8..70c0803cf3e 100644
--- a/editor/icons/icon_popup.svg
+++ b/editor/icons/icon_popup.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_popup_dialog.svg b/editor/icons/icon_popup_dialog.svg
index d871e56a63e..c432928fc3c 100644
--- a/editor/icons/icon_popup_dialog.svg
+++ b/editor/icons/icon_popup_dialog.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_popup_menu.svg b/editor/icons/icon_popup_menu.svg
index dd7b2bb0fd0..8132064bd69 100644
--- a/editor/icons/icon_popup_menu.svg
+++ b/editor/icons/icon_popup_menu.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_popup_panel.svg b/editor/icons/icon_popup_panel.svg
index 47a5448f5bb..6948873f36d 100644
--- a/editor/icons/icon_popup_panel.svg
+++ b/editor/icons/icon_popup_panel.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_portal.svg b/editor/icons/icon_portal.svg
index 99d626e2f47..e52e0473a68 100644
--- a/editor/icons/icon_portal.svg
+++ b/editor/icons/icon_portal.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_position_2d.svg b/editor/icons/icon_position_2d.svg
index 22d4ab05caa..d5e7ff96216 100644
--- a/editor/icons/icon_position_2d.svg
+++ b/editor/icons/icon_position_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_position_3d.svg b/editor/icons/icon_position_3d.svg
index 0401942d694..da7dfb010a6 100644
--- a/editor/icons/icon_position_3d.svg
+++ b/editor/icons/icon_position_3d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_prism_mesh.svg b/editor/icons/icon_prism_mesh.svg
index c391652adde..bc5f4fb0b10 100644
--- a/editor/icons/icon_prism_mesh.svg
+++ b/editor/icons/icon_prism_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_procedural_sky.svg b/editor/icons/icon_procedural_sky.svg
index 356a966fe96..e463c5fc332 100644
--- a/editor/icons/icon_procedural_sky.svg
+++ b/editor/icons/icon_procedural_sky.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_progress_1.svg b/editor/icons/icon_progress_1.svg
index 01c2f8f334e..07505ddd67c 100644
--- a/editor/icons/icon_progress_1.svg
+++ b/editor/icons/icon_progress_1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_progress_2.svg b/editor/icons/icon_progress_2.svg
index a18ceb03815..0a48f7d3f56 100644
--- a/editor/icons/icon_progress_2.svg
+++ b/editor/icons/icon_progress_2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_progress_3.svg b/editor/icons/icon_progress_3.svg
index 55b01dad83f..a7f0f9c973c 100644
--- a/editor/icons/icon_progress_3.svg
+++ b/editor/icons/icon_progress_3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_progress_4.svg b/editor/icons/icon_progress_4.svg
index a038bbec70f..171920915eb 100644
--- a/editor/icons/icon_progress_4.svg
+++ b/editor/icons/icon_progress_4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_progress_5.svg b/editor/icons/icon_progress_5.svg
index 64144978afc..7289b7b8fe8 100644
--- a/editor/icons/icon_progress_5.svg
+++ b/editor/icons/icon_progress_5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_progress_6.svg b/editor/icons/icon_progress_6.svg
index 83b18062636..3deba6d48cf 100644
--- a/editor/icons/icon_progress_6.svg
+++ b/editor/icons/icon_progress_6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_progress_7.svg b/editor/icons/icon_progress_7.svg
index 77d4321a149..546155dc59e 100644
--- a/editor/icons/icon_progress_7.svg
+++ b/editor/icons/icon_progress_7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_progress_8.svg b/editor/icons/icon_progress_8.svg
index ee76ba4499b..b56ffcb7271 100644
--- a/editor/icons/icon_progress_8.svg
+++ b/editor/icons/icon_progress_8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_progress_bar.svg b/editor/icons/icon_progress_bar.svg
index 70f99e3bbb7..2200cb8ea7f 100644
--- a/editor/icons/icon_progress_bar.svg
+++ b/editor/icons/icon_progress_bar.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_project_icon_loading.svg b/editor/icons/icon_project_icon_loading.svg
index 3802b67654e..5e189a97b04 100644
--- a/editor/icons/icon_project_icon_loading.svg
+++ b/editor/icons/icon_project_icon_loading.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_proximity_group.svg b/editor/icons/icon_proximity_group.svg
index 7df1cc90932..703abc64860 100644
--- a/editor/icons/icon_proximity_group.svg
+++ b/editor/icons/icon_proximity_group.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_proxy_texture.svg b/editor/icons/icon_proxy_texture.svg
index 0c19363cb48..526f21c379b 100644
--- a/editor/icons/icon_proxy_texture.svg
+++ b/editor/icons/icon_proxy_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_quad.svg b/editor/icons/icon_quad.svg
index 4657e0b0bd3..cf07be1d2fd 100644
--- a/editor/icons/icon_quad.svg
+++ b/editor/icons/icon_quad.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_quad_mesh.svg b/editor/icons/icon_quad_mesh.svg
index de0bd3e127b..bee0b2853f4 100644
--- a/editor/icons/icon_quad_mesh.svg
+++ b/editor/icons/icon_quad_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_quat.svg b/editor/icons/icon_quat.svg
index 8702a3041a0..66020e52438 100644
--- a/editor/icons/icon_quat.svg
+++ b/editor/icons/icon_quat.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_r_i_d.svg b/editor/icons/icon_r_i_d.svg
index a6ace54d121..9198e421b1b 100644
--- a/editor/icons/icon_r_i_d.svg
+++ b/editor/icons/icon_r_i_d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_ray_cast.svg b/editor/icons/icon_ray_cast.svg
index e782b27e9fe..4500551463b 100644
--- a/editor/icons/icon_ray_cast.svg
+++ b/editor/icons/icon_ray_cast.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_ray_cast_2d.svg b/editor/icons/icon_ray_cast_2d.svg
index 02faaa51c99..645da1e2dae 100644
--- a/editor/icons/icon_ray_cast_2d.svg
+++ b/editor/icons/icon_ray_cast_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_ray_shape.svg b/editor/icons/icon_ray_shape.svg
index 37c22067405..44d32fe83bb 100644
--- a/editor/icons/icon_ray_shape.svg
+++ b/editor/icons/icon_ray_shape.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_ray_shape_2d.svg b/editor/icons/icon_ray_shape_2d.svg
index 109c254fc39..aa8cee1210c 100644
--- a/editor/icons/icon_ray_shape_2d.svg
+++ b/editor/icons/icon_ray_shape_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rayito.svg b/editor/icons/icon_rayito.svg
index 4fd6a2827b5..1db71c22311 100644
--- a/editor/icons/icon_rayito.svg
+++ b/editor/icons/icon_rayito.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rect2.svg b/editor/icons/icon_rect2.svg
index 25feb52cabb..18dbdf3a12f 100644
--- a/editor/icons/icon_rect2.svg
+++ b/editor/icons/icon_rect2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rectangle_shape_2d.svg b/editor/icons/icon_rectangle_shape_2d.svg
index 437547ece31..f0d6c54dc9a 100644
--- a/editor/icons/icon_rectangle_shape_2d.svg
+++ b/editor/icons/icon_rectangle_shape_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_reference_rect.svg b/editor/icons/icon_reference_rect.svg
index 2fd530d584e..449ca250e33 100644
--- a/editor/icons/icon_reference_rect.svg
+++ b/editor/icons/icon_reference_rect.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_reflection_probe.svg b/editor/icons/icon_reflection_probe.svg
index 6bf9cc90136..ff9263d7981 100644
--- a/editor/icons/icon_reflection_probe.svg
+++ b/editor/icons/icon_reflection_probe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_region_edit.svg b/editor/icons/icon_region_edit.svg
index 8443c0e454b..0bee107e336 100644
--- a/editor/icons/icon_region_edit.svg
+++ b/editor/icons/icon_region_edit.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_reload.svg b/editor/icons/icon_reload.svg
index 223a7253323..1200df1dde1 100644
--- a/editor/icons/icon_reload.svg
+++ b/editor/icons/icon_reload.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_reload_small.svg b/editor/icons/icon_reload_small.svg
index ce707b645a8..9418a57ab1d 100644
--- a/editor/icons/icon_reload_small.svg
+++ b/editor/icons/icon_reload_small.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_remote_transform.svg b/editor/icons/icon_remote_transform.svg
index 2bdf8cd858d..d55e4e4224c 100644
--- a/editor/icons/icon_remote_transform.svg
+++ b/editor/icons/icon_remote_transform.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_remote_transform_2d.svg b/editor/icons/icon_remote_transform_2d.svg
index 51c9e084df7..81a3946d9f8 100644
--- a/editor/icons/icon_remote_transform_2d.svg
+++ b/editor/icons/icon_remote_transform_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_remove.svg b/editor/icons/icon_remove.svg
index 9372eb08b5d..5bcdf8e569e 100644
--- a/editor/icons/icon_remove.svg
+++ b/editor/icons/icon_remove.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_remove_internal.svg b/editor/icons/icon_remove_internal.svg
index 0a7e06e6cd3..1cb5db1c524 100644
--- a/editor/icons/icon_remove_internal.svg
+++ b/editor/icons/icon_remove_internal.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rename.svg b/editor/icons/icon_rename.svg
index 01923e3a0a3..853f68b2e1a 100644
--- a/editor/icons/icon_rename.svg
+++ b/editor/icons/icon_rename.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_reparent.svg b/editor/icons/icon_reparent.svg
index 39b79cd3a16..04efb08b990 100644
--- a/editor/icons/icon_reparent.svg
+++ b/editor/icons/icon_reparent.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_reparent_to_new_node.svg b/editor/icons/icon_reparent_to_new_node.svg
index 37fbee848c0..cca610d2b16 100644
--- a/editor/icons/icon_reparent_to_new_node.svg
+++ b/editor/icons/icon_reparent_to_new_node.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_resource_preloader.svg b/editor/icons/icon_resource_preloader.svg
index 417e63b604f..7a788bbdcb9 100644
--- a/editor/icons/icon_resource_preloader.svg
+++ b/editor/icons/icon_resource_preloader.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rich_text_effect.svg b/editor/icons/icon_rich_text_effect.svg
index afe08685bd3..f1d3f168ff3 100644
--- a/editor/icons/icon_rich_text_effect.svg
+++ b/editor/icons/icon_rich_text_effect.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rich_text_label.svg b/editor/icons/icon_rich_text_label.svg
index 3f4b33707cc..7283d3dd62b 100644
--- a/editor/icons/icon_rich_text_label.svg
+++ b/editor/icons/icon_rich_text_label.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rigid_body.svg b/editor/icons/icon_rigid_body.svg
index 5d766f7c3db..476bf3966a2 100644
--- a/editor/icons/icon_rigid_body.svg
+++ b/editor/icons/icon_rigid_body.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rigid_body_2d.svg b/editor/icons/icon_rigid_body_2d.svg
index bb97fa650b5..9dc626b94e7 100644
--- a/editor/icons/icon_rigid_body_2d.svg
+++ b/editor/icons/icon_rigid_body_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_room.svg b/editor/icons/icon_room.svg
index 799be9f99ac..6491d0409c2 100644
--- a/editor/icons/icon_room.svg
+++ b/editor/icons/icon_room.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_room_bounds.svg b/editor/icons/icon_room_bounds.svg
index ad90944ac61..66901d7895a 100644
--- a/editor/icons/icon_room_bounds.svg
+++ b/editor/icons/icon_room_bounds.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rotate_0.svg b/editor/icons/icon_rotate_0.svg
index 96174ca93b6..670a6f09c3e 100644
--- a/editor/icons/icon_rotate_0.svg
+++ b/editor/icons/icon_rotate_0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rotate_180.svg b/editor/icons/icon_rotate_180.svg
index 11415e1e195..fdd0882fbaa 100644
--- a/editor/icons/icon_rotate_180.svg
+++ b/editor/icons/icon_rotate_180.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rotate_270.svg b/editor/icons/icon_rotate_270.svg
index be26bc4337b..7ffd43d1471 100644
--- a/editor/icons/icon_rotate_270.svg
+++ b/editor/icons/icon_rotate_270.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rotate_90.svg b/editor/icons/icon_rotate_90.svg
index d46c56a1fc1..ef4d631df65 100644
--- a/editor/icons/icon_rotate_90.svg
+++ b/editor/icons/icon_rotate_90.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rotate_left.svg b/editor/icons/icon_rotate_left.svg
index 223a7253323..1200df1dde1 100644
--- a/editor/icons/icon_rotate_left.svg
+++ b/editor/icons/icon_rotate_left.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_rotate_right.svg b/editor/icons/icon_rotate_right.svg
index 2b66bae9982..d69e6a7705b 100644
--- a/editor/icons/icon_rotate_right.svg
+++ b/editor/icons/icon_rotate_right.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_ruler.svg b/editor/icons/icon_ruler.svg
index dbe02102ecf..2f026ed365b 100644
--- a/editor/icons/icon_ruler.svg
+++ b/editor/icons/icon_ruler.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_sample_library.svg b/editor/icons/icon_sample_library.svg
index e83a1a37788..962f7b94130 100644
--- a/editor/icons/icon_sample_library.svg
+++ b/editor/icons/icon_sample_library.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_save.svg b/editor/icons/icon_save.svg
index be5d3ef6fd2..cc99128cb19 100644
--- a/editor/icons/icon_save.svg
+++ b/editor/icons/icon_save.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_script.svg b/editor/icons/icon_script.svg
index 1c6ec51a481..2a47c67def0 100644
--- a/editor/icons/icon_script.svg
+++ b/editor/icons/icon_script.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_script_create.svg b/editor/icons/icon_script_create.svg
index 0a03907a130..91e95eb8c7a 100644
--- a/editor/icons/icon_script_create.svg
+++ b/editor/icons/icon_script_create.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_script_create_dialog.svg b/editor/icons/icon_script_create_dialog.svg
index 751b799ba9c..b10d486587c 100644
--- a/editor/icons/icon_script_create_dialog.svg
+++ b/editor/icons/icon_script_create_dialog.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_script_extend.svg b/editor/icons/icon_script_extend.svg
index efa0077ab15..5aa39e21a95 100644
--- a/editor/icons/icon_script_extend.svg
+++ b/editor/icons/icon_script_extend.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_script_remove.svg b/editor/icons/icon_script_remove.svg
index de67d029472..b455583a6c4 100644
--- a/editor/icons/icon_script_remove.svg
+++ b/editor/icons/icon_script_remove.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_scroll_container.svg b/editor/icons/icon_scroll_container.svg
index 738748ca91e..600590684d4 100644
--- a/editor/icons/icon_scroll_container.svg
+++ b/editor/icons/icon_scroll_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_search.svg b/editor/icons/icon_search.svg
index 04dc4f7372c..fff4a3cb190 100644
--- a/editor/icons/icon_search.svg
+++ b/editor/icons/icon_search.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_segment_shape_2d.svg b/editor/icons/icon_segment_shape_2d.svg
index e4c04ae7c63..3fcbd786255 100644
--- a/editor/icons/icon_segment_shape_2d.svg
+++ b/editor/icons/icon_segment_shape_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_shader.svg b/editor/icons/icon_shader.svg
index 479379d2352..33479326d4e 100644
--- a/editor/icons/icon_shader.svg
+++ b/editor/icons/icon_shader.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_shader_material.svg b/editor/icons/icon_shader_material.svg
index 37c1610f299..ff92f0c3760 100644
--- a/editor/icons/icon_shader_material.svg
+++ b/editor/icons/icon_shader_material.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_short_cut.svg b/editor/icons/icon_short_cut.svg
index f4e302efdbe..4ef16f0401a 100644
--- a/editor/icons/icon_short_cut.svg
+++ b/editor/icons/icon_short_cut.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_signal.svg b/editor/icons/icon_signal.svg
index 82fdf2b0595..91599ffd65b 100644
--- a/editor/icons/icon_signal.svg
+++ b/editor/icons/icon_signal.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_signals.svg b/editor/icons/icon_signals.svg
index 9c09546f840..f3bdd7be140 100644
--- a/editor/icons/icon_signals.svg
+++ b/editor/icons/icon_signals.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_signals_and_groups.svg b/editor/icons/icon_signals_and_groups.svg
index d568296d5f2..319163a0192 100644
--- a/editor/icons/icon_signals_and_groups.svg
+++ b/editor/icons/icon_signals_and_groups.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_skeleton.svg b/editor/icons/icon_skeleton.svg
index 015c842125b..e0780dedd6e 100644
--- a/editor/icons/icon_skeleton.svg
+++ b/editor/icons/icon_skeleton.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_skeleton_2d.svg b/editor/icons/icon_skeleton_2d.svg
index 8e38b5c9719..b34a2a9dca8 100644
--- a/editor/icons/icon_skeleton_2d.svg
+++ b/editor/icons/icon_skeleton_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_skeleton_i_k.svg b/editor/icons/icon_skeleton_i_k.svg
index e69f6e8bf3a..45697a1b42c 100644
--- a/editor/icons/icon_skeleton_i_k.svg
+++ b/editor/icons/icon_skeleton_i_k.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_slider_joint.svg b/editor/icons/icon_slider_joint.svg
index fdd7487bbff..57d22dff6ac 100644
--- a/editor/icons/icon_slider_joint.svg
+++ b/editor/icons/icon_slider_joint.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_slot.svg b/editor/icons/icon_slot.svg
index 24d54297a8c..ec35be6b518 100644
--- a/editor/icons/icon_slot.svg
+++ b/editor/icons/icon_slot.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_snap.svg b/editor/icons/icon_snap.svg
index 632cf6c27d7..8bcf5b3a164 100644
--- a/editor/icons/icon_snap.svg
+++ b/editor/icons/icon_snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_snap_grid.svg b/editor/icons/icon_snap_grid.svg
index a4a1f330536..e3aea781623 100644
--- a/editor/icons/icon_snap_grid.svg
+++ b/editor/icons/icon_snap_grid.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_soft_body.svg b/editor/icons/icon_soft_body.svg
index 2c907df8474..e46691d6a28 100644
--- a/editor/icons/icon_soft_body.svg
+++ b/editor/icons/icon_soft_body.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_sort.svg b/editor/icons/icon_sort.svg
index 0b2f7f7ea9c..a7f01fd24e2 100644
--- a/editor/icons/icon_sort.svg
+++ b/editor/icons/icon_sort.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_spatial.svg b/editor/icons/icon_spatial.svg
index 6a469dde13f..56f6ed55421 100644
--- a/editor/icons/icon_spatial.svg
+++ b/editor/icons/icon_spatial.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_spatial_material.svg b/editor/icons/icon_spatial_material.svg
index cfd994a0fe6..7c52665a89d 100644
--- a/editor/icons/icon_spatial_material.svg
+++ b/editor/icons/icon_spatial_material.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_sphere_mesh.svg b/editor/icons/icon_sphere_mesh.svg
index b01ba46bcf2..66cc8e3cc47 100644
--- a/editor/icons/icon_sphere_mesh.svg
+++ b/editor/icons/icon_sphere_mesh.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_sphere_shape.svg b/editor/icons/icon_sphere_shape.svg
index 4da18a1a386..cc526abcec2 100644
--- a/editor/icons/icon_sphere_shape.svg
+++ b/editor/icons/icon_sphere_shape.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_spin_box.svg b/editor/icons/icon_spin_box.svg
index 728710e4404..a8dc55d8dbd 100644
--- a/editor/icons/icon_spin_box.svg
+++ b/editor/icons/icon_spin_box.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_spot_light.svg b/editor/icons/icon_spot_light.svg
index 6a35ee38902..a1dea938a3b 100644
--- a/editor/icons/icon_spot_light.svg
+++ b/editor/icons/icon_spot_light.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_spring_arm.svg b/editor/icons/icon_spring_arm.svg
index eb0c1ebd7d6..707e408dd91 100644
--- a/editor/icons/icon_spring_arm.svg
+++ b/editor/icons/icon_spring_arm.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_sprite.svg b/editor/icons/icon_sprite.svg
index 26a10625fcc..faae0e444f5 100644
--- a/editor/icons/icon_sprite.svg
+++ b/editor/icons/icon_sprite.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_sprite_3d.svg b/editor/icons/icon_sprite_3d.svg
index 385bb8f87dd..4ccd8f9c486 100644
--- a/editor/icons/icon_sprite_3d.svg
+++ b/editor/icons/icon_sprite_3d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_sprite_frames.svg b/editor/icons/icon_sprite_frames.svg
index f27adcb78cd..8ab0ec2c008 100644
--- a/editor/icons/icon_sprite_frames.svg
+++ b/editor/icons/icon_sprite_frames.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_sprite_sheet.svg b/editor/icons/icon_sprite_sheet.svg
index 9b3eda32873..a162037f991 100644
--- a/editor/icons/icon_sprite_sheet.svg
+++ b/editor/icons/icon_sprite_sheet.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_static_body.svg b/editor/icons/icon_static_body.svg
index de819bd76bf..a4a641f28c3 100644
--- a/editor/icons/icon_static_body.svg
+++ b/editor/icons/icon_static_body.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_static_body_2d.svg b/editor/icons/icon_static_body_2d.svg
index 2d846c54710..66940ad415b 100644
--- a/editor/icons/icon_static_body_2d.svg
+++ b/editor/icons/icon_static_body_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_status_error.svg b/editor/icons/icon_status_error.svg
index ac3060e1559..a9639c87494 100644
--- a/editor/icons/icon_status_error.svg
+++ b/editor/icons/icon_status_error.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_status_success.svg b/editor/icons/icon_status_success.svg
index 4a22c6fc7f9..6e7988100f6 100644
--- a/editor/icons/icon_status_success.svg
+++ b/editor/icons/icon_status_success.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_status_warning.svg b/editor/icons/icon_status_warning.svg
index 4ec16008d77..52d7e422c70 100644
--- a/editor/icons/icon_status_warning.svg
+++ b/editor/icons/icon_status_warning.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_stop.svg b/editor/icons/icon_stop.svg
index 2cb013c0df5..2059eab0784 100644
--- a/editor/icons/icon_stop.svg
+++ b/editor/icons/icon_stop.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_stream_texture.svg b/editor/icons/icon_stream_texture.svg
index e7845e10f3b..068f65dead8 100644
--- a/editor/icons/icon_stream_texture.svg
+++ b/editor/icons/icon_stream_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_string.svg b/editor/icons/icon_string.svg
index 9f3bb0b011d..5b7ade8b1e5 100644
--- a/editor/icons/icon_string.svg
+++ b/editor/icons/icon_string.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_style_box_empty.svg b/editor/icons/icon_style_box_empty.svg
index 0268b03ef23..e1a2bc6888f 100644
--- a/editor/icons/icon_style_box_empty.svg
+++ b/editor/icons/icon_style_box_empty.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_style_box_flat.svg b/editor/icons/icon_style_box_flat.svg
index a6f43be4c88..b24c453f6b4 100644
--- a/editor/icons/icon_style_box_flat.svg
+++ b/editor/icons/icon_style_box_flat.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_style_box_line.svg b/editor/icons/icon_style_box_line.svg
index d7c26aac9df..e92f33b7b03 100644
--- a/editor/icons/icon_style_box_line.svg
+++ b/editor/icons/icon_style_box_line.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_style_box_texture.svg b/editor/icons/icon_style_box_texture.svg
index 6f067a4db4a..89bbc41ef8d 100644
--- a/editor/icons/icon_style_box_texture.svg
+++ b/editor/icons/icon_style_box_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tab_container.svg b/editor/icons/icon_tab_container.svg
index fe0e426ef9f..aeb5507279c 100644
--- a/editor/icons/icon_tab_container.svg
+++ b/editor/icons/icon_tab_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tabs.svg b/editor/icons/icon_tabs.svg
index ad1e9069d0a..4fd4a5cd80e 100644
--- a/editor/icons/icon_tabs.svg
+++ b/editor/icons/icon_tabs.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_test_cube.svg b/editor/icons/icon_test_cube.svg
index 16cf68520f0..bdfb3c893b3 100644
--- a/editor/icons/icon_test_cube.svg
+++ b/editor/icons/icon_test_cube.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_text_edit.svg b/editor/icons/icon_text_edit.svg
index 66f2fca4ba6..366cf6596d9 100644
--- a/editor/icons/icon_text_edit.svg
+++ b/editor/icons/icon_text_edit.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_text_file.svg b/editor/icons/icon_text_file.svg
index d381048212d..f480217dcd1 100644
--- a/editor/icons/icon_text_file.svg
+++ b/editor/icons/icon_text_file.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_texture_3_d.svg b/editor/icons/icon_texture_3_d.svg
index ed8ce3e4eff..6bdc599f6d3 100644
--- a/editor/icons/icon_texture_3_d.svg
+++ b/editor/icons/icon_texture_3_d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_texture_array.svg b/editor/icons/icon_texture_array.svg
index 4631b1449c9..86d4875e122 100644
--- a/editor/icons/icon_texture_array.svg
+++ b/editor/icons/icon_texture_array.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_texture_button.svg b/editor/icons/icon_texture_button.svg
index 6e1d1b64363..497386945e8 100644
--- a/editor/icons/icon_texture_button.svg
+++ b/editor/icons/icon_texture_button.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_texture_progress.svg b/editor/icons/icon_texture_progress.svg
index 5763fde8402..30d76e33b89 100644
--- a/editor/icons/icon_texture_progress.svg
+++ b/editor/icons/icon_texture_progress.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_texture_rect.svg b/editor/icons/icon_texture_rect.svg
index 1d1b5ed8f7b..605afbb7cad 100644
--- a/editor/icons/icon_texture_rect.svg
+++ b/editor/icons/icon_texture_rect.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_theme.svg b/editor/icons/icon_theme.svg
index e16acbfb726..00e1716dad3 100644
--- a/editor/icons/icon_theme.svg
+++ b/editor/icons/icon_theme.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_thumbnail_wait.svg b/editor/icons/icon_thumbnail_wait.svg
index fe242e81fb5..be510f457d2 100644
--- a/editor/icons/icon_thumbnail_wait.svg
+++ b/editor/icons/icon_thumbnail_wait.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tile_map.svg b/editor/icons/icon_tile_map.svg
index afdaeea7e87..d1904338a87 100644
--- a/editor/icons/icon_tile_map.svg
+++ b/editor/icons/icon_tile_map.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tile_set.svg b/editor/icons/icon_tile_set.svg
index 0948e6dae13..5da406889e0 100644
--- a/editor/icons/icon_tile_set.svg
+++ b/editor/icons/icon_tile_set.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_time.svg b/editor/icons/icon_time.svg
index eb411c6858a..63215c9767f 100644
--- a/editor/icons/icon_time.svg
+++ b/editor/icons/icon_time.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_timeline_indicator.svg b/editor/icons/icon_timeline_indicator.svg
index fd18192705f..d63026b9e27 100644
--- a/editor/icons/icon_timeline_indicator.svg
+++ b/editor/icons/icon_timeline_indicator.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_timer.svg b/editor/icons/icon_timer.svg
index d445eeb1ddf..3fc69758bbb 100644
--- a/editor/icons/icon_timer.svg
+++ b/editor/icons/icon_timer.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tool_add_node.svg b/editor/icons/icon_tool_add_node.svg
index 71599c0b0de..9f47019746f 100644
--- a/editor/icons/icon_tool_add_node.svg
+++ b/editor/icons/icon_tool_add_node.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tool_button.svg b/editor/icons/icon_tool_button.svg
index 98a41d2a080..d957cffe64f 100644
--- a/editor/icons/icon_tool_button.svg
+++ b/editor/icons/icon_tool_button.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tool_connect.svg b/editor/icons/icon_tool_connect.svg
index 321f68654a0..a778e260a63 100644
--- a/editor/icons/icon_tool_connect.svg
+++ b/editor/icons/icon_tool_connect.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tool_move.svg b/editor/icons/icon_tool_move.svg
index a02296fed67..b83f62265f0 100644
--- a/editor/icons/icon_tool_move.svg
+++ b/editor/icons/icon_tool_move.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tool_pan.svg b/editor/icons/icon_tool_pan.svg
index e1955426877..28ffe6336a8 100644
--- a/editor/icons/icon_tool_pan.svg
+++ b/editor/icons/icon_tool_pan.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tool_rotate.svg b/editor/icons/icon_tool_rotate.svg
index e25b08cd079..41dd22584de 100644
--- a/editor/icons/icon_tool_rotate.svg
+++ b/editor/icons/icon_tool_rotate.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tool_scale.svg b/editor/icons/icon_tool_scale.svg
index 8fc15272963..730143a474e 100644
--- a/editor/icons/icon_tool_scale.svg
+++ b/editor/icons/icon_tool_scale.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tool_select.svg b/editor/icons/icon_tool_select.svg
index 4285b3181b7..21318b5c054 100644
--- a/editor/icons/icon_tool_select.svg
+++ b/editor/icons/icon_tool_select.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tool_triangle.svg b/editor/icons/icon_tool_triangle.svg
index 17ce12265e9..51dee03f60d 100644
--- a/editor/icons/icon_tool_triangle.svg
+++ b/editor/icons/icon_tool_triangle.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tools.svg b/editor/icons/icon_tools.svg
index dc002d6a4db..81e7385945c 100644
--- a/editor/icons/icon_tools.svg
+++ b/editor/icons/icon_tools.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_touch_screen_button.svg b/editor/icons/icon_touch_screen_button.svg
index d29e411f054..aec0951d598 100644
--- a/editor/icons/icon_touch_screen_button.svg
+++ b/editor/icons/icon_touch_screen_button.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_track_add_key.svg b/editor/icons/icon_track_add_key.svg
index 582003cd9b7..5d2b4ebaf91 100644
--- a/editor/icons/icon_track_add_key.svg
+++ b/editor/icons/icon_track_add_key.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_track_add_key_hl.svg b/editor/icons/icon_track_add_key_hl.svg
index 7f3c60a5628..0a0cdea48cb 100644
--- a/editor/icons/icon_track_add_key_hl.svg
+++ b/editor/icons/icon_track_add_key_hl.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_track_capture.svg b/editor/icons/icon_track_capture.svg
index 51a38ff1fbd..aaa4a20e4a9 100644
--- a/editor/icons/icon_track_capture.svg
+++ b/editor/icons/icon_track_capture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_track_continuous.svg b/editor/icons/icon_track_continuous.svg
index 2e89cdd8219..7f64ad7dbbc 100644
--- a/editor/icons/icon_track_continuous.svg
+++ b/editor/icons/icon_track_continuous.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_track_discrete.svg b/editor/icons/icon_track_discrete.svg
index a0550822bfa..d1df4b16678 100644
--- a/editor/icons/icon_track_discrete.svg
+++ b/editor/icons/icon_track_discrete.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_track_trigger.svg b/editor/icons/icon_track_trigger.svg
index 5572b254a29..6e46a74121a 100644
--- a/editor/icons/icon_track_trigger.svg
+++ b/editor/icons/icon_track_trigger.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transform.svg b/editor/icons/icon_transform.svg
index 0ed5377ed74..4d9bb829cde 100644
--- a/editor/icons/icon_transform.svg
+++ b/editor/icons/icon_transform.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transform_2_D.svg b/editor/icons/icon_transform_2_D.svg
index a57587ba06c..a0b54302986 100644
--- a/editor/icons/icon_transform_2_D.svg
+++ b/editor/icons/icon_transform_2_D.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_end.svg b/editor/icons/icon_transition_end.svg
index 8d6857432fc..d0263c159e2 100644
--- a/editor/icons/icon_transition_end.svg
+++ b/editor/icons/icon_transition_end.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_end_auto.svg b/editor/icons/icon_transition_end_auto.svg
index fbfa7b03db6..89eb373df67 100644
--- a/editor/icons/icon_transition_end_auto.svg
+++ b/editor/icons/icon_transition_end_auto.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_end_auto_big.svg b/editor/icons/icon_transition_end_auto_big.svg
index fcc894a3e6f..22f3414d343 100644
--- a/editor/icons/icon_transition_end_auto_big.svg
+++ b/editor/icons/icon_transition_end_auto_big.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_end_big.svg b/editor/icons/icon_transition_end_big.svg
index cc93dd58085..641f9c55d01 100644
--- a/editor/icons/icon_transition_end_big.svg
+++ b/editor/icons/icon_transition_end_big.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_immediate.svg b/editor/icons/icon_transition_immediate.svg
index 56e9b6c0f3d..ffab62410d5 100644
--- a/editor/icons/icon_transition_immediate.svg
+++ b/editor/icons/icon_transition_immediate.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_immediate_auto.svg b/editor/icons/icon_transition_immediate_auto.svg
index 8453bcff089..98c583f407a 100644
--- a/editor/icons/icon_transition_immediate_auto.svg
+++ b/editor/icons/icon_transition_immediate_auto.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_immediate_auto_big.svg b/editor/icons/icon_transition_immediate_auto_big.svg
index 77f7ba592e7..fe5e0903b5b 100644
--- a/editor/icons/icon_transition_immediate_auto_big.svg
+++ b/editor/icons/icon_transition_immediate_auto_big.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_immediate_big.svg b/editor/icons/icon_transition_immediate_big.svg
index 94584c45f72..2365518cc38 100644
--- a/editor/icons/icon_transition_immediate_big.svg
+++ b/editor/icons/icon_transition_immediate_big.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_sync.svg b/editor/icons/icon_transition_sync.svg
index affa3531009..439d17fc3b0 100644
--- a/editor/icons/icon_transition_sync.svg
+++ b/editor/icons/icon_transition_sync.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_sync_auto.svg b/editor/icons/icon_transition_sync_auto.svg
index 767773a0002..022e1d8a7d2 100644
--- a/editor/icons/icon_transition_sync_auto.svg
+++ b/editor/icons/icon_transition_sync_auto.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_sync_auto_big.svg b/editor/icons/icon_transition_sync_auto_big.svg
index c9735a2653b..27cb6376671 100644
--- a/editor/icons/icon_transition_sync_auto_big.svg
+++ b/editor/icons/icon_transition_sync_auto_big.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transition_sync_big.svg b/editor/icons/icon_transition_sync_big.svg
index 959f26c6f10..27ae5197397 100644
--- a/editor/icons/icon_transition_sync_big.svg
+++ b/editor/icons/icon_transition_sync_big.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_translation.svg b/editor/icons/icon_translation.svg
index 4195ce04a97..fd6e689250b 100644
--- a/editor/icons/icon_translation.svg
+++ b/editor/icons/icon_translation.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_transpose.svg b/editor/icons/icon_transpose.svg
index e63c6793232..41b88ea667e 100644
--- a/editor/icons/icon_transpose.svg
+++ b/editor/icons/icon_transpose.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tree.svg b/editor/icons/icon_tree.svg
index 8e450948cec..9476f40db30 100644
--- a/editor/icons/icon_tree.svg
+++ b/editor/icons/icon_tree.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_tween.svg b/editor/icons/icon_tween.svg
index c311cbd05ee..d5cfbbcd889 100644
--- a/editor/icons/icon_tween.svg
+++ b/editor/icons/icon_tween.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_unbone.svg b/editor/icons/icon_unbone.svg
index 75df7e6ce98..2aa0b8ad8c1 100644
--- a/editor/icons/icon_unbone.svg
+++ b/editor/icons/icon_unbone.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_ungroup.svg b/editor/icons/icon_ungroup.svg
index c6e235f47d4..f3f1051bcc8 100644
--- a/editor/icons/icon_ungroup.svg
+++ b/editor/icons/icon_ungroup.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_unlock.svg b/editor/icons/icon_unlock.svg
index 52be7e22339..29fbd762929 100644
--- a/editor/icons/icon_unlock.svg
+++ b/editor/icons/icon_unlock.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_unpaint_vertex.svg b/editor/icons/icon_unpaint_vertex.svg
index 7bb94f06be3..059fcf6e25b 100644
--- a/editor/icons/icon_unpaint_vertex.svg
+++ b/editor/icons/icon_unpaint_vertex.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_uv.svg b/editor/icons/icon_uv.svg
index f68ea2c9842..82c914c84f8 100644
--- a/editor/icons/icon_uv.svg
+++ b/editor/icons/icon_uv.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_v_box_container.svg b/editor/icons/icon_v_box_container.svg
index 17b83ced0aa..9a68df4f6a5 100644
--- a/editor/icons/icon_v_box_container.svg
+++ b/editor/icons/icon_v_box_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_v_scroll_bar.svg b/editor/icons/icon_v_scroll_bar.svg
index 285e54fbd12..e0fc575860a 100644
--- a/editor/icons/icon_v_scroll_bar.svg
+++ b/editor/icons/icon_v_scroll_bar.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_v_separator.svg b/editor/icons/icon_v_separator.svg
index 6476ea5ad77..11038b75425 100644
--- a/editor/icons/icon_v_separator.svg
+++ b/editor/icons/icon_v_separator.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_v_slider.svg b/editor/icons/icon_v_slider.svg
index c6fc1e6e0f7..0ecb1e9aa38 100644
--- a/editor/icons/icon_v_slider.svg
+++ b/editor/icons/icon_v_slider.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_v_split_container.svg b/editor/icons/icon_v_split_container.svg
index b9bbb4bfc30..21d45bd5e75 100644
--- a/editor/icons/icon_v_split_container.svg
+++ b/editor/icons/icon_v_split_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_variant.svg b/editor/icons/icon_variant.svg
index 7c2e4559d1e..71ebd060ae3 100644
--- a/editor/icons/icon_variant.svg
+++ b/editor/icons/icon_variant.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_vector2.svg b/editor/icons/icon_vector2.svg
index b4e9b44c030..43a93df83fa 100644
--- a/editor/icons/icon_vector2.svg
+++ b/editor/icons/icon_vector2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_vector3.svg b/editor/icons/icon_vector3.svg
index 74861160d6e..2606f6e22b8 100644
--- a/editor/icons/icon_vector3.svg
+++ b/editor/icons/icon_vector3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_vehicle_body.svg b/editor/icons/icon_vehicle_body.svg
index a5097306024..0cfbad371cc 100644
--- a/editor/icons/icon_vehicle_body.svg
+++ b/editor/icons/icon_vehicle_body.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_vehicle_wheel.svg b/editor/icons/icon_vehicle_wheel.svg
index bd870c01186..0391eac4cf7 100644
--- a/editor/icons/icon_vehicle_wheel.svg
+++ b/editor/icons/icon_vehicle_wheel.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_video_player.svg b/editor/icons/icon_video_player.svg
index 4e8dcf0ec2c..c5433e01319 100644
--- a/editor/icons/icon_video_player.svg
+++ b/editor/icons/icon_video_player.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_viewport.svg b/editor/icons/icon_viewport.svg
index 7cd5d73cde9..7d388c1c6d9 100644
--- a/editor/icons/icon_viewport.svg
+++ b/editor/icons/icon_viewport.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_viewport_container.svg b/editor/icons/icon_viewport_container.svg
index 18dcddc15f3..baf80e5086d 100644
--- a/editor/icons/icon_viewport_container.svg
+++ b/editor/icons/icon_viewport_container.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_viewport_speed.svg b/editor/icons/icon_viewport_speed.svg
index 364eb4969be..8fceaffd521 100644
--- a/editor/icons/icon_viewport_speed.svg
+++ b/editor/icons/icon_viewport_speed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_viewport_texture.svg b/editor/icons/icon_viewport_texture.svg
index 145beff6bc9..3dd448b1ac0 100644
--- a/editor/icons/icon_viewport_texture.svg
+++ b/editor/icons/icon_viewport_texture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_viewport_zoom.svg b/editor/icons/icon_viewport_zoom.svg
index 6d64d1b8a4f..d111e5d5c5a 100644
--- a/editor/icons/icon_viewport_zoom.svg
+++ b/editor/icons/icon_viewport_zoom.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_visibility_enabler.svg b/editor/icons/icon_visibility_enabler.svg
index 70e4f081c2b..07ba8b88df2 100644
--- a/editor/icons/icon_visibility_enabler.svg
+++ b/editor/icons/icon_visibility_enabler.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_visibility_enabler_2d.svg b/editor/icons/icon_visibility_enabler_2d.svg
index 2976e468ed8..e603936d831 100644
--- a/editor/icons/icon_visibility_enabler_2d.svg
+++ b/editor/icons/icon_visibility_enabler_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_visibility_notifier.svg b/editor/icons/icon_visibility_notifier.svg
index c908d5c99d5..afb433c9edf 100644
--- a/editor/icons/icon_visibility_notifier.svg
+++ b/editor/icons/icon_visibility_notifier.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_visibility_notifier_2d.svg b/editor/icons/icon_visibility_notifier_2d.svg
index e05d7d3887b..8eaf8334ac3 100644
--- a/editor/icons/icon_visibility_notifier_2d.svg
+++ b/editor/icons/icon_visibility_notifier_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_visual_shader.svg b/editor/icons/icon_visual_shader.svg
index 15cb60d2e3b..70060665920 100644
--- a/editor/icons/icon_visual_shader.svg
+++ b/editor/icons/icon_visual_shader.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_visual_shader_port.svg b/editor/icons/icon_visual_shader_port.svg
index 9df6344fe29..5311513d836 100644
--- a/editor/icons/icon_visual_shader_port.svg
+++ b/editor/icons/icon_visual_shader_port.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_warning.svg b/editor/icons/icon_warning.svg
index 698288d5a90..cdb88dd2d2d 100644
--- a/editor/icons/icon_warning.svg
+++ b/editor/icons/icon_warning.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_window_dialog.svg b/editor/icons/icon_window_dialog.svg
index 3c7be2a58dd..6e2bfdf95e9 100644
--- a/editor/icons/icon_window_dialog.svg
+++ b/editor/icons/icon_window_dialog.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_world.svg b/editor/icons/icon_world.svg
index 3db96a75a67..acb1083b88b 100644
--- a/editor/icons/icon_world.svg
+++ b/editor/icons/icon_world.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_world_2d.svg b/editor/icons/icon_world_2d.svg
index 862242ec440..d7848366940 100644
--- a/editor/icons/icon_world_2d.svg
+++ b/editor/icons/icon_world_2d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_world_environment.svg b/editor/icons/icon_world_environment.svg
index e87a4b5b0c3..314639a5761 100644
--- a/editor/icons/icon_world_environment.svg
+++ b/editor/icons/icon_world_environment.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_x509_certificate.svg b/editor/icons/icon_x509_certificate.svg
index e175fa3234d..b56268f281e 100644
--- a/editor/icons/icon_x509_certificate.svg
+++ b/editor/icons/icon_x509_certificate.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_y_sort.svg b/editor/icons/icon_y_sort.svg
index dbcefef216d..40367bd2b20 100644
--- a/editor/icons/icon_y_sort.svg
+++ b/editor/icons/icon_y_sort.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_zoom.svg b/editor/icons/icon_zoom.svg
index aa517b6ae22..fc0102f0e32 100644
--- a/editor/icons/icon_zoom.svg
+++ b/editor/icons/icon_zoom.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_zoom_less.svg b/editor/icons/icon_zoom_less.svg
index cf3b4475c94..18b052c32a4 100644
--- a/editor/icons/icon_zoom_less.svg
+++ b/editor/icons/icon_zoom_less.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_zoom_more.svg b/editor/icons/icon_zoom_more.svg
index 8847eea53f0..fdc80611da3 100644
--- a/editor/icons/icon_zoom_more.svg
+++ b/editor/icons/icon_zoom_more.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/icons/icon_zoom_reset.svg b/editor/icons/icon_zoom_reset.svg
index 6ecb4111fee..f6793b68165 100644
--- a/editor/icons/icon_zoom_reset.svg
+++ b/editor/icons/icon_zoom_reset.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/editor/import/editor_scene_importer_gltf.cpp b/editor/import/editor_scene_importer_gltf.cpp
index 03e609eca7b..c6e919512fa 100644
--- a/editor/import/editor_scene_importer_gltf.cpp
+++ b/editor/import/editor_scene_importer_gltf.cpp
@@ -1230,10 +1230,14 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) {
}
}
+ mesh.blend_weights.resize(mesh.mesh->get_blend_shape_count());
+ for (int32_t weight_i = 0; weight_i < mesh.blend_weights.size(); weight_i++) {
+ mesh.blend_weights.write[weight_i] = 0.0f;
+ }
+
if (d.has("weights")) {
const Array &weights = d["weights"];
- ERR_FAIL_COND_V(mesh.mesh->get_blend_shape_count() != weights.size(), ERR_PARSE_ERROR);
- mesh.blend_weights.resize(weights.size());
+ ERR_FAIL_COND_V(mesh.blend_weights.size() != weights.size(), ERR_PARSE_ERROR);
for (int j = 0; j < weights.size(); j++) {
mesh.blend_weights.write[j] = weights[j];
}
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index 20bf32abe35..4dd8239831a 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -1996,17 +1996,16 @@ bool CanvasItemEditor::_gui_input_move(const Ref &p_event) {
if ((b->get_alt() && !b->get_control()) || tool == TOOL_MOVE) {
List selection = _get_edited_canvas_items();
- // Remove not movable nodes
+ drag_selection.clear();
for (int i = 0; i < selection.size(); i++) {
- if (!_is_node_movable(selection[i], true)) {
- selection.erase(selection[i]);
+ if (_is_node_movable(selection[i], true)) {
+ drag_selection.push_back(selection[i]);
}
}
if (selection.size() > 0) {
drag_type = DRAG_MOVE;
drag_from = transform.affine_inverse().xform(b->get_position());
- drag_selection = selection;
_save_canvas_item_state(drag_selection);
}
return true;
@@ -2296,16 +2295,15 @@ bool CanvasItemEditor::_gui_input_select(const Ref &p_event) {
// Drag the node(s) if requested
List selection2 = _get_edited_canvas_items();
- // Remove not movable nodes
+ drag_selection.clear();
for (int i = 0; i < selection2.size(); i++) {
- if (!_is_node_movable(selection2[i], true)) {
- selection2.erase(selection2[i]);
+ if (_is_node_movable(selection2[i], true)) {
+ drag_selection.push_back(selection2[i]);
}
}
if (selection2.size() > 0) {
drag_type = DRAG_MOVE;
- drag_selection = selection2;
drag_from = click;
_save_canvas_item_state(drag_selection);
}
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp
index 99c3d87168f..56e1b9d2ee6 100644
--- a/editor/plugins/script_editor_plugin.cpp
+++ b/editor/plugins/script_editor_plugin.cpp
@@ -585,7 +585,7 @@ void ScriptEditor::_close_tab(int p_idx, bool p_save, bool p_history_back) {
Ref