equal
deleted
inserted
replaced
14 * <https://github.com/Microsoft/language-server-protocol> |
14 * <https://github.com/Microsoft/language-server-protocol> |
15 |
15 |
16 |
16 |
17 ## Screenshot |
17 ## Screenshot |
18 |
18 |
19 ![[Isabelle/VSCode]](http://isabelle.in.tum.de/repos/isabelle/raw-file/9fe05edaa351/src/Tools/VSCode/extension/isabelle_vscode.png) |
19 ![[Isabelle/VSCode]](http://isabelle.in.tum.de/repos/isabelle/raw-file/b565a39627bb/src/Tools/VSCode/extension/isabelle_vscode.png) |
20 |
20 |
21 |
21 |
22 ## Notable Features |
22 ## Notable Features |
23 |
23 |
24 * Static syntax tables for Isabelle `.thy` and `.ML` files. |
24 * Static syntax tables for Isabelle `.thy` and `.ML` files. |
26 * Implicit dependency management of sources, subject to changes of theory |
26 * Implicit dependency management of sources, subject to changes of theory |
27 files within the editor, as well as external file-system events. |
27 files within the editor, as well as external file-system events. |
28 |
28 |
29 * Implicit formal checking of theory files, using the *cursor position* of the |
29 * Implicit formal checking of theory files, using the *cursor position* of the |
30 active editor panel as indication for relevant spots. |
30 active editor panel as indication for relevant spots. |
|
31 |
|
32 * Text overview lane with formal status of prover commands (unprocessed, |
|
33 running, error, warning). |
31 |
34 |
32 * Prover messages within the source text (errors/warnings and information |
35 * Prover messages within the source text (errors/warnings and information |
33 messages). |
36 messages). |
34 |
37 |
35 * Semantic text decorations: colors for free/bound variables, inferred types |
38 * Semantic text decorations: colors for free/bound variables, inferred types |
53 regular completion dialog. |
56 regular completion dialog. |
54 |
57 |
55 |
58 |
56 ## Requirements |
59 ## Requirements |
57 |
60 |
58 ### Isabelle Installation |
61 ### Isabelle/VSCode Installation |
59 |
62 |
60 * Download a recent Isabelle development snapshot from |
63 * Download a recent Isabelle development snapshot from |
61 <http://isabelle.in.tum.de/devel/release_snapshot> or the particular version |
64 <http://isabelle.in.tum.de/devel/release_snapshot> or the particular version |
62 <http://www4.in.tum.de/~wenzelm/Isabelle_01-Jul-2017> |
65 <http://www4.in.tum.de/~wenzelm/Isabelle_01-Jul-2017> |
63 |
66 |
66 |
69 |
67 * Download and install VSCode from <https://code.visualstudio.com> |
70 * Download and install VSCode from <https://code.visualstudio.com> |
68 |
71 |
69 * Open the VSCode *Extensions* view and install the following: |
72 * Open the VSCode *Extensions* view and install the following: |
70 |
73 |
71 + *Isabelle* (e.g. version 0.20). |
74 + *Isabelle* (e.g. version 0.22). |
72 |
75 |
73 + *Prettify Symbols Mode* (important for display of Isabelle symbols). |
76 + *Prettify Symbols Mode* (important for display of Isabelle symbols). |
74 |
77 |
75 + *bibtexLanguage* (optional): it gives `.bib` a formal status, thus |
78 + *bibtexLanguage* (optional): it gives `.bib` a formal status, thus |
76 `@{cite}` antiquotations become active for completion and hyperlinks. |
79 `@{cite}` antiquotations become active for completion and hyperlinks. |
104 |
107 |
105 * Restart the VSCode application to ensure that all extensions are properly |
108 * Restart the VSCode application to ensure that all extensions are properly |
106 initialized and user settings are updated. Afterwards VSCode should know about |
109 initialized and user settings are updated. Afterwards VSCode should know about |
107 `.thy` files (Isabelle theories) and `.ML` files (Isabelle/ML modules). |
110 `.thy` files (Isabelle theories) and `.ML` files (Isabelle/ML modules). |
108 |
111 |
109 The Isabelle extension is initialized when the first Isabelle is opened. It |
112 The Isabelle extension is initialized when the first Isabelle file is opened. |
110 requires a few seconds to start up: a small popup window says *Welcome to |
113 It requires a few seconds to start up: a small popup window eventually says |
111 Isabelle*. If that fails, there might be something wrong with `isabelle.home` |
114 *"Welcome to Isabelle ..."*. If that fails, there might be something wrong |
112 from above, or the Isabelle distribution does not fit to the version of the |
115 with `isabelle.home` from above, or the Isabelle distribution does not fit to |
113 VSCode extension from the Marketplace. |
116 the version of the VSCode extension from the Marketplace. |
114 |
117 |
115 |
118 |
116 ### Support for Isabelle symbols |
119 ### Support for Isabelle symbols |
117 |
120 |
118 Isabelle symbols like `\<forall>` are rendered using the extension *Prettify |
121 Isabelle symbols like `\<forall>` are rendered using the extension *Prettify |
181 |
184 |
182 * Lack of pretty-printing (logical line breaks) according to window and font |
185 * Lack of pretty-printing (logical line breaks) according to window and font |
183 dimensions. |
186 dimensions. |
184 |
187 |
185 * Lack of GUI panels for Sledgehammer, Query operations etc. |
188 * Lack of GUI panels for Sledgehammer, Query operations etc. |
|
189 |
|
190 * Big theory files may cause problems to the VSCode rendering engine, since |
|
191 messages and text decorations are applied to the text as a whole (cf. the |
|
192 minimap view). |