Вы можете обернуть данные в классы JavaScript, например:
var someJson = { foo: 'foo', bar: 'bar' };
var MyClass = function(foo, bar) { this.foo = foo; this.bar = bar; }
MyClass.prototype = {
foo: '',
bar: ''
};
var someObj = new MyClass(someJson.foo, someJson.bar);
Я не знаю о Visual Studio, но IntelliJ IDEA и Aptana должны иметь возможность автоматически завершать подобные структуры.
Это также во многом зависит от того, может ли среда IDE определить тип переменной откуда-либо. Если вы передаете какой-либо объект в качестве параметра функции, IDE может не определить тип этого типа. Этому обычно может помочь подсказка типа в комментарии стиля JsDoc или что-то подобное.
Это действительно те проблемы, которые требуют либо подсказок JsDoc, либо умных предположений IDE. По моему опыту, IntelliJ делает лучшую работу в этом.