vs2012编辑vs2017

您所在的位置:网站首页 s5102v2怎么绑定端口 vs2012编辑vs2017

vs2012编辑vs2017

2023-03-28 15:30| 来源: 网络整理| 查看: 265

如何使VS2015/2017的TypeScript支持React

1.安装node,因为ts的编译器是js/ts写的;

安装node后同时获得npm命令,这是nodejs世界里的包管理器(也可以看作node的app商店);

2.安装vs 2015或者vs code,当然这不是必须的,但是这里强烈推荐写ts的工具,vs第一,vsc第二;

3.vs自带了TypeScript(vs2012+,vs2015update1自带了ts1.7),最新版本的typescript for vs去官网下载即可, 或者如果不依赖vs(比如mac环境), 可以用命令行装ts编译器

npm i -g typescript@next

4. 安装了ts后, 就会有2个命令可用:tsc和tsd, tsc用来编译TypeScript代码, tsd用来下载第三方js类库的ts定义文件(或者叫头文件),熟练使用tsd,工作效率提升,因为减少了80%查文档的时间,所以写ts可以说是jser打通了任督二脉,上手任何新的开发环境都很快;

5. 命令行下载react的ts头文件,

tsd install react-global --save

注意上面之所以写 react-global 而不是react, 因为我们接下来使用比较原始的写法,直接把React当作全局对象使用, 而不作为es6模块(必须用import引入),不需要Babel编译也不需要webpack打包;

上面执行的tsd命令下载了ReactJS类库的头文件, 下面用tsc命令创建一个ts项目配置文件

tsc --init

命令创建了tsconfig.json配置文件, 打开该文件

增加"jsx": "react", 就是自动把tsx变成最终的js, 而不是jsx

把"outDir": "built", 这行去掉,这样编译的文件就会在当前目录输出

"target": "es5", 这里es3改成es5,

"watch": true 是否监听文件修改 如果你用的是vs,这行不重要

6.下载reactjs文件,如果没有安装bower命令,可以手动去官网下载react类库

bower install --save react

7.以上环境配置好了, 开始写代码:

创建一个demo.tsx文件(注意这里是tsx, 不是ts也不是jsx)

创建一个demo.html, 添加文件的引用

!doctype html

html

head

script src="bower_components/react/react.min.js"/script

script src="bower_components/react/react-dom.min.js"/script

script src="demo.js"/script

/head

body

/body

/html

8. demo.tsx 写代码

class MyClass extends React.Componentany, any {

render() {

return h1hello {this.props.name}/h1;

}

}

document.addEventListener('DOMContentLoaded', function () {

ReactDOM.render(MyClass name="Tom" /, document.body);

});

9. 如果保存了demo.tsx后, 没有在目录下发现自动编译了demo.js, 那么可能是vs没配置好,如果你没有装vs或者vsc,没关系,在当前文件夹下命令行运行

tsc

tsc命令会自动根据tsconfig.json里面配置的情况, 自动帮你把代码编译成js, 这是编译后的js文件

10. 打开demo.html可以看到效果了;

11. 至于题主说怎么学习, 其实跟JS完全没两样, 上面demo.tsx的代码, 跟react官网的es6写法一模一样多了any,any 这两个prop和states类型约束, 仅此而已;11. 至于题主说怎么学习, 其实跟JS完全没两样, 上面demo.tsx的代码, 跟react官网的es6写法一模一样多了any,any 这两个prop和states类型约束, 仅此而已;

12. 下班, 有空再写;

------时间分割------

13、继续写,对1-12进行润色,转入传教模式;

以上的代码,工厂方法在创建子类的同时,做了一些初始化的动作,这与单纯的原型继承不同,所以在使用class方式进行子类继承,这样的写法是无效的;

class MyView extends React.Component {

render() {

return h1hello {this.state.name}/h1; //会抛异常,因为state是null

}

//不起作用的

getInitialState:(){

return {name:'',age:20};

}

}

需要改成如下方式,下面是官网给出的方案(这里TypeScript和ES6情况是一样的)

class MyView extends React.Component {

constructor(props, context) {

super(props, context);

this.state = {

name: '',

};

}

render() {

return h1hello {this.state.name}/h1;

}

}

16、当组件化遇到强类型:

从前写JS组件,一般复用性比较差,基本写完就仍,原因如下:

1)暴露了太多的Dom结构以及别的实现细节;

