Skip to content

Commit db74870

Browse files
Minor release - version 2.2.0
### Check List - Highlight - [x] `select` keyword - *Merge #165 to fix #149* - [x] `rank` keyword - *Merge #165* - [x] `forall` keyword - *Merge #170 to fix #169* - Symbol List - [x] Symbols bug in VSCode +1.40 - *Merge #161 to fix #154* - [x] Symbols classification - *Merge #141 to fix #140* - [x] Long named symbols - *Merge #151* - Settings - [x] Add more options - *Merge #152* - Dependencies - [x] Merge `dependabot` PR's - [x] lodash - *Merge #144* - [x] mixin-deep - *Merge #146* - [x] handlebars - *Merge #155* - Code Completion - [x] Array constructor - *Fix #148* - New Features - [x] Breakpoints - *Merge #150*
2 parents 960ebd0 + 7fa698f commit db74870

12 files changed

+394
-296
lines changed

.vscode/launch.json

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,35 @@
77
"type": "extensionHost",
88
"request": "launch",
99
"runtimeExecutable": "${execPath}",
10-
"args": ["--extensionDevelopmentPath=${workspaceRoot}" ],
10+
"args": [
11+
"--extensionDevelopmentPath=${workspaceFolder}"
12+
],
1113
"stopOnEntry": false,
1214
"sourceMaps": true,
13-
"outFiles": [ "${workspaceRoot}/out/src/**/*.js" ],
15+
"outFiles": [
16+
"${workspaceFolder}/out/src/**/*.js"
17+
],
1418
"preLaunchTask": "npm"
1519
},
1620
{
1721
"name": "Launch Tests",
1822
"type": "extensionHost",
1923
"request": "launch",
2024
"runtimeExecutable": "${execPath}",
21-
"args": ["test/resources/sample.f90","--extensionDevelopmentPath=${workspaceRoot}", "--extensionTestsPath=${workspaceRoot}/out/test" ],
25+
"env": {
26+
"CODE_TESTS_WORKSPACE": "./"
27+
},
28+
"args": [
29+
"test/resources/sample.f90",
30+
"--disable-extensions",
31+
"--extensionDevelopmentPath=${workspaceFolder}",
32+
"--extensionTestsPath=${workspaceFolder}/out/test"
33+
],
2234
"stopOnEntry": false,
2335
"sourceMaps": true,
24-
"outFiles": [ "${workspaceRoot}/out/test/**/*.js" ],
25-
"preLaunchTask": "npm"
36+
"outFiles": [
37+
"${workspaceFolder}/out/test/**/*.js"
38+
]
2639
}
2740
]
28-
}
41+
}

CHANGELOG.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,21 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
77

88
## [Unreleased]
99

