Basic VSCode configuration for building and debugging (#2483)
* Basic VSCode configuration for building and debugging * Fix building and debugging in Windows * Move to contrib folder and add instructions
This commit is contained in:
parent
8c3a2e817b
commit
4c2b1be3a4
6 changed files with 105 additions and 1 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -10,6 +10,9 @@ _test
|
||||||
# IntelliJ
|
# IntelliJ
|
||||||
.idea
|
.idea
|
||||||
|
|
||||||
|
# MS VSCode
|
||||||
|
.vscode
|
||||||
|
|
||||||
# Architecture specific extensions/prefixes
|
# Architecture specific extensions/prefixes
|
||||||
*.[568vq]
|
*.[568vq]
|
||||||
[568vq].out
|
[568vq].out
|
||||||
|
@ -36,6 +39,7 @@ _testmain.go
|
||||||
*.log
|
*.log
|
||||||
|
|
||||||
/gitea
|
/gitea
|
||||||
|
/debug
|
||||||
/integrations.test
|
/integrations.test
|
||||||
|
|
||||||
/bin
|
/bin
|
||||||
|
|
|
@ -26,6 +26,8 @@ It assumes you have followed the
|
||||||
Sensitive security-related issues should be reported to
|
Sensitive security-related issues should be reported to
|
||||||
[security@gitea.io](mailto:security@gitea.io).
|
[security@gitea.io](mailto:security@gitea.io).
|
||||||
|
|
||||||
|
For configuring IDE or code editor to develop Gitea see [IDE and code editor configuration](contrib/ide/)
|
||||||
|
|
||||||
## Bug reports
|
## Bug reports
|
||||||
|
|
||||||
Please search the issues on the issue tracker with a variety of keywords
|
Please search the issues on the issue tracker with a variety of keywords
|
||||||
|
|
12
contrib/ide/README.md
Normal file
12
contrib/ide/README.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# IDE and code editor configuration
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
- [IDE and code editor configuration](#ide-and-code-editor-configuration)
|
||||||
|
- [Microsoft Visual Studio Code](#microsoft-visual-studio-code)
|
||||||
|
|
||||||
|
## Microsoft Visual Studio Code
|
||||||
|
Download Microsoft Visual Studio Code at https://code.visualstudio.com/ and follow instructions at https://code.visualstudio.com/docs/languages/go to setup Go extension for it.
|
||||||
|
|
||||||
|
Create new direcotry `.vscode` in Gitea root folder and copy contents of folder [contrib/ide/vscode](vscode/) to it. You can now use `Ctrl`+`Shift`+`B` to build gitea executable and `F5` to run it in debug mode.
|
||||||
|
|
||||||
|
Supported on Debian, Ubuntu, Red Hat, Fedora, SUSE Linux, MacOS and Microsoft Windows.
|
31
contrib/ide/vscode/launch.json
Normal file
31
contrib/ide/vscode/launch.json
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Launch",
|
||||||
|
"type": "go",
|
||||||
|
"request": "launch",
|
||||||
|
"mode": "debug",
|
||||||
|
"buildFlags": "",
|
||||||
|
"port": 2345,
|
||||||
|
"host": "127.0.0.1",
|
||||||
|
"program": "${workspaceRoot}/main.go",
|
||||||
|
"env": {},
|
||||||
|
"args": ["web"],
|
||||||
|
"showLog": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Launch (with SQLite3)",
|
||||||
|
"type": "go",
|
||||||
|
"request": "launch",
|
||||||
|
"mode": "debug",
|
||||||
|
"buildFlags": "-tags=\"sqlite\"",
|
||||||
|
"port": 2345,
|
||||||
|
"host": "127.0.0.1",
|
||||||
|
"program": "${workspaceRoot}/main.go",
|
||||||
|
"env": {},
|
||||||
|
"args": ["web"],
|
||||||
|
"showLog": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
51
contrib/ide/vscode/tasks.json
Normal file
51
contrib/ide/vscode/tasks.json
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"taskName": "Build",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "go",
|
||||||
|
"group": "build",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared"
|
||||||
|
},
|
||||||
|
"args": ["build"],
|
||||||
|
"linux": {
|
||||||
|
"args": [ "-o", "gitea", "${workspaceRoot}/main.go" ]
|
||||||
|
},
|
||||||
|
"osx": {
|
||||||
|
"args": [ "-o", "gitea", "${workspaceRoot}/main.go" ]
|
||||||
|
},
|
||||||
|
"windows": {
|
||||||
|
"args": [ "-o", "gitea.exe", "\"${workspaceRoot}\\main.go\""]
|
||||||
|
},
|
||||||
|
"problemMatcher": ["$go"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"taskName": "Build (with SQLite3)",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "go",
|
||||||
|
"group": "build",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "shared"
|
||||||
|
},
|
||||||
|
"args": ["build", "-tags=\"sqlite\""],
|
||||||
|
"linux": {
|
||||||
|
"args": ["-o", "gitea", "${workspaceRoot}/main.go"]
|
||||||
|
},
|
||||||
|
"osx": {
|
||||||
|
"args": ["-o", "gitea", "${workspaceRoot}/main.go"]
|
||||||
|
},
|
||||||
|
"windows": {
|
||||||
|
"args": ["-o", "gitea.exe", "\"${workspaceRoot}\\main.go\""]
|
||||||
|
},
|
||||||
|
"problemMatcher": ["$go"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -500,7 +500,11 @@ func DateLang(lang string) string {
|
||||||
|
|
||||||
// execPath returns the executable path.
|
// execPath returns the executable path.
|
||||||
func execPath() (string, error) {
|
func execPath() (string, error) {
|
||||||
file, err := exec.LookPath(os.Args[0])
|
execFile := os.Args[0]
|
||||||
|
if IsWindows && filepath.IsAbs(execFile) {
|
||||||
|
return filepath.Clean(execFile), nil
|
||||||
|
}
|
||||||
|
file, err := exec.LookPath(execFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue