www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - VisualD's Intellisense not workign with gtk

reply FoxyBrown <Foxy Brown.IPT> writes:
Hi, I get no intellisense with visual d when using gtk.

I use a file that imports all of gtk, like so:


module gtk.All;

public import gtk.AboutDialog;
...
public import gtk.WindowGroup;

then I use

import gtk = gtk.All

but when using

gtk.
or gtk.WindowGroup.

or somegtkWidget.

no intellisense ever appears or it appears with only the basic 
object elements.


This makes it very hard to navigate through gtk as I am 
unfamiliar with most of the nomenclature.

Is there any way to get VisualD to properly show the intellisense 
for these objects and modules? Even if necessarily having to 
specify direct inclusion.

If I just do

gtk.gtk.gtk.gtk.gtk.gtk.gtk....

in an empty d file it goes on and on always listing the same 
intellisense. Changing things like gtk.gtkd.gtk.gtkd.... doesnt 
change the results.

The intellisense listed is ByRecord, Error, Exception, File, 
Interface, etc. I do not think they are part of gtk.

In any case, it clearly isn't working and there doesn't seem to 
be any way to correct it. It would be nice if we could precompile 
intellisense data from a set of modules(e.g., specify that it 
build an intellisense database from a directory recursively... 
probably would be faster too). Phobos, gtk, and other libraries 
generally do not change often enough that it should work well. 
One of the biggest issues I seem to have with Visual D is 
intellisense not really working correctly, if it works at all, 
but this isn't a hard problem, is it?
Jul 07
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 07.07.2017 19:23, FoxyBrown wrote:
 Hi, I get no intellisense with visual d when using gtk.
 
 I use a file that imports all of gtk, like so:
 
 
 module gtk.All;
 
 public import gtk.AboutDialog;
 ...
 public import gtk.WindowGroup;
 
 then I use
 
 import gtk = gtk.All
 
 but when using
 
 gtk.
 or gtk.WindowGroup.
 
 or somegtkWidget.
 
 no intellisense ever appears or it appears with only the basic object 
 elements.
 
 
 This makes it very hard to navigate through gtk as I am unfamiliar with 
 most of the nomenclature.
 
 Is there any way to get VisualD to properly show the intellisense for 
 these objects and modules? Even if necessarily having to specify direct 
 inclusion.
 
 If I just do
 
 gtk.gtk.gtk.gtk.gtk.gtk.gtk....
 
 in an empty d file it goes on and on always listing the same 
 intellisense. Changing things like gtk.gtkd.gtk.gtkd.... doesnt change 
 the results.
 
 The intellisense listed is ByRecord, Error, Exception, File, Interface, 
 etc. I do not think they are part of gtk.
AFAICT the completion has problems with public imports in imported modules: they don't add any symbols. This should be fixed in https://github.com/dlang/visuald/releases/tag/v0.45.0-rc1
 
 In any case, it clearly isn't working and there doesn't seem to be any 
 way to correct it. It would be nice if we could precompile intellisense 
 data from a set of modules(e.g., specify that it build an intellisense 
 database from a directory recursively... probably would be faster too). 
 Phobos, gtk, and other libraries generally do not change often enough 
 that it should work well.
If you let the compiler generate JSON data for your project (see language options), Visual D can add the contained symbols to the completion lists. You can also add precompiled JSON files (see global options). This doesn't use any scope information, though, so the list can grow enormously. One of the biggest issues I seem to have with
 Visual D is intellisense not really working correctly, if it works at 
 all, but this isn't a hard problem, is it?
You bet it is ;-) It needs to rebuild the compiler front end, just being more friendly regarding error recovery and incremental changes. Visual D uses dparser from the Mono-D project, which still seems the most extensive solution.
Jul 11
parent reply FoxyBrown <Foxy Brown.IPT> writes:
On Tuesday, 11 July 2017 at 07:16:33 UTC, Rainer Schuetze wrote:
 On 07.07.2017 19:23, FoxyBrown wrote:
 Hi, I get no intellisense with visual d when using gtk.
 
 I use a file that imports all of gtk, like so:
 
 
 module gtk.All;
 
 public import gtk.AboutDialog;
 ...
 public import gtk.WindowGroup;
 
 then I use
 
 import gtk = gtk.All
 
 but when using
 
 gtk.
 or gtk.WindowGroup.
 
 or somegtkWidget.
 
 no intellisense ever appears or it appears with only the basic 
 object elements.
 
 
 This makes it very hard to navigate through gtk as I am 
 unfamiliar with most of the nomenclature.
 
 Is there any way to get VisualD to properly show the 
 intellisense for these objects and modules? Even if 
 necessarily having to specify direct inclusion.
 
 If I just do
 
 gtk.gtk.gtk.gtk.gtk.gtk.gtk....
 
 in an empty d file it goes on and on always listing the same 
 intellisense. Changing things like gtk.gtkd.gtk.gtkd.... 
 doesnt change the results.
 
 The intellisense listed is ByRecord, Error, Exception, File, 
 Interface, etc. I do not think they are part of gtk.
AFAICT the completion has problems with public imports in imported modules: they don't add any symbols. This should be fixed in https://github.com/dlang/visuald/releases/tag/v0.45.0-rc1
 
 In any case, it clearly isn't working and there doesn't seem 
 to be any way to correct it. It would be nice if we could 
 precompile intellisense data from a set of modules(e.g., 
 specify that it build an intellisense database from a 
 directory recursively... probably would be faster too). 
 Phobos, gtk, and other libraries generally do not change often 
 enough that it should work well.
