Code Monkey home page Code Monkey logo

vscode-gdl's People

Contributors

kovacsv avatar pbaksa avatar runxel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

vscode-gdl's Issues

Use a custom icon for GDL files

Have a custom icon for GDL files, so it doesn't has the generic file icon any longer.

See XML on the left, GDL with the generic icon on the right (current situation):
grafik

This issue was to be fixed in the VSCode repo, which is now done. microsoft/vscode#118846
It's still a proposed API, so we can wait a bit for it to become stable.

language doesn't remain set to GDL-XML

Type: Bug

Hi,
Since the latest update of Visual Studio, when I set GDL-XML for a certain tab, after switching to another tab and back the language defaults back to "plain" XML. GDL-HSF is retained as a language.
Thanks,
Tony

Extension version: 1.27.1
VS Code version: Code 1.89.1 (Universal) (dc96b837cf6bb4af9cd736aa3af08cf8279f7685, 2024-05-07T05:14:24.611Z)
OS version: Darwin arm64 22.6.0
Modes:

System Info
Item Value
CPUs Apple M2 Max (12 x 24)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled
Load (avg) 2, 2, 4
Memory (System) 64.00GB (12.38GB free)
Process Argv --crash-reporter-id 0a53a0ed-5d2d-4dc0-80c9-ed6208186bc9
Screen Reader no
VM 0%
A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
tftest:31042121
vscod805:30301674
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
2i9eh265:30646982
962ge761:30959799
pythongtdpath:30769146
welcomedialogc:30910334
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
h48ei257:31000450
pythontbext0:30879054
accentitlementsc:30995553
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
0ee40948:31013168
pythoncenvpt:31043157
pythonprc:31039816
dwnewjupytercf:31039676

Outline is too greedy

The outline is too greedy and will look into comments as well.

E.g. I epxlain the usage of my macros inside the comments.
This way the outline is suddenly cluttered with macro calls... but none of them are real, because they are actually comments.

This, naturally, should not be the case. Never look into comments.

Folding & Indentation

First of all thanks for this great extension from the guy who made the original Sublime Text extension!
Thanks to @pbaksa and the whole team for incorporating the wishes of Jochen, me, and others.
This is a successor well done.
And last but no least so great to have it finally being Open Source! ๐Ÿ’ฏ


Two things I would like to see:

  1. I think most people are using indentation, because it makes code navigation and overview so much easier. I'm calling to have indentation rules to be implemented.
    More specifically On Enter Rules.
    So what's the differenc? "On Enter Rules" only come into play when the user types "Enter", while the normal indentation rules are also affecting the code if the user copies stuff. So former option might be a good compromies.
    There is a lot that would benefit: Loops, Groups, Subroutines, just to name a few.
    See example implementation down below.
  2. Custom Code Folding.
    I use code folding a lot, but sometimes it would be nice to have regions that are not determined by indentation to be foldable. The default way is that only indented code can be folded in VSC.
    That's why we could define an extra special comment to gain the ability to fold arbitrary regions.

Example Code

Note that slashes have to be escaped themself!

  1. Indentation
{
  "onEnterRules": [
    {
      "beforeText": "^.*\\s*(?:else|then)\\s*$",
      "action": { "indent": "indent" }
    },
	{
	  "beforeText": "^.*\\s*(?:endif)\\s*$",
      "action": { "indent": "outdent" }
    }
  ]
}
  1. Code Folding
{
  "folding": {
    "markers": {
      "start": "^\\s*!\\s*#?region\\b",
      "end": "^\\s*!\\s*#?endregion\\b"
    }
  }
}

This matches !#region and !#endregion.

Confusing Intellisense

So nice to have that Intellisense support! I like it.

But the general layout could be improved.
Also I highly dislike the parameter type (RealNum in the example screenshot) being so intrusive in the Intellisense.
Look, actually this info belongs to the icon (whats now a generic box), and certainly not in the intellisense text! So instead of the box there should be the icon of the appropiate type.

intellisense1

Even if you decide to leave it (which you really shouldn't), the order would still be wrong. I'm looking for a certain parameter so clearly the RealNum must not be named first....

And maybe the description of the parameter would do fine without the quotes wrapped around it.

Support 'goto definition'

Nice to have the outline, but it would be great if we could support the "goto definition" function of VSC as well.
This is especially helpful when having a lot of subroutines.
We could then place the cursor in the name and use the "goto definition" function to go to the subroutine in a fast way. Would speed up daily development for sure!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.