2)命名挫,缺乏可记忆性,本身编程中变量和方法的命名对于码农来说就是天坑;

3)JS天生缺乏私有和公共成员的约束,不加注释根本不知道怎么使用该类库/组件;

React解决了把dom标签暴露出去的问题,TS则解决了语言层面的问题,并提供了强大的重构能力,你根本不需要记住组件的API,因为工具会列出来;

如何修改vs2012的解决方案文件

今天要用VS2010打开VS2013,一直觉得VS2010到VS2012只是界面上扁平化的改变,平台工具集有改变但很大程度上可能向上兼容。在网上搜了一些文章,其中有一篇说到一个观点:

从VS2010开始,VS使用统一的.sln作为解决方案文件,到目前为止,每个版本的升级只是平台工具集的升级和优化,而解决方案是完全兼容的。你可以用VS2013打开VS2010生成的解决方案,也可以用VS2010打开更高版本的VS2013生成解决方案

我的理解是,从VS2010开始,不再制作专有的文件格式,这只是一个xml格式的文本文件,其中决定了解决方案的平台工具集和VS版本。既然.sln只是个文本文件,重新设定其中指定的VS版本和平台工具集,也许可以用低版本打开高版本的解决方案。

那么就来尝试用vs2010来打开vs2013,以下是我的尝试记录,尝试中发现除了修改.sln后可以用vs2010打开vs2013,但还要修改项目的平台工具集以保证最好的兼容。

(1)直接打开

用VS2010打开VS2013生成的文件,产生如上提示。

选取一个vs2013的解决方案文件.sln,以文本文档方式打开它。(我用的是sublime text 2,我认为是款代替记事本的不错工具,性感而小巧。有人从Notapad+转为用它,自有其价值吧。)

在文件开头我们可以看到一些关键信息:

Format Version 12.00

VisualStudioVersion = 12.0.21005.1

MinimumVisualStudioVersion = 10.0.40219.1

表明该.sln生成的格式版本是12.00(vs2013),vs版本是12.0.21005.1(vs2013),最小兼容版本是10.0.40219.1(vs2010)。

那也许把该解决方案改成10.0.40219.1以上都行吧?

【版本区别】

像我这样的新手请注意这里,Version 12.00意味着版本为vs2013而非vs2012,本文末最后已总结了vs版本中的该现象。下一步中改Format Version 为11.00而非10.00

(2)修改.sln文件。

(3)重新打开

用VS2010打开修改后的解决方案文件,成功打开。

(4)编译

我想起vs2012和vs2010的平台工具集不一致,vs2012是v110,vs2010是v100,vs2013则是v120。我想先不去项目文件里查看,也许在加载解决方案的时候vs已经重置了平台工具集?于是尝试①直接编译。

编译失败,因为结果平台工具集未重置,本机上没有vs2013,找不到v120的平台工具集。同时,注意到,有“项目文件包含ToolsVersion="12.0" 设置……将项目视为具有ToolsVersion="4.0" 设置”。这似乎是.Net的工具版本号,不修改的话会自动兼容。

②手动修改之平台工具集版本,编译看能否运行。

改为

③编译通过,运行成功。同时,ToolsVersion的版本号是被视为4.0了。

④去查找对应ToolsVersion的项目文件,修改之。

改为

重新编译,未报错。

⑤综合以上,该该项目已经实现从VS2013到VS2010的迁移。

【总结】

低版本VS打开高版本一般要修改的地方。

1、.sln文件中指定的VS版本号和平台工具集

2、修改项目文件中的平台工具集(v4.0→v12.0)

3、其它。

上述“其它”,主要指在配置中与环境变量有关的因版本改变而导致的路径改变,比如vs2010中的部分lib在 VS 安装目录下的 Microsoft SDKs\v7.x 中,在vs2012以后转移到了 VS 安装目录下的Windows Kits中VS 安装目录。注意区别。

转载,仅供参考,祝你愉快,满意请采纳。

我卸载vs2012再安装vs2017失败了怎么办

完全卸载可以参考如下两种方法:方法一:工具卸载下载MicrosoftVisualStudio2010UninstallUtility来移除,默认情况下,这将删除VisualStudio和支持组件,但不会删除与计算机上的其他应用程序共享的组件。若还要删除共享的组件,则通过

使用vs2017如何进行systemc 编程

一、编译System库

下载SystemC library source code

下载SystemC library,目前的版本是systemc 2.3.1