If you let the compiler generate JSON data for your project (see language options), Visual D can add the contained symbols to the completion lists. You can also add precompiled JSON files (see global options). This doesn't use any scope information, though, so the list can grow enormously. One of the biggest issues I seem to have with
 Visual D is intellisense not really working correctly, if it 
 works at all, but this isn't a hard problem, is it?
You bet it is ;-) It needs to rebuild the compiler front end, just being more friendly regarding error recovery and incremental changes. Visual D uses dparser from the Mono-D project, which still seems the most extensive solution.
No luck. gtk. does nothing intellisense wise. I have all the check boxes checked under language options/intellisense. In the solution.json file, There is this, which only seems to be import modules and enums, no functions are added, maybe that is the problem? I do not have the gtk files in the solution(they are only imported during compilation), do I need to import them in to the solution for everything to work? ( [ { "name" : "gtk.All", "kind" : "module", "file" : "..\\..\\..\\DLang\\GtkD\\generated\\gtkd\\gtk\\All.d", "members" : [ { "name" : "gtk.AboutDialog", "kind" : "import", "line" : 3, "char" : 15 }, { "name" : "gtk.AccelGroup", "kind" : "import", "line" : 4, "char" : 15 }, { "name" : "gtk.AccelLabel", "kind" : "import", "line" : 5, "char" : 15 }, { "name" : "gtk.AccelMap", "kind" : "import", "line" : 6, "char" : 15 }, { "name" : "gtk.Accessible", "kind" : "import", "line" : 7, "char" : 15 }, { "name" : "gtk.Action", "kind" : "import", "line" : 8, "char" : 15 }, { "name" : "gtk.ActionableIF", "kind" : "import", "line" : 9, "char" : 15 }, { "name" : "gtk.ActionableT", "kind" : "import", "line" : 10, "char" : 15 }, { "name" : "gtk.ActionBar", "kind" : "import", "line" : 11, "char" : 15 }, { "name" : "gtk.ActionGroup", "kind" : "import", "line" : 12, "char" : 15 }, { "name" : "gtk.ActivatableIF", "kind" : "import", "line" : 13, "char" : 15 }, { "name" : "gtk.ActivatableT", "kind" : "import", "line" : 14, "char" : 15 }, { "name" : "gtk.Adjustment", "kind" : "import", "line" : 15, "char" : 15 }, { "name" : "gtk.Alignment", "kind" : "import", "line" : 16, "char" : 15 }, { "name" : "gtk.AppChooserButton", "kind" : "import", "line" : 17, "char" : 15 }, { "name" : "gtk.AppChooserDialog", "kind" : "import", "line" : 18, "char" : 15 }, { "name" : "gtk.AppChooserIF", "kind" : "import", "line" : 19, "char" : 15 }, { "name" : "gtk.AppChooserT", "kind" : "import", "line" : 20, "char" : 15 }, { "name" : "gtk.AppChooserWidget", "kind" : "import", "line" : 21, "char" : 15 }, { "name" : "gtk.Application", "kind" : "import", "line" : 22, "char" : 15 }, { "name" : "gtk.ApplicationWindow", "kind" : "import", "line" : 23, "char" : 15 }, { "name" : "gtk.Arrow", "kind" : "import", "line" : 24, "char" : 15 }, { "name" : "gtk.ArrowAccessible", "kind" : "import", "line" : 25, "char" : 15 }, { "name" : "gtk.AspectFrame", "kind" : "import", "line" : 26, "char" : 15 }, { "name" : "gtk.Assistant", "kind" : "import", "line" : 27, "char" : 15 }, { "name" : "gtk.Bin", "kind" : "import", "line" : 28, "char" : 15 }, { "name" : "gtk.BindingEntry", "kind" : "import", "line" : 29, "char" : 15 }, { "name" : "gtk.BindingSet", "kind" : "import", "line" : 30, "char" : 15 }, { "name" : "gtk.BooleanCellAccessible", "kind" : "import", "line" : 31, "char" : 15 }, { "name" : "gtk.Border", "kind" : "import", "line" : 32, "char" : 15 }, { "name" : "gtk.Box", "kind" : "import", "line" : 33, "char" : 15 }, { "name" : "gtk.BuildableIF", "kind" : "import", "line" : 34, "char" : 15 }, { "name" : "gtk.BuildableT", "kind" : "import", "line" : 35, "char" : 15 }, { "name" : "gtk.Builder", "kind" : "import", "line" : 36, "char" : 15 }, { "name" : "gtk.Button", "kind" : "import", "line" : 37, "char" : 15 }, { "name" : "gtk.ButtonAccessible", "kind" : "import", "line" : 38, "char" : 15 }, { "name" : "gtk.ButtonBox", "kind" : "import", "line" : 39, "char" : 15 }, { "name" : "gtk.Calendar", "kind" : "import", "line" : 40, "char" : 15 }, { "name" : "gtk.CellAccessible", "kind" : "import", "line" : 41, "char" : 15 }, { "name" : "gtk.CellAccessibleParentIF", "kind" : "import", "line" : 42, "char" : 15 }, { "name" : "gtk.CellAccessibleParentT", "kind" : "import", "line" : 43, "char" : 15 }, { "name" : "gtk.CellArea", "kind" : "import", "line" : 44, "char" : 15 }, { "name" : "gtk.CellAreaBox", "kind" : "import", "line" : 45, "char" : 15 }, { "name" : "gtk.CellAreaClass", "kind" : "import", "line" : 46, "char" : 15 }, { "name" : "gtk.CellAreaContext", "kind" : "import", "line" : 47, "char" : 15 }, { "name" : "gtk.CellEditable", "kind" : "import", "line" : 48, "char" : 15 }, { "name" : "gtk.CellEditableIF", "kind" : "import", "line" : 49, "char" : 15 }, { "name" : "gtk.CellEditableT", "kind" : "import", "line" : 50, "char" : 15 }, { "name" : "gtk.CellLayoutIF", "kind" : "import", "line" : 51, "char" : 15 }, { "name" : "gtk.CellLayoutT", "kind" : "import", "line" : 52, "char" : 15 }, { "name" : "gtk.CellRenderer", "kind" : "import", "line" : 53, "char" : 15 }, { "name" : "gtk.CellRendererAccel", "kind" : "import", "line" : 54, "char" : 15 }, { "name" : "gtk.CellRendererClass", "kind" : "import", "line" : 55, "char" : 15 }, { "name" : "gtk.CellRendererCombo", "kind" : "import", "line" : 56, "char" : 15 }, { "name" : "gtk.CellRendererPixbuf", "kind" : "import", "line" : 57, "char" : 15 }, { "name" : "gtk.CellRendererProgress", "kind" : "import", "line" : 58, "char" : 15 }, { "name" : "gtk.CellRendererSpin", "kind" : "import", "line" : 59, "char" : 15 }, { "name" : "gtk.CellRendererSpinner", "kind" : "import", "line" : 60, "char" : 15 }, { "name" : "gtk.CellRendererText", "kind" : "import", "line" : 61, "char" : 15 }, { "name" : "gtk.CellRendererToggle", "kind" : "import", "line" : 62, "char" : 15 }, { "name" : "gtk.CellView", "kind" : "import", "line" : 63, "char" : 15 }, { "name" : "gtk.CheckButton", "kind" : "import", "line" : 64, "char" : 15 }, { "name" : "gtk.CheckMenuItem", "kind" : "import", "line" : 65, "char" : 15 }, { "name" : "gtk.CheckMenuItemAccessible", "kind" : "import", "line" : 66, "char" : 15 }, { "name" : "gtk.Clipboard", "kind" : "import", "line" : 67, "char" : 15 }, { "name" : "gtk.ColorButton", "kind" : "import", "line" : 68, "char" : 15 }, { "name" : "gtk.ColorChooserDialog", "kind" : "import", "line" : 69, "char" : 15 }, { "name" : "gtk.ColorChooserIF", "kind" : "import", "line" : 70, "char" : 15 }, { "name" : "gtk.ColorChooserT", "kind" : "import", "line" : 71, "char" : 15 }, { "name" : "gtk.ColorChooserWidget", "kind" : "import", "line" : 72, "char" : 15 }, { "name" : "gtk.ColorSelection", "kind" : "import", "line" : 73, "char" : 15 }, { "name" : "gtk.ColorSelectionDialog", "kind" : "import", "line" : 74, "char" : 15 }, { "name" : "gtk.ComboBox", "kind" : "import", "line" : 75, "char" : 15 }, { "name" : "gtk.ComboBoxAccessible", "kind" : "import", "line" : 76, "char" : 15 }, { "name" : "gtk.ComboBoxText", "kind" : "import", "line" : 77, "char" : 15 }, { "name" : "gtk.Container", "kind" : "import", "line" : 78, "char" : 15 }, { "name" : "gtk.ContainerAccessible", "kind" : "import", "line" : 79, "char" : 15 }, { "name" : "gtk.ContainerCellAccessible", "kind" : "import", "line" : 80, "char" : 15 }, { "name" : "gtk.ContainerClass", "kind" : "import", "line" : 81, "char" : 15 }, { "name" : "gtk.CssProvider", "kind" : "import", "line" : 82, "char" : 15 }, { "name" : "gtk.CssSection", "kind" : "import", "line" : 83, "char" : 15 }, { "name" : "gtk.Dialog", "kind" : "import", "line" : 84, "char" : 15 }, { "name" : "gtk.DragAndDrop", "kind" : "import", "line" : 85, "char" : 15 }, { "name" : "gtk.DrawingArea", "kind" : "import", "line" : 86, "char" : 15 }, { "name" : "gtk.EditableIF", "kind" : "import", "line" : 87, "char" : 15 }, { "name" : "gtk.EditableT", "kind" : "import", "line" : 88, "char" : 15 }, { "name" : "gtk.Entry", "kind" : "import", "line" : 89, "char" : 15 }, { "name" : "gtk.EntryAccessible", "kind" : "import", "line" : 90, "char" : 15 }, { "name" : "gtk.EntryBuffer", "kind" : "import", "line" : 91, "char" : 15 }, { "name" : "gtk.EntryCompletion", "kind" : "import", "line" : 92, "char" : 15 }, { "name" : "gtk.EventBox", "kind" : "import", "line" : 93, "char" : 15 }, { "name" : "gtk.EventController", "kind" : "import", "line" : 94, "char" : 15 }, { "name" : "gtk.Expander", "kind" : "import", "line" : 95, "char" : 15 }, { "name" : "gtk.ExpanderAccessible", "kind" : "import", "line" : 96, "char" : 15 }, { "name" : "gtk.FileChooserButton", "kind" : "import", "line" : 97, "char" : 15 }, { "name" : "gtk.FileChooserDialog", "kind" : "import", "line" : 98, "char" : 15 }, { "name" : "gtk.FileChooserIF", "kind" : "import", "line" : 99, "char" : 15 }, { "name" : "gtk.FileChooserNative", "kind" : "import", "line" : 100, "char" : 15 }, { "name" : "gtk.FileChooserT", "kind" : "import", "line" : 101, "char" : 15 }, { "name" : "gtk.FileChooserWidget", "kind" : "import", "line" : 102, "char" : 15 }, { "name" : "gtk.FileFilter", "kind" : "import", "line" : 103, "char" : 15 }, { "name" : "gtk.Fixed", "kind" : "import", "line" : 104, "char" : 15 }, { "name" : "gtk.FlowBox", "kind" : "import", "line" : 105, "char" : 15 }, { "name" : "gtk.FlowBoxAccessible", "kind" : "import", "line" : 106, "char" : 15 }, { "name" : "gtk.FlowBoxChild", "kind" : "import", "line" : 107, "char" : 15 }, { "name" : "gtk.FlowBoxChildAccessible", "kind" : "import", "line" : 108, "char" : 15 }, { "name" : "gtk.FontButton", "kind" : "import", "line" : 109, "char" : 15 }, { "name" : "gtk.FontChooserDialog", "kind" : "import", "line" : 110, "char" : 15 }, { "name" : "gtk.FontChooserIF", "kind" : "import", "line" : 111, "char" : 15 }, { "name" : "gtk.FontChooserT", "kind" : "import", "line" : 112, "char" : 15 }, { "name" : "gtk.FontChooserWidget", "kind" : "import", "line" : 113, "char" : 15 }, { "name" : "gtk.FontSelection", "kind" : "import", "line" : 114, "char" : 15 }, { "name" : "gtk.FontSelectionDialog", "kind" : "import", "line" : 115, "char" : 15 }, { "name" : "gtk.Frame", "kind" : "import", "line" : 116, "char" : 15 }, { "name" : "gtk.FrameAccessible", "kind" : "import", "line" : 117, "char" : 15 }, { "name" : "gtk.Gesture", "kind" : "import", "line" : 118, "char" : 15 }, { "name" : "gtk.GestureDrag", "kind" : "import", "line" : 119, "char" : 15 }, { "name" : "gtk.GestureLongPress", "kind" : "import", "line" : 120, "char" : 15 }, { "name" : "gtk.GestureMultiPress", "kind" : "import", "line" : 121, "char" : 15 }, { "name" : "gtk.GesturePan", "kind" : "import", "line" : 122, "char" : 15 }, { "name" : "gtk.GestureRotate", "kind" : "import", "line" : 123, "char" : 15 }, { "name" : "gtk.GestureSingle", "kind" : "import", "line" : 124, "char" : 15 }, { "name" : "gtk.GestureSwipe", "kind" : "import", "line" : 125, "char" : 15 }, { "name" : "gtk.GestureZoom", "kind" : "import", "line" : 126, "char" : 15 }, { "name" : "gtk.GLArea", "kind" : "import", "line" : 127, "char" : 15 }, { "name" : "gtk.Gradient", "kind" : "import", "line" : 128, "char" : 15 }, { "name" : "gtk.Grid", "kind" : "import", "line" : 129, "char" : 15 }, { "name" : "gtk.HandleBox", "kind" : "import", "line" : 130, "char" : 15 }, { "name" : "gtk.HBox", "kind" : "import", "line" : 131, "char" : 15 }, { "name" : "gtk.HButtonBox", "kind" : "import", "line" : 132, "char" : 15 }, { "name" : "gtk.HeaderBar", "kind" : "import", "line" : 133, "char" : 15 }, { "name" : "gtk.HPaned", "kind" : "import", "line" : 134, "char" : 15 }, { "name" : "gtk.HScale", "kind" : "import", "line" : 135, "char" : 15 }, { "name" : "gtk.HScrollbar", "kind" : "import", "line" : 136, "char" : 15 }, { "name" : "gtk.HSeparator", "kind" : "import", "line" : 137, "char" : 15 }, { "name" : "gtk.HSV", "kind" : "import", "line" : 138, "char" : 15 }, { "name" : "gtk.IconFactory", "kind" : "import", "line" : 139, "char" : 15 }, { "name" : "gtk.IconInfo", "kind" : "import", "line" : 140, "char" : 15 }, { "name" : "gtk.IconSet", "kind" : "import", "line" : 141, "char" : 15 }, { "name" : "gtk.IconSize", "kind" : "import", "line" : 142, "char" : 15 }, { "name" : "gtk.IconSource", "kind" : "import", "line" : 143, "char" : 15 }, { "name" : "gtk.IconTheme", "kind" : "import", "line" : 144, "char" : 15 }, { "name" : "gtk.IconView", "kind" : "import", "line" : 145, "char" : 15 }, { "name" : "gtk.IconViewAccessible", "kind" : "import", "line" : 146, "char" : 15 }, { "name" : "gtk.Image", "kind" : "import", "line" : 147, "char" : 15 }, { "name" : "gtk.ImageAccessible", "kind" : "import", "line" : 148, "char" : 15 }, { "name" : "gtk.ImageCellAccessible", "kind" : "import", "line" : 149, "char" : 15 }, { "name" : "gtk.ImageMenuItem", "kind" : "import", "line" : 150, "char" : 15 }, { "name" : "gtk.IMContext", "kind" : "import", "line" : 151, "char" : 15 }, { "name" : "gtk.IMContextSimple", "kind" : "import", "line" : 152, "char" : 15 }, { "name" : "gtk.IMMulticontext", "kind" : "import", "line" : 153, "char" : 15 }, { "name" : "gtk.InfoBar", "kind" : "import", "line" : 154, "char" : 15 }, { "name" : "gtk.Invisible", "kind" : "import", "line" : 155, "char" : 15 }, { "name" : "gtk.Label", "kind" : "import", "line" : 156, "char" : 15 }, { "name" : "gtk.LabelAccessible", "kind" : "import", "line" : 157, "char" : 15 }, { "name" : "gtk.Layout", "kind" : "import", "line" : 158, "char" : 15 }, { "name" : "gtk.LevelBar", "kind" : "import", "line" : 159, "char" : 15 }, { "name" : "gtk.LevelBarAccessible", "kind" : "import", "line" : 160, "char" : 15 }, { "name" : "gtk.LinkButton", "kind" : "import", "line" : 161, "char" : 15 }, { "name" : "gtk.LinkButtonAccessible", "kind" : "import", "line" : 162, "char" : 15 }, { "name" : "gtk.ListBox", "kind" : "import", "line" : 163, "char" : 15 }, { "name" : "gtk.ListBoxAccessible", "kind" : "import", "line" : 164, "char" : 15 }, { "name" : "gtk.ListBoxRow", "kind" : "import", "line" : 165, "char" : 15 }, { "name" : "gtk.ListBoxRowAccessible", "kind" : "import", "line" : 166, "char" : 15 }, { "name" : "gtk.ListStore", "kind" : "import", "line" : 167, "char" : 15 }, { "name" : "gtk.LockButton", "kind" : "import", "line" : 168, "char" : 15 }, { "name" : "gtk.LockButtonAccessible", "kind" : "import", "line" : 169, "char" : 15 }, { "name" : "gtk.Main", "kind" : "import", "line" : 170, "char" : 15 }, { "name" : "gtk.MainWindow", "kind" : "import", "line" : 171, "char" : 15 }, { "name" : "gtk.Menu", "kind" : "import", "line" : 172, "char" : 15 }, { "name" : "gtk.MenuAccessible", "kind" : "import", "line" : 173, "char" : 15 }, { "name" : "gtk.MenuBar", "kind" : "import", "line" : 174, "char" : 15 }, { "name" : "gtk.MenuButton", "kind" : "import", "line" : 175, "char" : 15 }, { "name" : "gtk.MenuButtonAccessible", "kind" : "import", "line" : 176, "char" : 15 }, { "name" : "gtk.MenuItem", "kind" : "import", "line" : 177, "char" : 15 }, { "name" : "gtk.MenuItemAccessible", "kind" : "import", "line" : 178, "char" : 15 }, { "name" : "gtk.MenuShell", "kind" : "import", "line" : 179, "char" : 15 }, { "name" : "gtk.MenuShellAccessible", "kind" : "import", "line" : 180, "char" : 15 }, { "name" : "gtk.MenuToolButton", "kind" : "import", "line" : 181, "char" : 15 }, { "name" : "gtk.MessageDialog", "kind" : "import", "line" : 182, "char" : 15 }, { "name" : "gtk.Misc", "kind" : "import", "line" : 183, "char" : 15 }, { "name" : "gtk.ModelButton", "kind" : "import", "line" : 184, "char" : 15 }, { "name" : "gtk.MountOperation", "kind" : "import", "line" : 185, "char" : 15 }, { "name" : "gtk.NativeDialog", "kind" : "import", "line" : 186, "char" : 15 }, { "name" : "gtk.Notebook", "kind" : "import", "line" : 187, "char" : 15 }, { "name" : "gtk.NotebookAccessible", "kind" : "import", "line" : 188, "char" : 15 }, { "name" : "gtk.NotebookPageAccessible", "kind" : "import", "line" : 189, "char" : 15 }, { "name" : "gtk.NumerableIcon", "kind" : "import", "line" : 190, "char" : 15 }, { "name" : "gtk.OffscreenWindow", "kind" : "import", "line" : 191, "char" : 15 }, { "name" : "gtk.OrientableIF", "kind" : "import", "line" : 192, "char" : 15 }, { "name" : "gtk.OrientableT", "kind" : "import", "line" : 193, "char" : 15 }, { "name" : "gtk.Overlay", "kind" : "import", "line" : 194, "char" : 15 }, { "name" : "gtk.PadController", "kind" : "import", "line" : 195, "char" : 15 }, { "name" : "gtk.PageSetup", "kind" : "import", "line" : 196, "char" : 15 }, { "name" : "gtk.Paned", "kind" : "import", "line" : 197, "char" : 15 }, { "name" : "gtk.PanedAccessible", "kind" : "import", "line" : 198, "char" : 15 }, { "name" : "gtk.PaperSize", "kind" : "import", "line" : 199, "char" : 15 }, { "name" : "gtk.PlacesSidebar", "kind" : "import", "line" : 200, "char" : 15 }, { "name" : "gtk.Plug", "kind" : "import", "line" : 201, "char" : 15 }, { "name" : "gtk.Popover", "kind" : "import", "line" : 202, "char" : 15 }, { "name" : "gtk.PopoverAccessible", "kind" : "import", "line" : 203, "char" : 15 }, { "name" : "gtk.PopoverMenu", "kind" : "import", "line" : 204, "char" : 15 }, { "name" : "gtk.PopupBox", "kind" : "import", "line" : 205, "char" : 15 }, { "name" : "gtk.PrintContext", "kind" : "import", "line" : 206, "char" : 15 }, { "name" : "gtk.PrintOperation", "kind" : "import", "line" : 207, "char" : 15 }, { "name" : "gtk.PrintOperationPreview", "kind" : "import", "line" : 208, "char" : 15 }, { "name" : "gtk.PrintOperationPreviewIF", "kind" : "import", "line" : 209, "char" : 15 }, { "name" : "gtk.PrintOperationPreviewT", "kind" : "import", "line" : 210, "char" : 15 }, { "name" : "gtk.PrintSettings", "kind" : "import", "line" : 211, "char" : 15 }, { "name" : "gtk.ProgressBar", "kind" : "import", "line" : 212, "char" : 15 }, { "name" : "gtk.ProgressBarAccessible", "kind" : "import", "line" : 213, "char" : 15 }, { "name" : "gtk.RadioAction", "kind" : "import", "line" : 214, "char" : 15 }, { "name" : "gtk.RadioButton", "kind" : "import", "line" : 215, "char" : 15 }, { "name" : "gtk.RadioButtonAccessible", "kind" : "import", "line" : 216, "char" : 15 }, { "name" : "gtk.RadioMenuItem", "kind" : "import", "line" : 217, "char" : 15 }, { "name" : "gtk.RadioMenuItemAccessible", "kind" : "import", "line" : 218, "char" : 15 }, { "name" : "gtk.RadioToolButton", "kind" : "import", "line" : 219, "char" : 15 }, { "name" : "gtk.Range", "kind" : "import", "line" : 220, "char" : 15 }, { "name" : "gtk.RangeAccessible", "kind" : "import", "line" : 221, "char" : 15 }, { "name" : "gtk.RcProperty", "kind" : "import", "line" : 222, "char" : 15 }, { "name" : "gtk.RcStyle", "kind" : "import", "line" : 223, "char" : 15 }, { "name" : "gtk.RecentAction", "kind" : "import", "line" : 224, "char" : 15 }, { "name" : "gtk.RecentChooserDialog", "kind" : "import", "line" : 225, "char" : 15 }, { "name" : "gtk.RecentChooserIF", "kind" : "import", "line" : 226, "char" : 15 }, { "name" : "gtk.RecentChooserMenu", "kind" : "import", "line" : 227, "char" : 15 }, { "name" : "gtk.RecentChooserT", "kind" : "import", "line" : 228, "char" : 15 }, { "name" : "gtk.RecentChooserWidget", "kind" : "import", "line" : 229, "char" : 15 }, { "name" : "gtk.RecentFilter", "kind" : "import", "line" : 230, "char" : 15 }, { "name" : "gtk.RecentInfo", "kind" : "import", "line" : 231, "char" : 15 }, { "name" : "gtk.RecentManager", "kind" : "import", "line" : 232, "char" : 15 }, { "name" : "gtk.RendererCellAccessible", "kind" : "import", "line" : 233, "char" : 15 }, { "name" : "gtk.Requisition", "kind" : "import", "line" : 234, "char" : 15 }, { "name" : "gtk.Revealer", "kind" : "import", "line" : 235, "char" : 15 }, { "name" : "gtk.Scale", "kind" : "import", "line" : 236, "char" : 15 }, { "name" : "gtk.ScaleAccessible", "kind" : "import", "line" : 237, "char" : 15 }, { "name" : "gtk.ScaleButton", "kind" : "import", "line" : 238, "char" : 15 }, { "name" : "gtk.ScaleButtonAccessible", "kind" : "import", "line" : 239, "char" : 15 }, { "name" : "gtk.ScrollableIF", "kind" : "import", "line" : 240, "char" : 15 }, { "name" : "gtk.ScrollableT", "kind" : "import", "line" : 241, "char" : 15 }, { "name" : "gtk.Scrollbar", "kind" : "import", "line" : 242, "char" : 15 }, { "name" : "gtk.ScrolledWindow", "kind" : "import", "line" : 243, "char" : 15 }, { "name" : "gtk.ScrolledWindowAccessible", "kind" : "import", "line" : 244, "char" : 15 }, { "name" : "gtk.SearchBar", "kind" : "import", "line" : 245, "char" : 15 }, { "name" : "gtk.SearchEntry", "kind" : "import", "line" : 246, "char" : 15 }, { "name" : "gtk.SelectionData", "kind" : "import", "line" : 247, "char" : 15 }, { "name" : "gtk.Separator", "kind" : "import", "line" : 248, "char" : 15 }, { "name" : "gtk.SeparatorMenuItem", "kind" : "import", "line" : 249, "char" : 15 }, { "name" : "gtk.SeparatorToolItem", "kind" : "import", "line" : 250, "char" : 15 }, { "name" : "gtk.Settings", "kind" : "import", "line" : 251, "char" : 15 }, { "name" : "gtk.ShortcutLabel", "kind" : "import", "line" : 252, "char" : 15 }, { "name" : "gtk.ShortcutsGroup", "kind" : "import", "line" : 253, "char" : 15 }, { "name" : "gtk.ShortcutsSection", "kind" : "import", "line" : 254, "char" : 15 }, { "name" : "gtk.ShortcutsShortcut", "kind" : "import", "line" : 255, "char" : 15 }, { "name" : "gtk.ShortcutsWindow", "kind" : "import", "line" : 256, "char" : 15 }, { "name" : "gtk.SizeGroup", "kind" : "import", "line" : 257, "char" : 15 }, { "name" : "gtk.Socket", "kind" : "import", "line" : 258, "char" : 15 }, { "name" : "gtk.SpinButton", "kind" : "import", "line" : 259, "char" : 15 }, { "name" : "gtk.SpinButtonAccessible", "kind" : "import", "line" : 260, "char" : 15 }, { "name" : "gtk.Spinner", "kind" : "import", "line" : 261, "char" : 15 }, { "name" : "gtk.SpinnerAccessible", "kind" : "import", "line" : 262, "char" : 15 }, { "name" : "gtk.Stack", "kind" : "import", "line" : 263, "char" : 15 }, { "name" : "gtk.StackAccessible", "kind" : "import", "line" : 264, "char" : 15 }, { "name" : "gtk.StackSidebar", "kind" : "import", "line" : 265, "char" : 15 }, { "name" : "gtk.StackSwitcher", "kind" : "import", "line" : 266, "char" : 15 }, { "name" : "gtk.Statusbar", "kind" : "import", "line" : 267, "char" : 15 }, { "name" : "gtk.StatusbarAccessible", "kind" : "import", "line" : 268, "char" : 15 }, { "name" : "gtk.StatusIcon", "kind" : "import", "line" : 269, "char" : 15 }, { "name" : "gtk.StockItem", "kind" : "import", "line" : 270, "char" : 15 }, { "name" : "gtk.Style", "kind" : "import", "line" : 271, "char" : 15 }, { "name" : "gtk.StyleContext", "kind" : "import", "line" : 272, "char" : 15 }, { "name" : "gtk.StyleProperties", "kind" : "import", "line" : 273, "char" : 15 }, { "name" : "gtk.StyleProviderIF", "kind" : "import", "line" : 274, "char" : 15 }, { "name" : "gtk.StyleProviderT", "kind" : "import", "line" : 275, "char" : 15 }, { "name" : "gtk.Switch", "kind" : "import", "line" : 276, "char" : 15 }, { "name" : "gtk.SwitchAccessible", "kind" : "import", "line" : 277, "char" : 15 }, { "name" : "gtk.SymbolicColor", "kind" : "import", "line" : 278, "char" : 15 }, { "name" : "gtk.Table", "kind" : "import", "line" : 279, "char" : 15 }, { "name" : "gtk.TargetEntry", "kind" : "import", "line" : 280, "char" : 15 }, { "name" : "gtk.TargetList", "kind" : "import", "line" : 281, "char" : 15 }, { "name" : "gtk.TearoffMenuItem", "kind" : "import", "line" : 282, "char" : 15 }, { "name" : "gtk.Testing", "kind" : "import", "line" : 283, "char" : 15 }, { "name" : "gtk.TextAttributes", "kind" : "import", "line" : 284, "char" : 15 }, { "name" : "gtk.TextBuffer", "kind" : "import", "line" : 285, "char" : 15 }, { "name" : "gtk.TextCellAccessible", "kind" : "import", "line" : 286, "char" : 15 }, { "name" : "gtk.TextChildAnchor", "kind" : "import", "line" : 287, "char" : 15 }, { "name" : "gtk.TextIter", "kind" : "import", "line" : 288, "char" : 15 }, { "name" : "gtk.TextMark", "kind" : "import", "line" : 289, "char" : 15 }, { "name" : "gtk.TextTag", "kind" : "import", "line" : 290, "char" : 15 }, { "name" : "gtk.TextTagTable", "kind" : "import", "line" : 291, "char" : 15 }, { "name" : "gtk.TextView", "kind" : "import", "line" : 292, "char" : 15 }, { "name" : "gtk.TextViewAccessible", "kind" : "import", "line" : 293, "char" : 15 }, { "name" : "gtk.ThemingEngine", "kind" : "import", "line" : 294, "char" : 15 }, { "name" : "gtk.ToggleAction", "kind" : "import", "line" : 295, "char" : 15 }, { "name" : "gtk.ToggleButton", "kind" : "import", "line" : 296, "char" : 15 }, { "name" : "gtk.ToggleButtonAccessible", "kind" : "import", "line" : 297, "char" : 15 }, { "name" : "gtk.ToggleToolButton", "kind" : "import", "line" : 298, "char" : 15 }, { "name" : "gtk.Toolbar", "kind" : "import", "line" : 299, "char" : 15 }, { "name" : "gtk.ToolButton", "kind" : "import", "line" : 300, "char" : 15 }, { "name" : "gtk.ToolItem", "kind" : "import", "line" : 301, "char" : 15 }, { "name" : "gtk.ToolItemGroup", "kind" : "import", "line" : 302, "char" : 15 }, { "name" : "gtk.ToolPalette", "kind" : "import", "line" : 303, "char" : 15 }, { "name" : "gtk.ToolShellIF", "kind" : "import", "line" : 304, "char" : 15 }, { "name" : "gtk.ToolShellT", "kind" : "import", "line" : 305, "char" : 15 }, { "name" : "gtk.Tooltip", "kind" : "import", "line" : 306, "char" : 15 }, { "name" : "gtk.ToplevelAccessible", "kind" : "import", "line" : 307, "char" : 15 }, { "name" : "gtk.TreeDragDestIF", "kind" : "import", "line" : 308, "char" : 15 }, { "name" : "gtk.TreeDragDestT", "kind" : "import", "line" : 309, "char" : 15 }, { "name" : "gtk.TreeDragSourceIF", "kind" : "import", "line" : 310, "char" : 15 }, { "name" : "gtk.TreeDragSourceT", "kind" : "import", "line" : 311, "char" : 15 }, { "name" : "gtk.TreeIter", "kind" : "import", "line" : 312, "char" : 15 }, { "name" : "gtk.TreeIterError", "kind" : "import", "line" : 313, "char" : 15 }, { "name" : "gtk.TreeModel", "kind" : "import", "line" : 314, "char" : 15 }, { "name" : "gtk.TreeModelFilter", "kind" : "import", "line" : 315, "char" : 15 }, { "name" : "gtk.TreeModelIF", "kind" : "import", "line" : 316, "char" : 15 }, { "name" : "gtk.TreeModelSort", "kind" : "import", "line" : 317, "char" : 15 }, { "name" : "gtk.TreeModelT", "kind" : "import", "line" : 318, "char" : 15 }, { "name" : "gtk.TreeNode", "kind" : "import", "line" : 319, "char" : 15 }, { "name" : "gtk.TreePath", "kind" : "import", "line" : 320, "char" : 15 }, { "name" : "gtk.TreeRowReference", "kind" : "import", "line" : 321, "char" : 15 }, { "name" : "gtk.TreeSelection", "kind" : "import", "line" : 322, "char" : 15 }, { "name" : "gtk.TreeSortableIF", "kind" : "import", "line" : 323, "char" : 15 }, { "name" : "gtk.TreeSortableT", "kind" : "import", "line" : 324, "char" : 15 }, { "name" : "gtk.TreeStore", "kind" : "import", "line" : 325, "char" : 15 }, { "name" : "gtk.TreeView", "kind" : "import", "line" : 326, "char" : 15 }, { "name" : "gtk.TreeViewAccessible", "kind" : "import", "line" : 327, "char" : 15 }, { "name" : "gtk.TreeViewColumn", "kind" : "import", "line" : 328, "char" : 15 }, { "name" : "gtk.UIManager", "kind" : "import", "line" : 329, "char" : 15 }, { "name" : "gtk.VBox", "kind" : "import", "line" : 330, "char" : 15 }, { "name" : "gtk.VButtonBox", "kind" : "import", "line" : 331, "char" : 15 }, { "name" : "gtk.Version", "kind" : "import", "line" : 332, "char" : 15 }, { "name" : "gtk.Viewport", "kind" : "import", "line" : 333, "char" : 15 }, { "name" : "gtk.VolumeButton", "kind" : "import", "line" : 334, "char" : 15 }, { "name" : "gtk.VPaned", "kind" : "import", "line" : 335, "char" : 15 }, { "name" : "gtk.VScale", "kind" : "import", "line" : 336, "char" : 15 }, { "name" : "gtk.VScrollbar", "kind" : "import", "line" : 337, "char" : 15 }, { "name" : "gtk.VSeparator", "kind" : "import", "line" : 338, "char" : 15 }, { "name" : "gtk.Widget", "kind" : "import", "line" : 339, "char" : 15 }, { "name" : "gtk.WidgetAccessible", "kind" : "import", "line" : 340, "char" : 15 }, { "name" : "gtk.WidgetClass", "kind" : "import", "line" : 341, "char" : 15 }, { "name" : "gtk.WidgetPath", "kind" : "import", "line" : 342, "char" : 15 }, { "name" : "gtk.Window", "kind" : "import", "line" : 343, "char" : 15 }, { "name" : "gtk.WindowAccessible", "kind" : "import", "line" : 344, "char" : 15 }, { "name" : "gtk.WindowGroup", "kind" : "import", "line" : 345, "char" : 15 } ] },
Jul 12
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 13.07.2017 01:55, FoxyBrown wrote:
 On Tuesday, 11 July 2017 at 07:16:33 UTC, Rainer Schuetze wrote:
 On 07.07.2017 19:23, FoxyBrown wrote:
 Hi, I get no intellisense with visual d when using gtk.

 I use a file that imports all of gtk, like so:


 module gtk.All;

 public import gtk.AboutDialog;
 ...
 public import gtk.WindowGroup;

 then I use

 import gtk = gtk.All

 but when using

 gtk.
 or gtk.WindowGroup.

 or somegtkWidget.

 no intellisense ever appears or it appears with only the basic object 
 elements.


 This makes it very hard to navigate through gtk as I am unfamiliar 
 with most of the nomenclature.

 Is there any way to get VisualD to properly show the intellisense for 
 these objects and modules? Even if necessarily having to specify 
 direct inclusion.

 If I just do

 gtk.gtk.gtk.gtk.gtk.gtk.gtk....

 in an empty d file it goes on and on always listing the same 
 intellisense. Changing things like gtk.gtkd.gtk.gtkd.... doesnt 
 change the results.

 The intellisense listed is ByRecord, Error, Exception, File, 
 Interface, etc. I do not think they are part of gtk.
AFAICT the completion has problems with public imports in imported modules: they don't add any symbols. This should be fixed in https://github.com/dlang/visuald/releases/tag/v0.45.0-rc1
 In any case, it clearly isn't working and there doesn't seem to be 
 any way to correct it. It would be nice if we could precompile 
 intellisense data from a set of modules(e.g., specify that it build 
 an intellisense database from a directory recursively... probably 
 would be faster too). Phobos, gtk, and other libraries generally do 
 not change often enough that it should work well.
If you let the compiler generate JSON data for your project (see language options), Visual D can add the contained symbols to the completion lists. You can also add precompiled JSON files (see global options). This doesn't use any scope information, though, so the list can grow enormously. One of the biggest issues I seem to have with
 Visual D is intellisense not really working correctly, if it works at 
 all, but this isn't a hard problem, is it?
You bet it is ;-) It needs to rebuild the compiler front end, just being more friendly regarding error recovery and incremental changes. Visual D uses dparser from the Mono-D project, which still seems the most extensive solution.
No luck. gtk. does nothing intellisense wise. I have all the check boxes checked under language options/intellisense.
It works for me, but takes a couple of seconds to digest all the gtk files. There is no completion before that finishes. I've tried it with a file looking like this: module gtkAll; public import gtk.AboutDialog; public import gtk.AccelGroup; ...
 In the solution.json file, There is this, which only seems to be import 
 modules and enums, no functions are added, maybe that is the problem? I 
 do not have the gtk files in the solution(they are only imported during 
 compilation), do I need to import them in to the solution for everything 
 to work? (
 
 [
   {
    "name" : "gtk.All",
    "kind" : "module",
    "file" : "..\\..\\..\\DLang\\GtkD\\generated\\gtkd\\gtk\\All.d",
    "members" : [
     {
      "name" : "gtk.AboutDialog",
      "kind" : "import",
      "line" : 3,
      "char" : 15
     },
...
    ]
   },
 
The project built JSON file only covers the files actually in the project. You can create a full JSON file with the help of rdmd, e.g. rdmd -X gtkd\gtkAll.d That will likely fail due to object file generation or link errors, but should still build the JSON file.
Jul 12