10-
## [2.1.1] - 2019-xx-xx
10+
## [2.2.0] - 2020-04-11
11+
12+
### Changed
13+
14+
- Improve syntax highlight (#149, #166, #169)
15+
- Fix Symbols in VSCode ^1.4x (#154, #140, #151)
16+
- Dependencies Update (#144, #146, #155)
17+
- Improve code completion (#148)
18+
19+
### Added
20+
21+
- More custom settings (#152)
22+
- Breakpoints support (#150)
23+
24+
## [2.1.1] - 2019-06-03
1125

1226
### Changed
1327

README.md

Lines changed: 64 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[![Installs](https://vsmarketplacebadge.apphb.com/installs/krvajalm.linter-gfortran.svg)](https://marketplace.visualstudio.com/items?itemName=krvajalm.linter-gfortran)
77
[![GitHub release](https://img.shields.io/github/release/krvajal/vscode-fortran-support.svg)](https://GitHub.com/krvajal/vscode-fortran-support/releases/)
88

9-
> This extension provides support for the Fortran programming language. It includes syntax highlighting, code snippets and a linting based on `gfortran`. You can download the Visual Studio Code editor from [here](https://code.visualstudio.com/download).
9+
> This extension provides support for the Fortran programming language. It includes syntax highlighting, debugging, code snippets and a linting based on `gfortran`. You can download the Visual Studio Code editor from [here](https://code.visualstudio.com/download).
1010
1111
## Features
1212

@@ -16,14 +16,15 @@
1616
- Code linting based on `gfortran` to show errors wiggles in your code
1717
- Code autocompletion (beta)
1818
- Symbols provider
19+
- Debugger, uses Microsoft's [C/C++ extension](https://github.com/Microsoft/vscode-cpptools)
1920

2021
![symbol_nav](./doc/symbol_nav.png)
2122

2223
## Settings
2324

2425
You can control the include paths to be used by the linter with the `fortran.includePaths` setting.
2526

26-
```
27+
``` jsonc
2728
{
2829
"fortran.includePaths": [
2930
"/usr/local/include",
@@ -34,23 +35,23 @@ You can control the include paths to be used by the linter with the `fortran.inc
3435

3536
By default the `gfortran` executable is assumed to be found in the path. In order to use a different one or if it can't be found in the path you can point the extension to use a custom one with the `fortran.gfortranExecutable` setting.
3637

37-
```
38+
``` jsonc
3839
{
39-
"fortran.gfortranExecutable": '/usr/local/bin/gfortran-4.7',
40+
"fortran.gfortranExecutable": "/usr/local/bin/gfortran-4.7",
4041
}
4142
```
4243

4344
If you want to pass extra options to the `gfortran` executable or override the default one, you can use the setting `fortran.linterExtraArgs`. By default `-Wall` is the only option.
4445

45-
```
46+
``` jsonc
4647
{
47-
"fortran.linterExtraArgs": ['-Wall'],
48+
"fortran.linterExtraArgs": ["-Wall"],
4849
}
4950
```
5051

5152
You can configure what kind of symbols will appear in the symbol list by using
5253

53-
```
54+
``` jsonc
5455
{
5556
"fortran.symbols": [ "function", "subroutine"]
5657
}
@@ -68,7 +69,7 @@ and by default only functions and subroutines are shown
6869

6970
You can also configure the case for fortran intrinsics auto-complete by using
7071

71-
```
72+
``` jsonc
7273
{
7374
"fortran.preferredCase": "lowercase" | "uppercase"
7475
}
@@ -90,10 +91,65 @@ This is a list of some of the snippets included, if you like to include addition
9091

9192
To trigger code validations you must save the file first.
9293

94+
## Debugging
95+
96+
The extension uses the debugger from Microsoft's
97+
[C/C++ extension](https://github.com/Microsoft/vscode-cpptools)
98+
for Visual Studio Code. This allows this extension to use the full functionality
99+
of the C/C++ extension for debugging applications:
100+
(un)conditional breaking points, expression evaluation, multi-threaded debugging,
101+
call stack, stepping, watch window.
102+
103+
A minimal `launch.json` script, responsible for controlling the debugger, is
104+
provided below. However, Visual Studio Code is also capable of autogenerating
105+
a `launch.json` file and the configurations inside the file.
106+
107+
More details about how to setup the debugger can be found in Microsoft's website:
108+
109+
- General information about debugging in VS Code: <https://code.visualstudio.com/docs/editor/debugging>
110+
- C/C++ extension debugger information: <https://code.visualstudio.com/docs/cpp/cpp-debug>
111+
- Build tasks for easy compiling: <https://code.visualstudio.com/docs/editor/tasks>
112+
113+
``` jsonc
114+
{
115+
// Use IntelliSense to learn about possible attributes.
116+
// Hover to view descriptions of existing attributes.
117+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
118+
"version": "0.2.0",
119+
"configurations": [
120+
{
121+
"name": "(gdb) Fortran",
122+
"type": "cppdbg",
123+
"request": "launch",
124+
"program": "${workspaceFolder}/a.out",
125+
"args": [], // Possible input args for a.out
126+
"stopAtEntry": false,
127+
"cwd": "${workspaceFolder}",
128+
"environment": [],
129+
"externalConsole": false,
130+
"MIMode": "gdb",
131+
"setupCommands": [
132+
{
133+
"description": "Enable pretty-printing for gdb",
134+
"text": "-enable-pretty-printing",
135+
"ignoreFailures": true
136+
}
137+
]
138+
}
139+
]
140+
}
141+
```
142+
93143
## Requirements
94144

95145
For the linter to work you need to have `gfortran` on your path, or wherever you configure it to be.
96146

147+
For debugging you need to have one of the following debuggers installed:
148+
149+
- **Linux**: GDB
150+
- **macOS**: GDB or LLDB
151+
- **Windows**: GDB or Visual Studio Windows Debugger
152+
97153
## Issues
98154

99155
Please report any issues and feature request on the GitHub repo [here](https://github.com/krvajalmiguelangel/vscode-fortran-support/issues/new)

language-configuration.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
},
2828
{
2929
"open": "(/",
30-
"close": "/)"
30+
"close": "/"
3131
}
3232
],
3333
"surroundingPairs": [

0 commit comments

Comments
 (0)