以SystemC 2.3.1为例,下载后的文件名喂systemc-2.3.1.tgz,解压到工作目录下:...(个人的工作目录路径)systemcsystemc-2.3.1

打开....systemcsystemc-2.3.1msvc80SystemC目录下的SystemC.sln

systemC的软件开发环境篇

VS2012 "生成(Build英文)"--“生成解决方案(Build Solution)”,生成SystemC.lib文件。

systemC的软件开发环境篇

如果编译成功的话(忽略那些Warning)。

在..systemcsystemc-2.3.1msvc80SystemCdebug目录下就生成了SystemC.lib

PS:编译systemc-2.3.0会遇到以下问题:

systemC的软件开发环境篇

VS2012在编译时会遇到这样的问题:fatal error C1189: #error : The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.导致生成库不成功,

解决方案是:工程项目SystemC处右键Properties - configuration Properties -C/C++ - Preprocessor - Preprocessor Definitions 添加_XKEYCHECK_H。

systemC的软件开发环境篇

systemC的软件开发环境篇

然后就可以编译通过了

二、新建SystemC工程,并配置项目属性

有了编译的SystemC.lib库,我们就可以在vs2012配置我们的systemc工程属性了

新建项目,win32控制台应用程序,控制台应用程序设置时选择“空项目”。

添加.cpp源文件与.h头文件。

以下是一个简单地hello systemC的程序 功能是打印三行语句

Hello,SystemC!

by Eagleson

by Eagleson2016-01-12

源代码如下

//main.c

#include

#include "hello.h"

int sc_main(int, char**){

hello h("hello");

system("pause");

return 0;

}

//hello.h

#ifndef _HELLO_H

#define _HELLO_H

#include "systemc.h"

#include

#include

using namespace std;

void print1(string name){

name = name + "2016-01-12";

cout

}

SC_MODULE(hello)

{

SC_CTOR(hello)

{

cout"Hello,SystemC!"

string str;

str="by Eagleson";

cout

print1(str);

}

};

#endif

添加源文件后进行项目属性设置。

C/C++→常规→附加包含目录 (..systemc-2.3.1src)

systemC的软件开发环境篇

C/C++ →语言→启用运行时类型信息→是

systemC的软件开发环境篇

C/C++→代码生成→运行库→多线程调试(/MTd)

systemC的软件开发环境篇

C/C++→ 命令行→其它选项 加上/vmg

systemC的软件开发环境篇

Linker →常规→附加目录库 (..systemc-2.3.1msvc80SystemCDebug)

systemC的软件开发环境篇

Linker →输入→附加依赖库(SystemC.lib)

systemC的软件开发环境篇

C/C++→所有选项→警告等级 等级1(/W1)

systemC的软件开发环境篇

上述属性设置在每次建立SystemC工程时都需要设置。若想免去每次都设置的麻烦可通过以下方法。

View--Property Manager 在左侧会有属性窗口打开。展开树形找到“Microsoft.Cpp.Win32.user”,双击之后就可以设置所有项目的属性了。

systemC的软件开发环境篇

三、编译、调试程序

systemC的软件开发环境篇

与我们预期的结果是一致的。

SystemC基于VS2012的软件平台搭建到这里就完成了。有了这个平台环境,后面的语法学习和练习就不只是纸上谈兵了。

VS2017 中Intellisense没有用途提示?

ntellisense 不可用于c++/cli? 用VS2010写C++/CLI程序,居然提示:IntelliSense 不可用于c++/cli? 在VS2008中写C++/CLI程序,IntelliSense 可用于c++/cli! 在网上找出一段文章,是比较完整的介绍vs2010(vc)中的IntelliSense

[img]安装了vs2017后还可以安装vs2012吗

1.错误提示中,显示缺少.net framework4.5,并给出了下载地址,于是,我以为是卸载VS2017时把这个东西给卸了,所以安装提示提示地址重新下载了,安装时却显示,已经安装.net frameword4.5.这我就费解了,明明有,为什么VS2012打开项目却提示没有。

2.查了一番,多没有给出具体答案,后来给句网络答案猜测,VS2012一直识别的.net frameword可能一直都是VS2017,这VS2017一卸,他可就找不到了。

3.解决办法:又卸载了VS2012.然后又重新安装了VS2012.

4.提示:因项目原因,我又需要使用VS2017了,所以,这个时候安装顺序应该是先安装VS2017,在安装VS2012.

5.原因:版本之间存在一定的影响,兼容性还不是很好。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3